Я очень успешно использую openvpn, у меня на машине debian jessie определено более 50 vpn.
У меня вопрос относительно возможности сопоставить какой-то маршрут с каким-то процессом.
Я хотел бы знать, какой интерфейс tun сопоставлен с каким процессом openvpn.
На данный момент мое единственное решение - просканировать системный журнал в поисках какой-либо строки вроде / ovpn - ([^ \ [] *). * (Tun \ d +) /
, где я могу в основном получить все данные на время загрузки, но оно не чистое, и информация исчезает по мере очистки журнала.
Так есть ли способ сопоставить устройство tun с процессом openvpn?
Не могу найти в / proc / {openvpn process} / *
учитывая этот пост Как найти связь между интерфейсом tap и его файловым дескриптором?
Я выбрал решение сps ax |awk '/[o]penvpn/{print $7" "$1;system("grep iff /proc/"$1"/fdinfo/*")}'
Если виртуальные частные сети подключаются к выделенным сайтам, почему бы (а) не идентифицировать интерфейс по его IP-адресу (вы не должны указывать, какой внутренний диапазон IP-адресов использует каждый сайт) или (б) не настроить каждый OpenVPN конкретное число, например tun100
в tun150
? См. аргумент dev
в конфигурации, man openvpn
для подробностей.