Выдалась более-менее свободная неделька чтобы поковырять Juniper. Опять же, закончилась моя эпопея с JTAC и отправкой JFLOW. Внезапно(тм) выяснилось, что слать FLOW аппарат умеет только из Default VR, а сообщить об этом в мануале толи забыли, то ли сделали это так ненавязчиво. что я банально это пропустил.
Под катом самая макотка – вдруг кому пригодится.
Сразу оговорюсь – даже не пытайтесь настраивать control-функии (snmp, syslog, flow, ntp) через VR. Проблем огребете гарантированно, а пользу получите весьма сомнительную. Лучше свести все взаимодействие c коробкой к mng-интерфейсу. Тем более что даже если настроить (вроде бы!) отсылку всевозможных сообщений через VR, то, в самый неподходящий момент, может выясниться, что часть информации кладет болт на ваши настройки и шлет из default VR.
Syslog
Начнем мы с syslog.
syslog-сервер 172.30.5.100
source-address 172.30.2.241 — адрес нашего fxp0 интерфейса.
Директива “system syslog host” указывает на syslog-сервер.
Директива “system syslog file” указывает, что мы будем писать в локальные логи.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | set system syslog archive size 100k set system syslog archive files 3 set system syslog user * any emergency set system syslog host 172.30.5.100 any any set system syslog host 172.30.5.100 authorization warning set system syslog host 172.30.5.100 daemon any set system syslog host 172.30.5.100 security any set system syslog host 172.30.5.100 change-log none set system syslog host 172.30.5.100 interactive-commands none set system syslog host 172.30.5.100 facility-override local1 set system syslog host 172.30.5.100 source-address 172.30.2.241 set system syslog host other-routing-engine any any set system syslog host other-routing-engine source-address 172.30.2.241 set system syslog file messages any alert set system syslog file interactive-commands interactive-commands error set system syslog file kmd-logs daemon info set system syslog file kmd-logs match KMD set system syslog time-format year set system syslog time-format millisecond set system syslog source-address 172.30.2.241 |
Отдельно настроим security log: это логи, отсылаемые, непосредственно, с dataplane.
1 2 3 4 5 6 7 8 9 | set security log cache limit 256 set security log mode stream set security log format sd-syslog set security log rate-cap 2000 set security log source-address 172.30.2.241 set security log stream NOC severity warning set security log stream NOC format sd-syslog set security log stream NOC category all set security log stream NOC host 172.30.5.100 |
SNMP
Казалось бы, проще некуда. Тем более что здесь я все-таки указал VR для опроса железки извне (исторически сложилось так). Запомните, что если к SNMP вы пытаетесь обращаться через VR, то community надо указывать так: BRANCH_VR@public, где BRANCH_VR это имя VR, через который вы идете.
Ну и не забыть явно указать ACL для доступа из VR.
Тут всё просто:
1 2 3 4 | set snmp name jpsrx550-X-s10 set snmp description "Juniper SRX 550 2x645AC" set snmp location "SPb, DataCenter" set snmp contact "NOC: noc@nixman.info" |
snmp filter-interfaces interfaces делает одну очень полезную штуку – фильтрует информацию о ненужных вам интерфейсах. Например, ей удобно фильтровать всякие служебные сущности, коих у джунипера полно.
Теперь настраиваем ACL для SNMP:
1 2 3 4 5 6 7 | set snmp community public authorization read-only set snmp community public clients 172.20.0.0/24 set snmp community public routing-instance BRANCH_VR client-list-name MGMT-IP set snmp community private authorization read-write set snmp community private clients 172.20.0.0/24 set snmp community private routing-instance BRANCH_VR client-list-name MGMT-IP set snmp routing-instance-access access-list BRANCH_VR |
В ACL я указал, что получать информацию по SNMP можно только из сети 172.20.0.0/24 из дефолтного VR и сети из листа MGMT-IP через VR. Последней директивой мы указываем, что получать данные SNMP можно только из BRANCH_VR.
ACL MGMT-IP настраивается так:
1 | set policy-options prefix-list MGMT-IP 172.20.0.0/24 |
Теперь настраиваем трапы. Имя trap-group это community, с которым будут отправляться трапы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | set snmp trap-options source-address 172.30.2.241 set snmp trap-options enterprise-oid set snmp trap-group trap version v2 set snmp trap-group trap categories authentication set snmp trap-group trap categories chassis set snmp trap-group trap categories link set snmp trap-group trap categories remote-operations set snmp trap-group trap categories routing set snmp trap-group trap categories startup set snmp trap-group trap categories rmon-alarm set snmp trap-group trap categories vrrp-events set snmp trap-group trap categories configuration set snmp trap-group trap categories services set snmp trap-group trap categories chassis-cluster set snmp trap-group trap categories otn-alarms set snmp trap-group trap targets 172.30.0.254 |
отдельно отмечу, что часть трапов может приходить вполне с community BRANCH_VR@trap, а не только trap. Почему? Так получилось (с)
На этом, собственно, и все. Советую для начала настроить максимально детальную и полную отсылку событий, а потом, когда уже разберетесь, как и что, уже повышать уровень severity и убирать ненужные категории, дабы не захламлять логи.
Удачи!