Pfsense перестал реагировать на настройки Firewall: NAT: Port Forward



  • Дано: pfsense с тремя сетевухами. Одна смотрит на LAN, другая на медиаконвертор(провайдер оптоволокно) на ней же вручную прописывается IP+шлюз , третья смотрит на DSL модем(zyXEL), там где второй провайдер.

    Глючила на компе с pfsense сетевая карта LAN, котороую было решено заменить.
    Поменял на другую. В итоге pfsense не поднялся вообще. Насколько я понимаю из-за того, что обе карты были tplink. Тогда вместо TPlink поставил Dlink.

    Подцепил интерфейсы, поднялся веб-интерфейс, но в самом начале перепутал интерфейсы на сетевухах, в итоге провайдеры сели наоборот. Потом разобрался и поставил как полагается

    Но… все правила перестали работать.
    Т.е. сами правила видны тут Firewall: Rules, но менять их нельзя. А в секции Firewall: NAT: Port Forward вообще пусто.
    Поэтому первый вопрос, как автоматом перенести правила? И  почему они исчезли?

    Делать нечего, пришлось перепрописывать правила вручную. Старые не удалял, а дисаблил. И вот тут меня ждал сюрприз.

    На интерфейсе WAN_FN(rl1)->медиаконвертер всё заработало, а на интерфейсе WAN_WT(sis0)->Роутер ZyXEL правила не заработали.  Далее я игрался только с одним правилом, это проброс порта RDP. Но оно никак не хотело вступать в силу. Проигравшись пару часов, запитал необходимый мне сервак напрямую через роутер ZyXEL перепрописав в последнем правила  и пошёл спать.
    Вопрос второй, почему не открывался порт 3389 равно как и другие порты?



  • На интерфейсе WAN_FN(rl1)->медиаконвертер всё заработало, а на интерфейсе WAN_WT(sis0)->Роутер ZyXEL правила не заработали.

    Вероятно - потому, что ZyXEL работает в режиме роутера. Т.Е вы имеете двойной NAT.  Port Forward в таком случае проблематичен - его для каждого порта нужно делать дважды, 1-й на ZyXEL на wan IP pfSense, 2-й - в самом pfSense на нужный IP локальной сети..

    Именно поэтому я вам и предлагал перевести модем в бридж, а PPPOE поднимать самим  pfSense.



  • Это понятно что два НАТа. Но раньше-то всё работало. До этого был роутер DLink, там тоже все эти правила были прописаны и pfseты отлично работал.

    Я одним НАТом пробрасываю порты к pfsense, а другим в самом pfsense пробрасываю порты уже туда куда надо.  Да согласен, немного дублируется, но ведь всё же работало.

    А сейчас просто не работает. Никак.



  • До этого был роутер DLink, там тоже все эти правила были прописаны и pfseты отлично работал.

    А теперь - zyxel.  Внимательно сравните настройки в dlink и текущие в zyxel. Не сменились ли адреса LAN у модема и wan у pfSense, адреса шлюзов и т.д.  Не включен ли в zyxel firewall или иные блокировки?



  • Но работало же на ZyXELе всё отлично. Я там настройки и не трогал, пока игрался с pfsensom.
    Можно в принципе вернуть всё назад, но не получен ответ на главный вопрос,  что в pfsense не так.

    Кстати, почему исчезло содержимое секции FireWall.NAT, а FireWall.Rules стало недоступным для изменения?



  • Кстати, почему исчезло содержимое секции FireWall.NAT, а FireWall.Rules стало недоступным для изменения?

    Сам не сталкивался. Предположу, либо по причине смены интерфейсов, либо что это особенности ветки 2.2.Х.



  • Понятно.
    После обеда буду пробовать ещё раз настроить.
    А самим пфсенсом можно как-то узнать приходят ли пакеты по определенным портам, например по тому же RDP 3389?



  • А самим пфсенсом можно как-то узнать приходят ли пакеты по определенным портам, например по тому же RDP 3389?
    Поставить галку  Log packets that are handled by this rule в правиле соответствующем нужному port forward на нужном WAN. Это правило по умолчанию создается автоматически для каждого port forward с добавкой слова NAT в описании (возможно у вас проблема именно с этими правилами). Смотреть в логе.

    Глобально - Diagnostics: Packet Capture



  • @pigbrother:

    А самим пфсенсом можно как-то узнать приходят ли пакеты по определенным портам, например по тому же RDP 3389?
    Поставить галку  Log packets that are handled by this rule в правиле соответствующем нужному port forward на нужном WAN. Это правило по умолчанию создается автоматически для каждого port forward с добавкой слова NAT в описании (возможно у вас проблема именно с этими правилами). Смотреть в логе.

    Глобально - Diagnostics: Packet Capture

    Галочку поставил. Логи нашёл. Присоединился с домашнего компа по РДП к серверу. Но нигде не могу найти нужных логов. Во вкладку firewall много чего валится, как это всё скрыть.

    К тому же я искал в логах контекстным поиском айпи домашней машины. Не нашёл. Что странно. Сессия РДП висит, а в логах соотв. пакетов нет. Смотрел главным образом вкладки firewall и system/



  • Поищите в таблице states



  • По дефолту в лог фаерволла пишутся только дропнутые пакеты. Те, что прошли, в лог не попадают.



  • @pigbrother:

    Поищите в таблице states

    В этой таблице только текущие состояния. Это не совсем то.

    @misant:

    По дефолту в лог фаерволла пишутся только дропнутые пакеты. Те, что прошли, в лог не попадают.

    Понятно



  • По дефолту в лог фаерволла пишутся только дропнутые пакеты. Те, что прошли, в лог не попадают.

    Дополню.

    Разрешенные пакеты port forward минуют firewall и, соответственно, в лог  firewall не попадают.

    Тут указано почему:

    Port Forward pass action

    When creating a port forward, if the pass action was selected when designating an associated firewall rule, that will bypass firewall rules and pass the traffic directly through without filtering. Change the setting to create an associated rule and then arrange the block rule above the resulting pass rule.
    https://doc.pfsense.org/index.php/Firewall_Rule_Troubleshooting#Port_Forward_pass_action