我使用的是 Kubuntu 17.10,并使用 OpenVPN 连接到我的公司网络。自从 Ubuntu 转向新的“netplan”方式处理网络相关事务以来,我发现 OpenVPN 中的几项功能不再起作用(例如尝试使用 dhcp-options 和 up/down update-resolv-conf 脚本设置 DNS 服务器)。
我的问题是:是否可以设置一个“netplan”,在创建 tun0 后设置 OpenVPN 接口 (tun0) 的 DNS 服务器?类似于:
network:
version: 2
renderer: networkd
ethernets:
tun0:
dhcp4: yes
dhcp6: no
nameservers:
addresses: [8.8.8.8,8.8.4.4]
我已经设法创建了自己的 vpn-up/vpn-down 脚本,该脚本基本上将适当的 yaml 文件复制到然后/etc/netplan
执行netplan apply
,但这感觉不是正确的做事方式。
答案1
如果您在台式机/笔记本电脑上使用 OpenVPN,我强烈建议您使用 NetworkManager 来控制您的 VPN。它可以将正确的 DNS 信息传递到 DNS 后端(dnsmasq 或 systemd-resolved,取决于您的 Ubuntu 版本),并且可以在某些接口上自动启动 VPN,更好地处理连接丢失、再次请求凭据等问题。
netplan 没有任何特殊的 VPN 支持。在“ethernets:”节中设置 tun 接口可能不是您想要的,因为不会创建 tun 接口,并且实际上可能会干扰 OpenVPN 对接口的操作;但如果您真的想使用它,您确实需要滚动您自己的由 openvpn 触发的 vpn-up/vpn-down 脚本,以使用 /etc/netplan 中提供的正确配置文件运行“netplan apply”。