Разрешаем Winbox neighbor discovery в Firewalld

Думаю что не ошибусь, если скажу что в 90% случаев у админов работающих с Mikrotik стоит Winbox и даже если этот админ работает под Linux.
По умолчанию, firewalld разрешает все исходящие соединения но запрещает любые входящие пакеты, из-за этого в принципе отказывается работать любой софт с широковещательными UDP запросами и “Winbox neighbor discovery” не исключение.

Вот так выглядит настройка по умолчанию в CentOS7:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# firewall-cmd --zone=public --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: p4p2
  sources:
  services: dhcpv6-client ipp-client mdns ipp
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Для решения проблемы с “neighbor discovery”, достаточно разрешить входящие пакеты на порт “5678”, если быть точнее, то с широковещательного адреса “255.255.255.255:5678”

1
2
3
4
firewall-cmd --permanent --zone=public --add-rich-rule='
  rule family="ipv4"
  source address="255.255.255.255/32"
  port protocol="udp" port="5678" accept'

но лучше это офорить в виде “service”

1
2
3
4
5
6
firewall-cmd --permanent --new-service=winbox
firewall-cmd --permanent --service=winbox --set-description="Mikrotik Winbox discovery service"
firewall-cmd --permanent --service=winbox --set-short="Allow Mikrotik Winbox neighbors request"
firewall-cmd --permanent --service=winbox --add-port=5678/udp
firewall-cmd --permanent --service=winbox --set-destination=ipv4:255.255.255.255
firewall-cmd --reload

Данные команды создадут конфигурацию сервиса в каталоге /etc/firewalld/services.
winbox.xml

1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>Allow Mikrotik Winbox neighbors request</short>
  <description>winbox discovery service</description>
  <port protocol="udp" port="5678"/>
  <destination ipv4="255.255.255.255"/>
</service>

(можно скопировать данный такст и создать данный файл руками, потом firewall-cmd --reload).
После, добавляем сервис в нашу зону public (или в зависимости от вашей конфигурации)

1
firewall-cmd --permanent --add-service=winbox --zone=public

Комментарии