运行openvpn时tun接口的名称?

Joh*_*nst 7 iptables openvpn

我有两个 OpenVPN 客户端设置,由 systemd 服务openvpn.fooopenvpn.bar. 它们连接到不同的 VPN,并且在任何时间点都可能处于活动状态,也可能不处于活动状态。

我想为他们设置不同的 iptables 防火墙规则。问题是第一个 OpenVPN 进程似乎抢占了接口tun0,无论结果是配置 foo 还是 bar。问题是我无法将 iptables 规则附加到接口,因为我目前不知道它是否与 VPN foo 或 bar 一起使用。

问题:

  • 有没有办法让 OpenVPN 始终为给定的配置发出相同的接口名称?我在配置文件中寻找一个选项,但找不到。persist-tun似乎不够,因为它似乎无法在重新启动后幸存。
  • 有没有办法在事后确定哪个接口与哪个配置匹配?
  • 鉴于我获得的 IP 地址也不完全可预测,我也无法将规则附加到这些地址上。有人能想出一个把它们贴在哪里的技巧吗?

谢谢!

小智 5

您可以在 .ovpn 配置文件中指定 tun 设备名称:

编辑文件/etc/openvpn/server-vpngw.conf并添加以下行:

dev tun3
client-config-dir /etc/openvpn/ccd
Run Code Online (Sandbox Code Playgroud)

然后创建以下文件/etc/openvpn/ccd/vpn-name并像这样编辑它:

ifconfig-push 10.8.2.202 10.8.2.201
push "route 172.16.12.0 255.255.255.0"
push "route 10.2.4.0 255.255.255.0"
Run Code Online (Sandbox Code Playgroud)