如何在接口、路由和进程之间建立联系

如何在接口、路由和进程之间建立联系

我非常高兴地使用 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/*")}'

相关内容