我有一个 ovpn 配置,用于从 Ubuntu 20.04 LTS 连接到私有网络。但每次启动 vpn 后,我都必须运行这些命令
resolvectl dns tun0 10.0.0.255
resolvectl domain tun0 "~domain1.com"
resolvectl domain tun0 "~domain2.com"
使 dns 与私有子域一起工作。是否可以将这些命令包含到 ovpn 配置中并在我连接到此 vpn 时自动执行它们?
答案1
如果您像我一样使用 network-manager-openvpn,这可能有助于持续解决问题:
sudo nmcli connection modify VPN_NAME \
ipv4.dns-search '~domain1.com, ~domain2.com' ipv6.dns-search '~domain1.com, ~domain2.com' ipv4.dns 10.0.0.255
来源:https://ask.fedoraproject.org/t/systemd-resolved-not-querying-dns-server-set-by-openvpn/9696/9
我没有尝试有关 DNS 服务器的部分。小心。这会覆盖推送的设置。如果您想使用某些域作为搜索域,只需省略“~”。
答案2
您可以使用--up
和--down
参数(或up
/down
配置指令)指向一个脚本,该脚本将在建立 / 关闭连接后运行。您可以不是使用 shell 表达式(如--up 'resolvectl dns tun0 10.0.0.255 && resolvectl domain tun0 "~domain1.com"'
) - 它将不起作用。
此外,为了允许 OpenVPN 调用外部脚本,请传递--script-security 2
。
请阅读官方 OpenVPN 文档您还有其他问题吗?