Недавно мне пришлось столкнуться с интересным кейсом при настройке очередного коммутатора Juniper QFX5100.
Поскольку коммутатор готовился в продакшен в роли классического TOR свитча в IP фабрике, потребовалось вынести менеджмент в routing-instance.
В Junos по дефолту доступ по SNMP из routing-instance выключен. Что бы включить данный функционал потребуется следующая конфигурация:
[edit snmp]
routing-instance-access;
Итоговый конфиг :
snmp {
name test1;
location MSK;
community public {
authorization read-only;
clients {
1.1.1.2/32;
}
routing-instance mng-vrf {
clients {
1.1.1.2/32;
}
}
}
routing-instance-access;
}
При опросе по SNMP нужно указать название routing-instance в community. При этом коммутатор отдаст данные только тех интерфейсов, которые находятся в этом routing-instance :
snmpwalk -v2c -c mng-vrf@public 10.2.2.1 .1.3.6.1.2.1.2.2
Так же можно опросить интерфейсы в глобале:
snmpwalk -v2c -c default@public 10.2.2.1 .1.3.6.1.2.1.2.2
Что бы опросить все интерфейсы сразу, в независимости от принадлежности к routing-instance :
snmpwalk -v2c -c @public 10.2.2.1 .1.3.6.1.2.1.2.2
В Junos есть еще один довольно полезный функционал — фильтрация интерфейсов, которые коммутатор отдает по SNMP.
Полезно, если лень настраивать регулярные выражения в Zabbix:
snmp {
filter-interfaces {
interfaces {
"^ae[0-9]*.0";
"^xe-0/0/[0-9]*.0";
}
all-internal-interfaces;
}
}
При помощи такой конфигурации, мы исключим выдачу 0 юнитов интерфейсов ae*, и xe-0/0/* ( например ae0.0 или xe-0/0/8.0 ) и все служебные интерфейсы. Оставим только ae* и xe-0/0/*.
На этом базовая настройка SNMP в routing-instance завершена, перейдем к настройке Tacacs.
Поддержка работы Tacacs+ в любом routing-instance появилась только начиная с Junos 18.2R1.
Теперь для корректной работы Tacacs потребуется только указать нужный routing-instance:
system {
authentication-order [ tacplus password ];
tacplus-server {
1.1.1.2 {
routing-instance mng-vrf;
port 49;
secret "$9******************"; ## SECRET-DATA
timeout 10;
single-connection;
source-address 10.2.2.1;
}
}
}