PfSense гонит маршруты через внешку



  • Добрый день.
    Пытаюсь безуспешно объединить 2 сети.
    Первая - без vlan-ов (т.е vlan 1). Вторая - полностью на управляемых свитчах с главным коммутатором ядра. Выход в инет идет через PfSense ,который находится в сети без vlan-ов. Коммутатор ядра SW имеет 2 vlan интерфейса: vlan 1 и vlan 10. На pfSense прописал статический маршрут к подсети 192.168.10.0/24 в vlan 10. Но при пинге или трассировке интерфейса vlan 10 с любого ПК в первом влане, PfSense гонит пакеты не через 192.168.1.253, как прописано, а через внешний инттерфейс провайдера. Подскажите в чем причина? Для наглядности сделал рисунок:

    Без имени.png



  • @max5775 проверьте или покажите правила vlan1. Возможно, вы жёстко указали шлюз, через который гнать трафик ( pbr, так называемый). Поэтому пакеты не прогоняются через таблицу маршрутизации



  • @Konstanti , показать не могу, т.к там много замазывать. Но Вы правы, я указывал шлюз. У нас 2 провайдера и сделан мультиван, который и прописан в качестве шлюза. Я так думаю, нужно в начале цепочек прописать правило для сети 192.168.10.0/24 и указать нужный шлюз?



  • @max5775да, мыслите верно. Достаточно создать правило самое верхнее для нужной сети, и не менять ничего в настройках шлюза. Те вместо имени шлюза будет знак *, на общей картинке. Т е трафик пойдёт через шлюз по умолчанию



  • @Konstanti Да, спасибо, заработало. Долго я над этим бился...
    Теперь нужно подумать, как фильтровать интернет трафик для vlan 10 и других сетей, которые будут вскоре добавлены. Но это уже другая история. еще раз спасибо



  • @max5775 Фильтровать также , правилами . Или нужна какая-то особая фильтрация ? Например , на уровне содержимого пакетов



  • @Konstanti нет, просто закрыть все и открыть нужное (http/s, dns, ftp и пр).
    Вроде тестово выпустил в интернет пока по правилу все разрешено от 192.168.10.0/24 to any. Интернет работает, потом отрегулирую как нужно.
    Но возникла другая проблема.
    Из сети vlan 1 я могу достучаться на ПК сети vlan 10, тот же rdp работает.
    А вот из vlan 10 на vlan 1 - никак. Хотя пинги гуляют туда-обратно без проблем.
    Запустил на PfSense tcpdump, но он мне ничего нового не сказал:

    Снимок экрана в 2019-05-30 13-07-31.png

    Тут я пытаюсь законнектиться с ПК vlan 10 на http-сервер с зеркалом пакетов, который находится в vlan 1.
    Для исключения зарезания пакетов на PfSense, в firewall сверху добавил 2 правила:
    от 192.168.10.0/24 к 192.198.1.1/24 все разрешено через defroute
    от 192.168.1.1/24 к 192.168.10.10/24 все разрешено через defroute
    Счетчики бегут, но толку нет.
    Шлюз по дефолту у vlan 1 - 192.168.1.254 (pfsense,) у ПК из vlan 10 - коммутатор ядра SW (192.168.10.254).
    На самом коммутаторе ядра defruote - 192.168.1.254 (pfsense)



  • @max5775 ну , почему же
    эта картинка говорит о многом , например, о том что syn пакет идет , а вот ответа нет
    судя по тому , что у Вас реалтек , включите в настройках pf
    System/Advanced/ Networking

    bf0e144e-8b24-4c2d-9b73-70d9e8afb029-image.png



  • @Konstanti
    Включил, перезагрузил.
    Но ничего не поменялось.
    Заметил еще такую проблему, что через несколько секунд rdp на ПК из VLAN10 отваливается.
    Сделал еще скрин wireshark при попытке зайти на http-сервер сети vlan 1.

    Снимок экрана в 2019-05-30 13-44-22.png
    У меня пока даже нет мыслей, в чем может быть проблема...



  • @max5775 предлагаю начать с правил. Покажите правила на re0. И вывод команды ifconfig - m



  • удалил



  • @max5775 а остальные интерфейсы?
    Желательно видеть всю картину



  • Вы имеете в виду внешние интерфейсы?



  • @max5775
    Я смотрю на картинку ,
    у Вас на ней изображено , что у PF есть 2 интерфейса , подключенных к сети 192.168.1.0/24 . Это так ?



  • @Konstanti нет, физический интерфейс один, на нем 3 ip-адреса.
    192.168.1.254 - основной и 2 алиаса, созданных в Firewall/VirtualIP.
    В firewall они не применяются вообще, они слушают dns-запросы к серверу pfsense, это остатки от старой сети. Предыдущий админ использовал подсеть 194.1... для внутренней сети. Мы большинство хостов уже перевели на 192.168, но есть часть оборудования, которое мы не обслуживам и доступа к нему нет, поэтому пока вот так. Все 3 адреса из разных подсетей, если что.



  • @max5775 Понятно
    А если хосту 192.168.1.10 ручками прописать путь до 192.168.10.0/24 через 192.168.1.253 , что будет ??? Я правильно понимаю , что у этого хоста шлюз по умолчанию 1.254 ?



  • Вы имеете ввиду прописать этот маршрут на http-сервере?
    Да, у него defroute 192.168.1.254.
    Прописал статически маршрут route add -net 192.168.10.0/24 gw 192.168.1.253 и все заработало. ПК из vlan 10 достучался до этого сервера. Значит косяк в pfsense, как я и думал, но вот в чем...



  • @max5775 Это называется "ассиметричная маршрутизация"



  • @Konstanti типа туда идет по одному маршруту, обратно по другому?
    Почему пинг то проходит?



  • @max5775 А как вы считаете , куда ответит 1.253 хост , если изначально пакет пришел от 1.10 ?



  • @Konstanti ну если они в одной сети, то напрямую, минуя 1.254



  • @max5775 Это не косяк PF , это "косяк" структуры Вашей сети



  • @Konstanti подскажите, как это все грамотно развести? пока в мыслях убрать маршрут в 192.168.10.0/24 через 1.253 и добавить на pfsense vlan 10 интерфейс и маршрутизировать через него



  • @max5775 сложно так сказать
    Но я бы часть работы повесил бы на коммутатор ( он же у Вас 3-го уровня ) ?
    Ну , вот пусть и маршрутизирует трафик между внутренними сетями . А всем остальным пусть PF занимается .



  • Третьего, просто заморочка идет с тем, что есть вот эта старая сеть с неуправляемыми свитчами, без vlan-ов и пр. И в ближайшей перспективе на ее переделку денег не будет, поэтому выкручиваемся как можем.
    P.S: удалил скрины из постов выше, раз с проблемой более-менее все понятно



  • Собственно решил пока таким образом. Убрал на SW адрес 1.253. Создал vlan 5 и vlan интрефейс с адресом 10.10.5.254/30. На pfsens также создал vlan 5 и виртуальный интрефейс с адресом 10.10.5.1/30, соединил их транком. В SW прописал маршрут по дефолту на 10.10.5.1, а на pfsens прописал статику вида
    192.168.10.0/24 через 10.10.5.254. Так все работает нормально.
    Конечно, с точки зрения правильности это не совсем верно, т.к трафик от серверов из vlan 1 и к ним из vlan 10 будет проходить через pfsense, который не совсем для этого подходит и более правильно будет коммутировать все через ядро SW. Поэтому в ближайшее время переделаю таким образом, что шлюзом для всех будет являтся SW, к которому через транк подключен pfsene, который будет только раздавать интернет


Log in to reply