mosdns 是一个支持分流等功能的 DNS 转发器。在 mosdns wiki 文档中对系统服务安装方式说明不太详尽,主要是解决如何注册服务并设置为开机自动运行。
本文记录的内容主要针对 mosdns v5 版本。
安装
下载二进制文件并授予执行权限 chmod +x mosdns
安装至系统服务
Linux 平台
按照 mosdns 官方文档 mosdns service install
的方式测试无法正常运行。参考另一个知名软件的配置文档实测可用:
1 | cp mosdns /usr/local/bin |
运行测试一次:
1 | /usr/local/bin/mosdns start -c /etc/mosdns/config.yaml -d /etc/mosdns |
新建服务 /etc/systemd/system/mosdns.service
:
1 | [Unit] |
reload systemd:
1 | systemctl daemon-reload |
设置开机启动:
1 | systemctl enable mosdns |
启动服务:
1 | systemctl start mosdns |
查看日志
1 | systemctl status mosdns |
macOS 平台
需要使用管理员权限执行:
1 | sudo mosdns service install -d 工作目录绝对路径 -c 配置文件路径 |
安装完成后可以看到注册的服务:
1 | cat /Library/LaunchDaemons/mosdns.plist |
修改 RunAtLoad
的值为 true
启动:
1 | sudo mosdns service start |
此时很可能因为权限报错,参考 [BUG] macOS 下 mosdns -s 安装成系统服务因权限问题不启动 · Issue #357 · IrineSistiana/mosdns
解决方式为:
进入系统偏好设置 - 安全性与隐私 - 隐私 - 完全磁盘访问权限 - 加入 mosdns 文件。
重新执行启动命令,显示服务状态为 running 表示已正常启动。
电脑重启后查看进程是否存在:
1 | ps -ef | grep mosdns |
如果修改了配置需要重启服务:
1 | sudo mosdns service restart |
分流配置
https://github.com/IrineSistiana/mosdns/discussions/605
创建自定义 hosts 文件,并根据实际情况调整配置中的 txt 文件路径。
评论