Страница 1 из 2

firewall

Добавлено: 01 дек 2020, 22:09
valentin13421
Всем привет. Ребят кто может объяснить что означает строка в фаерволе:
add action=drop chain=forward comment=\ "defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \ connection-state=new in-interface-list=WAN.
Это стандартное правило в заводской настройке.
Многие рекомендуют его оставлять.
Я просто не понимаю почему оно нужно, если оно открывает доступ в нашу локалку.
Здесь предлагает дропать все новые соединения из WAN-порта, которые не являются dstnat. То есть будут дропнуты все соединения из LAN, а не из WAN. Где же здесь защита от проникновения из-вне?
Спасибо за ответ.

Re: firewall

Добавлено: 01 дек 2020, 22:57
xvo
Это правило сбрасывает все приходящие из WAN, для чего вы руками не "пробросите порты" (dst-nat), то есть именно что защищает вашу локалку от всего, что вы "не заказывали".

Re: firewall

Добавлено: 01 дек 2020, 23:07
valentin13421
Не понимаю как оно дропает все приходящее из WAN, если по правилу написано:
дропнуть все новые соединения кроме dstnat (т.е. из WAN), т.е. по факту все LAN соединения дропнутся, а WAN соединения останутся.
Не понимаю как это защищает локалку?

Re: firewall

Добавлено: 01 дек 2020, 23:11
xvo
in-interface-list=WAN

И dst-nat - не обратное действие для src-nat/masquerade.

Re: firewall

Добавлено: 01 дек 2020, 23:14
valentin13421
да, но dstnat это доступ из внешки в локалку. А мы блокируем все кроме dstnat, т.е. будет заблокирован srcnat. Так получается?

Re: firewall

Добавлено: 01 дек 2020, 23:15
valentin13421
а что тогда такое dstnat?

Re: firewall

Добавлено: 01 дек 2020, 23:23
valentin13421
Я так понимаю что это правило будет работать если из него убрать восклицательный знак. И тогда останется просто: дропнуть все новые соединения из внешки которые являются dstnat.
Тогда это имеет смысл. Или я не прав?

Re: firewall

Добавлено: 01 дек 2020, 23:33
xvo
Нет, вы не правы.
Тогда вы будете сбрасывать только то, что сами же разрешите руками в цепочке dstnat (если там пусто - то ничего не будете сбрасывать).

NAT (Network Address Translation) не имеет отношения ни к направлению движения трафика, ни (непосредственно) к доступу.
dst-nat - подмена адреса назначения.
src-nat - подмена адреса источника.

Условие connection-nat-state=!dst-nat означает, что этот пакет не проходил обработку в цепочке dstnat (то есть данный конкретный маршрутизатор перед прохождением цепочки forward firewall'а не подменял у этого пакета источник).
В дефолтном конфиге цепочка dstnat - пустая, и, как я уже сказал, обратное для дефолтного src-nat (masquerade) преобразование, не считается dst-nat'ом. Так что пока вы руками не добавите какие-либо правила в цепочку dstnat (например проброс 80 порта до вебсервера в локалке), то правило о котором идет речь (в его изначальном виде), будет сбрасывать вообще все, что идет через маршрутизатор в локалку с WAN-интерфейса.

Re: firewall

Добавлено: 02 дек 2020, 20:43
valentin13421
Немного разобрался. Большое спасибо!!!

Re: firewall

Добавлено: 02 дек 2020, 20:47
xvo
Рад помочь :)