UNRAID LXC 安装MosDNS

看到这个标题,很多小伙伴,可能会好奇?明明有Docker版本的MosDNS,为什么还需要在LXC内再去运行MosDNS所以这里我解释一下,这么做的两个原因。

  1. UNRAID的Macvlan以及ipvlan都有一个很严重的bug,有一定概率,会出现与宿主机通讯问题,这就导致其他docker实用bridge和host无法与dns通讯导致网络问题。
  2. UNRAID的docker启动顺序偏后,导致部分容器启动后需要请求网络尤其是需要用key授权的应用,会在启动时无法解析,导致程序启动失败。

以上两种问题,在UNRAID上是比较头疼的,虽然UNRAID做了macvlan和ipvlan的访问宿主机ip的配置,但是这个配置会有一定概率故障,导致实用途中无法与宿主机ip通讯的问题,但是lxc容器却没这个问题,而且UNRAID的lxc启动顺序要早于Docker,所以lxc下搭建Mosdns是一个很不错的选择。

教程:

在教程之前,需要在UNRAID上安装LXC插件,插件安装教程点下面传送门进行安装。

[ri-post id=”55793″ thumb=”left”]

插件界面内点Add LXC Container 简单配置一下容器。

图片[1]-UNRAID LXC 安装MosDNS-RSG-人生观进入,MosDNS的Terminal命令窗口。

图片[2]-UNRAID LXC 安装MosDNS-RSG-人生观

进入命令后,我们使用下面命令配置LXC。

升级源

apt-get update -y

安装需要的软件

apt-get install curl wget git cron unzip nano -y

修改时区

ls -l /etc/localtime
timedatectl set-timezone Asia/Shanghai

去掉debian系统53端口占用

nano /etc/systemd/resolved.conf
修改内容将#DNSStubListener=yes 去掉# yes改为no
图片[3]-UNRAID LXC 安装MosDNS-RSG-人生观

Ctrl+o保存Ctrl+x推出编辑。

完成编辑后,重启容器

reboot

再次进入Terminal命令,进入root目录

cd /root

获取Mosdns

访问mosdns在GitHub的仓库,获取对应的安装文件。

Release v4.5.3 · IrineSistiana/mosdns · GitHub

在页面找到,符合自己系统和架构的Mosdns文件。

图片[4]-UNRAID LXC 安装MosDNS-RSG-人生观

右键复制链接,使用wget 下载

wget https://github.com/IrineSistiana/mosdns/releases/download/v4.5.3/mosdns-linux-amd64.zip

解压文件

unzip ./mosdns-linux-amd64.zip

复制文件到指定路径

cp -rv ./mosdns /usr/bin
chmod 0777 /usr/bin/mosdns

获取MosDNS配置文件,mosdns配置文件对新手来说,可能不太友好,这里只用一个大佬写好的配置文件,我们直接用就可以了。

项目地址:GitHub – pmkol/easymosdns: 简化Mosdns基本功能使用的辅助脚本,仅需几分钟即可搭建一台支持ECS的无污染DNS服务器

克隆EasyMosdns仓库

cd /etc
git clone https://github.com/pmkol/easymosdns.git
mv ./easymosdns ./mosdns

测试启动

mosdns start -c /etc/mosdns/config.yaml -d /etc/mosdns/

图片[5]-UNRAID LXC 安装MosDNS-RSG-人生观

测试DNS解析

nslookup baidu.com 192.168.1.62 #ip写lxc 插件面板上容器的ip

图片[6]-UNRAID LXC 安装MosDNS-RSG-人生观

测试无问题后,配置mosdns开机启动。

mosdns service install -d /etc/mosdns -c /etc/mosdns/config.yaml

启动mosdns

systemctl start mosdns

检查启动状态

systemctl status mosdns

图片[7]-UNRAID LXC 安装MosDNS-RSG-人生观

额外注意事项:

如果是内网搭建mosdns,请关闭ecs,在mosdns启动后使用命令关闭ecs,公网部署可以不需要此步骤!

/etc/mosdns/tools/ecs-off

启动自动更新配置:

因为配置信息中的列表是需要定时更新的,这里我们用cron 进行自定更新

crontab -e

输入crontab -e ,会提示编辑器,只提示一次,根据自己的编辑器习惯选择即可,这里演示用的是nano

图片[8]-UNRAID LXC 安装MosDNS-RSG-人生观

所以我这里输入1 然后Enter 就可以了。

在打开的页面内增加定时处理任务的配置

0 5 * * * /etc/mosdns/rules/update-cdn

图片[9]-UNRAID LXC 安装MosDNS-RSG-人生观

执行时间,是每天早晨5点执行,用Ctrl+o保存编辑Ctrl+x退出编辑。

到此教程就结束了,如果遇到程序无法更新,可以考虑是哟个命令增加执行权限。

chmod +x /etc/mosdns/rules/update-cdn

结尾:

mosdns是一个很好用的dns,可以解决一些被污染的dns,搭配小蓝猫也是非常好用的。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 共4条

请登录后发表评论

    请登录后查看评论内容