我非常高兴地使用 openvpn,我在 debian jessie 机器上定义了 50 多个 vpn。
我有一个关于将某些路线映射到某些进程的能力的问题。
我想知道哪个 tun 接口映射到哪个 openvpn 进程。
此时,我唯一的解决方案是扫描系统日志,搜索一些字符串/ovpn-([^\[]*).*(tun\d+)/
,例如 ,我可以在启动时检索所有内容,但它不干净,并且随着日志被清理,信息会消失。
那么有没有办法将tun设备映射到openvpn进程呢?
我找不到/proc/{openvpn process}/*
答案1
如果 VPN 连接到专用站点,为什么不 (a) 通过 IP 地址识别接口(您不应该每个站点使用哪个内部 IP 范围),或 (b) 为每个 OpenVPN 配置一个特定的编号,tun100
例如tun150
?有关详细信息,请参阅dev
配置中的参数man openvpn
。
答案2
鉴于这篇文章如何找到tap接口与其文件描述符之间的联系?
我采用了一个解决方案ps ax |awk '/[o]penvpn/{print $7" "$1;system("grep iff /proc/"$1"/fdinfo/*")}'