Как установить связь между интерфейсами, маршрутом и процессом

Как установить связь между интерфейсами, маршрутом и процессом

Я очень успешно использую openvpn, у меня определено более 50 vpn на машине Debian Jessie.
У меня есть вопрос относительно возможности сопоставить некоторые маршруты с некоторыми процессами.
Я хотел бы знать, какой интерфейс tun сопоставлен с каким процессом openvpn.
На данный момент мое единственное решение — сканировать syslog в поисках какой-то строки, например /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/*")}'

Связанный контент