Правило на файерволе для проброса портов

Тема в разделе "Общий форум", создана пользователем Nemiroff_84, 23 мар 2016.

  1. Nemiroff_84

    Nemiroff_84 Участник

    Добрый день!
    Имеется конфигурация приведенная ниже. На маршрутизаторе два внешних канала в режиме резервирования.
    Так же имеются пробросы портов на устройства внутри для RDP и для SNMP. Для SNMP проброс сделан не порт в порт.
    Проблема: Правило файервола для RDP работает, а для SNMP нет. Для SNMP работает только, если цепочку изменить с "forward" на "output".
    Подскажите, пожалуйста, в чем может быть загвоздка.


    Код:
    /ip firewall filter
    add action=drop chain=input comment="Deny BOGON" in-interface=ether10-WAN1 \
        src-address-list=BOGON
    add action=drop chain=input comment="Deny BOGON" in-interface=ether9-YOTA \
        src-address-list=BOGON
    add chain=forward comment="Permit established connections  (forward chain)" \
        connection-state=established
    add chain=forward comment="Permit related connections  (forward chain)" \
        connection-state=related
    add action=drop chain=forward comment=\
        "Deny invalid connections (forward chain)" connection-state=invalid
    add chain=input comment="Permit established connections  (input chain)" \
        connection-state=established
    add chain=input comment="Permit related connections  (input chain)" \
        connection-state=related
    add action=drop chain=input comment="Deny invalid connections (input chain)" \
        connection-state=invalid
    add chain=forward comment="Permit HTTP  (forward chain)" connection-state=new \
        dst-port=80 protocol=tcp
    add chain=forward comment="Permit RDP  (forward chain)" connection-state=new \
        dst-port=3389 protocol=tcp
    add chain=forward comment="Permit Zabbix Agent  (forward chain)" \
        connection-state=new dst-port=10051 protocol=tcp
    add chain=forward comment="Permin SNMP (forward chain)" connection-state=new \
        dst-port=162 protocol=udp
    add chain=input comment="Permit SNMP  (input chain)" connection-state=new \
        dst-port=161 protocol=udp
    add chain=input comment="Permit ICMP" connection-state=new protocol=icmp
    add chain=input comment="Permit WinBox" connection-state=new dst-port=8291 \
        protocol=tcp
    add chain=input comment="Permit L2TP/IPSec ports 500, 1701, 4500" \
        connection-state=new port=500,1701,4500 protocol=udp
    add chain=input comment="Permit L2TP/IPSec protocol ipsec-esp" \
        connection-state=new protocol=ipsec-esp
    add action=drop chain=input comment=\
        "Deny everything exept from LAN (input chain)" connection-state=new \
        in-interface=!bridge-local
    add action=drop chain=forward comment=\
        "Deny everything exept from LAN(forward chain)" connection-state=new \
        in-interface=!bridge-local
    add action=drop chain=output comment=\
        "Deny 8.8.4.4 through reserved internet-channel" dst-address=8.8.4.4 \
        out-interface=ether10-WAN1 protocol=icmp
    /ip firewall nat
    add action=masquerade chain=srcnat out-interface=ether10-WAN1
    add action=masquerade chain=srcnat out-interface=ether9-YOTA
    add action=dst-nat chain=dstnat comment="HTTP Server" dst-port=80 \
        in-interface=ether10-WAN1 protocol=tcp to-addresses=192.168.40.2 \
        to-ports=80
    add action=dst-nat chain=dstnat comment="HTTP Server" dst-port=80 \
        in-interface=ether9-YOTA protocol=tcp to-addresses=192.168.40.2 to-ports=\
        80
    add action=dst-nat chain=dstnat comment="RDP to Server" dst-port=3389 \
        in-interface=ether10-WAN1 protocol=tcp to-addresses=192.168.40.2 \
        to-ports=3389
    add action=dst-nat chain=dstnat comment="RDP to Server" dst-port=3389 \
        in-interface=ether9-YOTA protocol=tcp to-addresses=192.168.40.2 to-ports=\
        3389
    add action=dst-nat chain=dstnat comment="zabbix agent to server" dst-port=\
        10051 in-interface=ether10-WAN1 protocol=tcp to-addresses=192.168.40.2 \
        to-ports=10050
    add action=dst-nat chain=dstnat comment="zabbix agent to server" dst-port=\
        10051 in-interface=ether9-YOTA protocol=tcp to-addresses=192.168.40.2 \
        to-ports=10050
    add action=dst-nat chain=dstnat comment="NAS1 SNMP" dst-port=162 \
        in-interface=ether10-WAN1 protocol=udp to-addresses=192.168.40.4 \
        to-ports=161
    add action=dst-nat chain=dstnat comment="NAS1 SNMP" dst-port=162 \
        in-interface=ether9-YOTA protocol=udp to-addresses=192.168.40.4 to-ports=\
        161
    add action=dst-nat chain=dstnat comment="NAS2 SNMP" dst-port=163 \
        in-interface=ether10-WAN1 protocol=udp to-addresses=192.168.40.5 \
        to-ports=161
    add action=dst-nat chain=dstnat comment="NAS2 SNMP" dst-port=163 \
        in-interface=ether9-YOTA protocol=udp to-addresses=192.168.40.5 to-ports=\
        161
     
  2. Nemiroff_84

    Nemiroff_84 Участник

    Кажется нашел.
    Правило надо было написать так:
    Код:
    add chain=forward comment="Permin SNMP (forward chain)" connection-state=new  dst-port=161,162 protocol=udp
    Если это возможно, то про комментируйте, пожалуйста, указанные выше правила. Может быть что-то, по Вашему мнению не правильно или надо добавить или исправить.
     
  3. Илья Князев

    Илья Князев Администратор Команда форума

    Вообще проброс на 162 порт весьма странен. На нем как раз SNMP Trap по идее бегают.
     
  4. Nemiroff_84

    Nemiroff_84 Участник

    За одним из маршрутизаторов вообще десяток устройств находятся, которые из-вне по SNMP мониторятся. А 161 порт один. Поэтому и используем 161 для мониторинга самого маршрутизатора, а для внутренних устройств 162, 163, 164 и т. д.
    А у Вас есть другая рекомендация?
     
  5. Илья Князев

    Илья Князев Администратор Команда форума

    VPN?
     
  6. Nemiroff_84

    Nemiroff_84 Участник

    Не удобно.
     
  7. Nemiroff_84

    Nemiroff_84 Участник

    Илья, возник вопрос. А надо ли у правила "
    add chain=forward connection-state=new dst-port=3389 protocol=tcp" указывать connection-state=new ? Если я правильно понимаю, то даже, если его не указать, то дальнейшие пакеты все равно попадут под вышестоящее правило "add chain=forward connection-state=established".
     
  8. Илья Князев

    Илья Князев Администратор Команда форума

    Можно не указывать.
     
  9. Nemiroff_84

    Nemiroff_84 Участник

    Спасибо!