在 macOS 上自动重解析 wireguard 中的域名
当我们使用wireguard-tools
时,wg-quick
配置文件中的Endpoint
字段可以配置一个域名。但这个域名只会在wg-quick up
的时候解析一次,如果域名指向的地址经常变化,那么我们需要一个机制来定期去重新解析配置中的域名。
Linux 上的解决方案
实际上wireguard-tools
官方已经提供了一个在Linux
上解决前述问题的样例,只需要借助crontab
即可完成定期刷新,以配置wg0
为例:
1 | # crontab -l |
有几个配置就添加几个crontab
任务即可。
macOS 方案
仿照官方的脚本,我制作了一个Homebrew formula
来更方便地刷新所有本机正在运行的wireguard
配置中的域名解析,以下步骤需要先安装Homebrew
(https://brew.sh/):
1 | brew install icpz/collection/reresolve-wireguard-dns |
执行过后brew-services
会自动添加launchd
配置来定期检查并重新解析本机上所有正在运行的wireguard
。