Имеем маршрутизатор RB2011UiAS.
Стоит задача "пробросить" порт на один из внутренних серверов, но при этом разрешить доступ к этому порту только для одного ip адреса. Задача проста, но!
1. В файрволе есть правило, созданное дефолтной конфигурацией, которое дропает все новые пакеты в цепочке forward, которые не dst-nat. Т.е. файрвол по умолчанию пропускает все пакеты, для которых есть правило dst-nat:
2. Создаю правило dst-nat:10 ;;; defconf: drop all from WAN not DSTNATed
chain=forward action=drop connection-state=new
connection-nat-state=!dstnat in-interface=ether1 log=no log-prefix=""
Так все работает, но светит на весь интернет.chain=dstnat action=netmap to-addresses=LOCAL_ADDRESS to-ports=12345
protocol=tcp in-interface=ether1 dst-port=12345 log=yes log-prefix=""
3. Создаю правило в файрволе, чтобы запретить в цепочке forward именно этот порт для всех ip адресов, кроме нужного, ставлю его ДО правила, описанного в пункте 1:
Так коннекта нет ниоткуда, даже с нужного адреса.10 chain=forward action=drop protocol=tcp src-address=!1.1.1.1 dst-port=12345
log=no log-prefix=""
11 ;;; defconf: drop all from WAN not DSTNATed
chain=forward action=drop connection-state=new
connection-nat-state=!dstnat in-interface=ether1 log=no log-prefix=""
4. Ок, пробую явно указать Src.Address в правилах ната:
Правила файрвола возвращаю в исходное состояние.chain=dstnat action=netmap to-addresses=LOCAL_ADDRESS to-ports=12345
protocol=tcp in-interface=ether1 src-address=1.1.1.1 dst-port=12345 log=yes log-prefix=""
И тут опять нет коннекта с нужного адреса.
Господа, в чем прикол? Обновился до последней версии софта 6.42.7. Прошу помочь советом в этой ситуации. Буду очень благодарен за советы.