运行openvpn时tun接口的名称?

我有两个OpenVPN客户端设置,由systemd服务openvpn.fooopenvpn.bar 。 他们连接到不同的VPN,可能或不可能在任何时间点活跃。

我想为他们设置不同的iptables防火墙规则。 麻烦的是,第一个OpenVPN进程似乎抢到了tun0接口,无论是否是configurationfoo或bar。 问题是我不能附加iptables规则的接口,因为我不知道它是否现在VPN虚拟或酒吧。

问题:

  • 有没有办法让OpenVPN总是为给定的configuration发出相同的接口名称? 我正在寻找configuration文件中的选项,但找不到一个。 persist-tun似乎不够,因为它似乎不能在重新启动。
  • 有没有一种方法可以确定事实后哪个接口与哪个configuration进行configuration?
  • 考虑到我所获得的IP地址也不是完全可预测的,我也不能将这些规则附加到这些规则上。 任何人都可以想到一个把它们附加在哪里的技巧吗?

谢谢!

您可以在.ovpnconfiguration文件中给出tun设备名称:

编辑文件/etc/openvpn/server-vpngw.conf并添加这样的行:

 dev tun3 client-config-dir /etc/openvpn/ccd 

然后创build以下文件/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"