Не работают правила фаервола для сервера PPPOE



  • Здравствуйте, настроил PPPOE сервер для выхода пользователей в интернет. на PPPOE созданы пользователи во внутренней базе и даны IP адреса . Пытаюсь заблокировать PPPOE клиента с адресом 192.168.106.10 через фаервол и ничего не происходит. Правила пробовал делать на всех интерфейсах и ничего не происходит помогите.....( в фаерволе одно правило разрешающее весь траффик скриншот



  • @igogo56136
    Здр

    То что показали - это правило в направление мир-> Ваша сеть . При таком правиле Вы открываете доступ ко всем портам своего файрвола .

    Чтобы заблокировать пользователя в направлении Ваша сеть -> внешний мир правило надо создать на интерфейсе , к которому принадлежит нужный ip пользователя.



  • @Konstanti Если сервер PPPOE выдает адреса значит он и является интерфейсом на котором нужно создавать правила блокировки? Я делал block source 192.168.106.10 Destination Any и двигал правило выше и ниже не блокировало. Значит мешает мое правило которое на скриншоте? У меня идея сделать Алиасы со всеми айпи и разрешить им доступ а в ругое правило пихать заблокированных но мне кажется это трудоемко.



  • @igogo56136
    Тогда правило для 192.168.106.10 должно быть выше того , что я вижу на скриншоте
    Те будет 2 правила
    1 запретить 106.10
    2 разрешить остальным все

    очередность правил важна



  • @Konstanti так и делал - не работает) в чем косяк не пойму. Может дело в том что PPPOE это протокол уровня мак адресов ? а не IP. Но прокси сервер сквид видит айпи адреса. Пробовал правило блокировки на интерфейсах PPPOE, WAN, во Floating тоже писал - не пашет. Сквид настроен как прозрачный прокси.



  • @igogo56136
    Покажите само правило
    и как выглядит список правил на PPPOE интерфейсе
    И проверьте - нет ли ошибки в ip адресе ?
    Точно сервер выдает ip адреса из сети 192.168.106.0/24 ?



  • @Konstanti скриншот2 да точно выдает из 106 подсети.!скриншот3 скриншот4 скриншот5
    Константин я кажется допер надо было делать правила на 106 интерфейсе а не на PPPOE ? смогу только завтра проверить



  • @igogo56136
    Покажите само правило
    и настройки сервера
    и попробуйте посмотреть через Packet capture , с каким ip адресом источника идут пакеты через интрефейс PPPOE Server.



  • @igogo56136
    2020-03-18 19_54_56-3 — ImgBB - Waterfox Classic.png

    1. Почему у Вас стартовый ip - .0 ?
      .0 - адрес СЕТИ.
      .255 - шировещательный адрес.

    2. Чем вызвано использование ПППоЕ для доступа в сеть? Вы - провайдер?

    Зы. Цепляйте скрины здесь.



  • @werter там вроде бы указывается подсеть а ниже ее маска. а адреса вручную прописываются. нет не провайдер локалка просто пппое хоть как то спасает от подмены мак адреса. выход в интернет через пппое нету мороки с мту. Pfsense используется для тестов



  • https://docs.netgate.com/pfsense/en/latest/book/trafficshaper/limiters.html

    Remote Address Range
    The IP address for the start of the PPPoE client subnet. Together with the Subnet Mask it defines the network used by the PPPoE clients.

    Там точно должна быть цифра, отличная от нуля.

    выход в интернет через пппое нету мороки с мту.

    А что с мту без ппое?



  • @werter said in Не работают правила фаервола для сервера PPPOE:

    Remote Address Range
    The IP address for the start of the PPPoE client subnet. Together with the Subnet Mask it defines the network used by the PPPoE clients.

    Спасибо попробую сменить завтра на 1. полетит пакетик с мту 1500 с флагом не фрагментировать и не пройдет через 1492) дропнется. не?)



  • @werter Поставил 1 вместо нуля ничего не изменилось.



  • @igogo56136 said in Не работают правила фаервола для сервера PPPOE:

    @werter Поставил 1 вместо нуля ничего не изменилось.

    И не должно. Так правильно.



  • @igogo56136 said in Не работают правила фаервола для сервера PPPOE:

    @werter said in Не работают правила фаервола для сервера PPPOE:

    Remote Address Range
    The IP address for the start of the PPPoE client subnet. Together with the Subnet Mask it defines the network used by the PPPoE clients.

    Спасибо попробую сменить завтра на 1. полетит пакетик с мту 1500 с флагом не фрагментировать и не пройдет через 1492) дропнется. не?)

    Кхм. Не.



  • @werter ну как нет) так проверяют мту) если дропает то мту большой



  • @Konstanti в Packet Capture интерфейса PPPOE нет в списке. Но на интерфейсе LAN106 виден нужный IP с подписью pppoe. Значит блокировать надо на интерфейсе LAN106. Я на нем правило делал - не работает. Какие именно нужно показать настройки сервера?. Две сетевые карты реалтек. одна смотрит в локалку через интерфейсы tagged VLAN . Запущен PPPOE сервер на интерфейсах VLAN с него клиенты идут на SQUID в прозрачном режиме и кто не проходит через SQUID идет через NAT. WAN -интернет интерфейс который идет на роутер с выходом в интернет.



  • @igogo56136
    Здр
    можете показать вывод 2-х команд из консоли ?

    1. ifconfig

    2. ngctl list ( при установленном PPPoE соединении)

    и еще - покажите блокирующее правило "внутри" для нужного хоста на закладке PPPoE сервер



  • @Konstanti
    Новый текстовый документ.txt
    выхлоп очень большой не дает запостить выгрузил в тхт файл
    Безымянный2.png



  • @igogo56136
    Да , выхлоп большой
    Смысл работы тут понятен

    а можно еще увидеть вывод команды
    pfctl -sr | grep pppoe



  • @Konstanti said in Не работают правила фаервола для сервера PPPOE:

    pfctl -sr | grep pppoe

    pass in quick on pppoe inet all flags S/SA keep state label "USER_RULE"



  • @igogo56136
    Обратите внимание - запрещающего правила нет для нужного хоста
    То что я вижу - "разрешает все" для PPPoE клиентов



  • @Konstanti значит проблема в разрешающем правиле? или правило не применяется? Сейчас я создам запрещающее правило и дам выхлоп

    итого выхлоп с запрещающим правилом
    block drop in quick on pppoe inet proto tcp from 192.168.106.10 to any flags S/SA label "USER_RULE"
    pass in quick on pppoe inet all flags S/SA keep state label "USER_RULE"

    странно то что правило есть а у пользователя инет тоже есть) и пинги идут итд я даже ждал минут 10 вдруг срабатывает с запаздыванием. И пользователю пппое перезапускал - пофиг не работает правило и все. Врятли правило не работает тут что то другое может баг?) еще заметил интересную штуку. пинги запускаю с клиента а когда блокирую- один пакет пропадает и пинги дальше идут



  • @igogo56136
    Пинги != tcp
    Вы блокируете только tcp

    в настройке правил есть галочка
    48c9363e-91fa-47da-9dc6-b711a750b5c8-image.png

    Отметьте ее в разрешающем правиле

    а потом идите
    /Status/System Logs/Firewall

    и посмотрите , что там написано про источник и назначение



  • @igogo56136
    Как вариант попробовать

    1. Запускаете консоль и вводите команду ifconfig
    2. находите название интерфейса , соответствующее строке 108.10
      Например , у Вас в файле
    ng5: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1480
    	inet 192.168.108.254 --> 192.168.108.10 netmask 0xffffffff
    	inet6 fe80::21d:92ff:fe69:fe70%ng5 prefixlen 64 scopeid 0x19
    	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    

    Интерфейс ng5
    Выполняем вот такую команду

    echo "block in quick on ng5  inet " | pfctl -a userrules/u002 -f -
    

    сработает ???

    чтобы отключить эту конструкцию введите команду

    pfctl -a userrules/u002 -F rules
    


  • @Konstanti а этот интерфейс не динамический? вдруг он изменится при переподключении



  • @igogo56136 Динамический
    Измениттся
    Мне интересно - сработает или нет



  • @Konstanti Знаете что странно сейчас правило сработало через веб интерфейс но когда я его выключил и включил оно перестало работать. Я тут подумал может стоит подождать не 10 минут а больше и оно применится? а попозже ваше правило попробую



  • @Konstanti нашел в чем причина)) заработало . вобщем после правил надо делать Diagnostics->States->Reset States и поставить галочку Reset the firewall state table и нажать Reset и после этого правила работают) Спасибо за помощь!) Надо потестить денек-другой чтобы убедиться точно что проблема в этом



  • @Konstanti Попытался сделать блокировку с 17 00 до 00 00 не срабатывает. в Firewall - >Schedules создал период времени пн-вс с 17-00 до 23-59 и добавил в правило блокировки 192.168.106.10 - не срабатывает. Делал States Reset пофиг. Мне кажется не получится сделать блокировку по времени -нужен RADIUS.



  • @igogo56136
    Здр
    Есть одна идея как такое реализовать
    Но для этого надо провести эксперимент
    Из консоли выполняем последовательно такие команды

    1. pfctl -k 192.168.106.10
    2. netstat -nr | grep 192.168.106.0/24 | awk '{print $4}'
      отсюда берем название интерфейса , на котором сейчас висит нужная сеть
    3. echo "block in quick on здесь_ставим_имя_интерфейса_из пред_команды inet from 192.168.106.10 to any " | pfctl -a userrules/u002 -f -

    Сработает ???
    Для отключения блокировки
    pfctl -a userrules/u002 -F rules



  • @Konstanti said in Не работают правила фаервола для сервера PPPOE:

    pfctl -k 192.168.106.10

    команда netstat -nr | grep 192.168.106.0/24 | awk '{print $4}' ничего не вывела, нашел что сидит на интерфейсе ng39 подставил его - не блокирует



  • @igogo56136
    удалите блок , как я написал
    и потом
    а если так ?
    pfctl -k 192.168.106.10
    echo "block in quick from 192.168.106.10 to any " | pfctl -a userrules/u002 -f -

    и покажите вывод команды
    netstat -4nr



  • @Konstanti said in Не работают правила фаервола для сервера PPPOE:

    netstat -4nr

    не сработало
    выхлоп netstat -4nr
    123123.txt



  • @igogo56136
    pfctl -a userrules/u002 -F rules
    pfctl -k 192.168.106.10
    netstat -nr | grep 192.168.106.10 | awk '{print $4}'
    echo "block in quick on ng39 " | pfctl -a userrules/u002 -f -



  • @Konstanti не сработало. интернет у 192.168.106.10 есть. Пинг один пакет пропал и дальше пошли пинги



  • @igogo56136
    а покажите пож вывод после ввода каждой команды
    дальше
    команду echo "block in quick on ng39 " | pfctl -a userrules/u002 -f - немного изменяем
    на такое
    echo "block in log quick on ng39 " | pfctl -a userrules/u002 -f -

    и после всех манипуляций покажите пож вывод команды
    pfctl -a userrules/u002 -sr

    и посмотрите логи файрвола



  • @Konstanti
    pfctl -a userrules/u002 -F rules
    rules cleared

    pfctl -k 192.168.106.10
    killed 2 states from 1 sources and 0 destinations

    netstat -nr | grep 192.168.106.10 | awk '{print $4}'
    ng39

    echo "block in log quick on ng39 " | pfctl -a userrules/u002 -f -
    пусто

    pfctl -a userrules/u002 -sr
    block drop in log quick on ng39 all
    в логах чисто по 192.168.106.10



  • @igogo56136
    а если поменять правило так
    echo "block out log quick on ng39 " | pfctl -a userrules/u002 -f -



  • @Konstanti said in Не работают правила фаервола для сервера PPPOE:

    echo "block out log quick on ng39 " | pfctl -a userrules/u002 -f -
    echo "block out log quick on ng39 " | pfctl -a userrules/u002 -f -
    пусто
    интернет есть у 192.168.106.10
    вывод тот же самый
    у меня еще suricata стоит но не на этом интерфейсе. может поможет инфа....


Log in to reply