Как отслеживать динамические сетевые интерфейсы с MRTG? (* Никс)

Каждый раз, когда я перезагружаю свой туннель OpenVPN, он увеличивает номер интерфейса и разбивает график MRTG для интерфейса.

IF-MIB::ifName.76 = STRING: tun_w

после перезапуска:

IF-MIB::ifName.77 = STRING: tun_w

Есть ли способ это исправить?

2 ответа

Решение

Напишите скрипт, который восстанавливает вашу конфигурацию MRTG при каждом перезапуске интерфейса. Кроме того, настройте конфигурацию MRTG, чтобы настроить интерфейс на основе IP-адреса. В частности, если вы используете cfgmaker построить свой конфиг, а затем передать --ifref=ip вариант, предполагая, что ваш IP-адрес соответствует. Если ваш IP не согласован, проверьте на странице руководства другие опции ifref, чтобы узнать, применимы ли они к вашим настройкам.

Что делать, если файлы conf редактируются вручную?

В основном файле конфигурации, который вы создали вручную, используйте директиву include для включения другого файла конфигурации. Что-то вроде Include: vpn-interface.cfg, Затем обновите этот фрагмент конфигурации с помощью сценария, который происходит при запуске / перезапуске VPN.

Поскольку вы используете OpenVPN, вы можете использовать параметры OpenVPN --up-restart, --up, --ipchange, а также --down опции для ссылки на скрипт, который обновляет файл конфигурации для этого VPN.

Составьте свой скрипт, который запускается всякий раз, когда интерфейс

При создании файла MRTG cfg не идентифицируйте интерфейс по номеру. Вместо этого идентифицируйте его по ifName или подобному.

Например, это идентифицирует устройство по ifName,

Target[tun_w]: #tun_w:public@router

Если ifName не является уникальным, попробуйте ifDescr (используйте отступ, чтобы избежать пробелов или двоеточий в описании):

Target[tun_w]: \tun_w:public@router

В качестве альтернативы используйте ifType (префикс с%) или адрес Ethernet (префикс с!)

Один из них должен позволить вам однозначно идентифицировать интерфейс, несмотря на то, что его ifIndex часто меняется.

Другие вопросы по тегам