Оглавление
Постановка задачи
Задача: Реализовать автоматическое обнаружение устройств по протоколу mDNS между сетями 172.20.0.0/24 и 172.21.0.0/24. Разрешить обнаруживать и подключаться к мультимедийным устройствам по протоколам SSH и HTTPS.
Описание решения
Начиная с версии ПО ESR 1.6.4 реализована поддержка mDNS reflector. Данный сервис позволяет перекладывать mDNS запросы из одного сегмента L3 сети в другой и может производить фильтрацию сервисов.
...
Drawio | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Настройка ESR
Настройка клиентских интерфейсов
Мультимедийные устройства расположены в VLAN 20, который подается на ESR в Bridge 20 через саб-интерфейс gi1/0/2.20.
...
Блок кода |
---|
interface gigabitethernet 1/0/2.20 bridge-group 20 exit interface gigabitethernet 1/0/2.21 bridge-group 21 exit |
Настройка mDNS reflector
Команда ip mdns-reflector активирует mDNS reflector. Данный функционал работает на L3 интерфейсах. Для запуска нужно произвести настройку на двух или более интерфейсах. Включим mDNS reflector на Bridge 20 и Bridge 21
...
Примечание |
---|
Если используется функционал BRAS, то для корректной работы mDNS reflector нужно разрешить прохождение mDNS трафика (UDP:5353) в bypass-traffic-acl. |
Просмотр списка сервисов mDNS
Команда show ip mdns-reflector выводит список сервисов mDNS из кэша mDNS reflector.
...
Команда clear ip mdns-reflector обновляет данные в кэше mDNS reflector.
Фильтрация сервисов mDNS
Клиенты должны находить и пользоваться только сервисами _ssh._tcp и _https._tcp. Создаем список url с разрешенными сервисами mDSN.
...
Блок кода |
---|
ESR10# show ip mdns-reflector Interface IP address Hostname Service Port --------------- --------------- --------------------------------------------- ------------------------- ----- br20 172.20.0.10 Book-tester-7.local _ssh._tcp 22 br20 172.20.0.10 Book-tester-7.local _https._tcp 443 |
Настройка файрвола
Поместим мультимедийные устройства в зону безопасности multimedia, а клиентов в client. ESR находится в зоне безопасности self Нужно:
...
Блок кода |
---|
security zone-pair multimedia self rule 2 action permit match protocol udp match source-port dhcp_server match destination-port dhcp_server enable exit rule 3 action permit match protocol udp match source-port dhcp_client match destination-port dhcp_server enable exit rule 4 action permit match protocol icmp enable exit rule 5 action permit match protocol udp match destination-port mdns enable exit exit security zone-pair client self rule 2 action permit match protocol udp match source-port dhcp_server match destination-port dhcp_server enable exit rule 3 action permit match protocol udp match source-port dhcp_client match destination-port dhcp_server enable exit rule 4 action permit match protocol icmp enable exit rule 5 action permit match protocol udp match destination-port mdns enable exit exit security zone-pair client multimedia rule 2 action permit match protocol tcp match destination-port ssh enable exit rule 3 action permit match protocol tcp match destination-port https enable exit rule 4 action permit match protocol icmp enable exit exit |
Приложение
Полная конфигурация ESR
Блок кода |
---|
#!/usr/bin/clish #14 #1.6.4 #06/12/2019 #18:19:37 hostname ESR10 object-group service ssh port-range 22 exit object-group service https port-range 443 exit object-group service dhcp_server port-range 67 exit object-group service dhcp_client port-range 68 exit object-group service mdns port-range 5353 exit object-group url test_url url _ssh._tcp.local url _https._tcp.local exit username admin password encrypted $6$OqYVDdLPN8ILZsQ/$iqWu8CPYGm8744FowOqaYD/mnZQhqXmAuVm9Sf6nyS8nlv3nuA5Ez2Z5ASeKxU7tFFf3SoiPDEdyALKZjVbEP. exit vlan 2 exit security zone client exit security zone multimedia exit security zone uplink exit snmp-server snmp-server system-shutdown snmp-server community "private1" rw snmp-server community "public11" ro snmp-server host 10.10.5.50 exit snmp-server enable traps snmp-server enable traps config snmp-server enable traps config commit snmp-server enable traps config confirm snmp-server enable traps environment snmp-server enable traps environment memory-flash-critical-low snmp-server enable traps environment memory-flash-low snmp-server enable traps environment memory-ram-critical-low snmp-server enable traps environment memory-ram-low snmp-server enable traps environment cpu-load snmp-server enable traps environment cpu-critical-temp snmp-server enable traps environment cpu-overheat-temp snmp-server enable traps environment cpu-supercooling-temp snmp-server enable traps file-operations snmp-server enable traps file-operations successful snmp-server enable traps file-operations failed snmp-server enable traps file-operations canceled snmp-server enable traps interfaces snmp-server enable traps interfaces rx-utilization-high snmp-server enable traps interfaces tx-utilization-high snmp-server enable traps interfaces number-high snmp-server enable traps screen snmp-server enable traps screen dest-limit snmp-server enable traps screen source-limit snmp-server enable traps screen icmp-threshold snmp-server enable traps screen udp-threshold snmp-server enable traps screen syn-flood snmp-server enable traps screen land snmp-server enable traps screen winnuke snmp-server enable traps screen icmp-frag snmp-server enable traps screen udp-frag snmp-server enable traps screen icmp-large snmp-server enable traps screen syn-frag snmp-server enable traps screen unknown-proto snmp-server enable traps screen ip-frag snmp-server enable traps screen port-scan snmp-server enable traps screen ip-sweep snmp-server enable traps screen syn-fin snmp-server enable traps screen fin-no-ack snmp-server enable traps screen no-flag snmp-server enable traps screen spoofing snmp-server enable traps screen reserved snmp-server enable traps screen quench snmp-server enable traps screen echo-request snmp-server enable traps screen time-exceeded snmp-server enable traps screen unreachable snmp-server enable traps screen tcp-all-flags snmp-server enable traps entity snmp-server enable traps entity config-change snmp-server enable traps entity-sensor snmp-server enable traps entity-sensor threshold snmp-server enable traps envmon snmp-server enable traps envmon shutdown snmp-server enable traps envmon temperature snmp-server enable traps flash snmp-server enable traps flash insertion snmp-server enable traps flash removal snmp-server enable traps snmp snmp-server enable traps snmp authentication snmp-server enable traps snmp coldstart snmp-server enable traps snmp linkdown snmp-server enable traps snmp linkup snmp-server enable traps syslog bridge 1 description "uplink" vlan 2 security-zone uplink ip address dhcp enable exit bridge 20 description "multimedia" security-zone multimedia ip address 172.20.0.1/24 ip mdns-reflector enable exit bridge 21 description "client" security-zone client ip address 172.21.0.1/24 ip mdns-reflector enable exit interface gigabitethernet 1/0/1 mode switchport switchport access vlan 2 exit interface gigabitethernet 1/0/2.20 bridge-group 20 exit interface gigabitethernet 1/0/2.21 bridge-group 21 exit security zone-pair multimedia self rule 2 action permit match protocol udp match source-port dhcp_client match destination-port dhcp_server enable exit rule 3 action permit match protocol icmp enable exit rule 4 action permit match protocol udp match destination-port mdns enable exit exit security zone-pair client self rule 2 action permit match protocol udp match source-port dhcp_client match destination-port dhcp_server enable exit rule 3 action permit match protocol icmp enable exit rule 4 action permit match protocol udp match destination-port mdns enable exit exit security zone-pair client multimedia rule 2 action permit match protocol tcp match destination-port ssh enable exit rule 3 action permit match protocol tcp match destination-port https enable exit rule 4 action permit match protocol icmp enable exit exit security zone-pair uplink self rule 2 action permit match protocol udp match source-port dhcp_server match destination-port dhcp_client enable exit rule 3 action permit match protocol icmp enable exit rule 4 action permit match protocol tcp match destination-port ssh enable exit exit ip dhcp-server ip dhcp-server pool br20_local_clients_vlan20 network 172.20.0.0/24 max-lease-time 000:00:15 default-lease-time 000:00:10 address-range 172.20.0.10-172.20.0.250 default-router 172.20.0.1 dns-server 172.20.0.1 exit ip dhcp-server pool br21_local_clients_vlan21 network 172.21.0.0/24 max-lease-time 000:00:15 default-lease-time 000:00:10 address-range 172.21.0.10-172.21.0.250 default-router 172.21.0.1 dns-server 172.21.0.1 exit ip mdns-reflector services test_url ip ssh server clock timezone gmt +7 ntp enable ntp server 10.10.5.50 exit |
Пример прохождения трафика
Раскрыть | ||
---|---|---|
| ||
|
...