看到这个标题,很多小伙伴,可能会好奇?明明有Docker版本的MosDNS,为什么还需要在LXC内再去运行MosDNS所以这里我解释一下,这么做的两个原因。
- UNRAID的Macvlan以及ipvlan都有一个很严重的bug,有一定概率,会出现与宿主机通讯问题,这就导致其他docker实用bridge和host无法与dns通讯导致网络问题。
- 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 简单配置一下容器。
进入命令后,我们使用下面命令配置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
Ctrl+o保存Ctrl+x推出编辑。
完成编辑后,重启容器
reboot
再次进入Terminal命令,进入root目录
cd /root
获取Mosdns
访问mosdns在GitHub的仓库,获取对应的安装文件。
Release v4.5.3 · IrineSistiana/mosdns · GitHub
在页面找到,符合自己系统和架构的Mosdns文件。
右键复制链接,使用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/
测试DNS解析
nslookup baidu.com 192.168.1.62 #ip写lxc 插件面板上容器的ip
测试无问题后,配置mosdns开机启动。
mosdns service install -d /etc/mosdns -c /etc/mosdns/config.yaml
启动mosdns
systemctl start mosdns
检查启动状态
systemctl status mosdns
额外注意事项:
如果是内网搭建mosdns,请关闭ecs,在mosdns启动后使用命令关闭ecs,公网部署可以不需要此步骤!
/etc/mosdns/tools/ecs-off
启动自动更新配置:
因为配置信息中的列表是需要定时更新的,这里我们用cron 进行自定更新
crontab -e
输入crontab -e ,会提示编辑器,只提示一次,根据自己的编辑器习惯选择即可,这里演示用的是nano
所以我这里输入1 然后Enter 就可以了。
在打开的页面内增加定时处理任务的配置
0 5 * * * /etc/mosdns/rules/update-cdn
执行时间,是每天早晨5点执行,用Ctrl+o保存编辑Ctrl+x退出编辑。
到此教程就结束了,如果遇到程序无法更新,可以考虑是哟个命令增加执行权限。
chmod +x /etc/mosdns/rules/update-cdn
结尾:
mosdns是一个很好用的dns,可以解决一些被污染的dns,搭配小蓝猫也是非常好用的。
请登录后查看评论内容