• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

Закрыть доступ к шлюзу с внехи

Scheduled Pinned Locked Moved Russian
6 Posts 3 Posters 997 Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R
    Rearden
    last edited by Sep 29, 2014, 11:42 AM

    Добрый день!
    В продолжении этой темы https://forum.pfsense.org/index.php?topic=77367.0

    На pfSense статично смаршрутизированы белые адреса. На первом скриншоте правила на стороне абонента. На втором скриншоте правила на WAN интерфейсе для этого абонента. С обеих сторон правила настроены таким образом, что пользователь не может обратится к какому-либо адресу, принадлежащему роутеру, кроме как пингануть их. Для интерфейса абонента правила выглядят хорошо, а вот для WAN нет. Т.к. вместо одного правила приходится делать целых три. На маршрутизаторе около 40 VLAN /30 с белыми адресами и получается, что для каждого интерфейса надо делать три правила.

    Кто-нибудь знает более изящные варианты написания правил/запрета доступа к адресам роутера?
    onlan.png
    onlan.png_thumb
    onwan.PNG
    onwan.PNG_thumb

    1 Reply Last reply Reply Quote 0
    • D
      dvserg
      last edited by Sep 29, 2014, 11:53 AM

      Разрешите только то, что Вам нужно. По умолчанию все запрещено и так.

      SquidGuardDoc EN  RU Tutorial
      Localization ru_PFSense

      1 Reply Last reply Reply Quote 0
      • R
        rubic
        last edited by Sep 29, 2014, 1:41 PM

        @Rearden:

        Кто-нибудь знает более изящные варианты написания правил/запрета доступа к адресам роутера?

        В pfSense 2.2 обещают возможность использования ключевого слова "self" в правилах. "self" - это и есть все адреса роутера.
        В 2.1 можно просто сделать Alias "SELF" со всеми этими адресами и создать Floating Rule:
        Action: Block
        Quick: да
        Interface: не выбирать ни один (т. е. для всех)
        Direction: in
        Protocol: any
        Destination: Type: Single host or alias, Address: SELF

        Себе самому только доступ оставить не забудьте, и тоже обязательно через Floating Rule (они работают до правил интерфейсов). Выше приведенного должно быть правило доступа для админа, либо в приведенном сделайте Source:  Type: Single host or alias, Address: !ADMIN

        Если интерфейсы постоянно заводятся/удаляются, то в принципе наполнение алиаса "SELF" можно автоматизировать, т. к. алиас в терминах pfSense - это table в терминах pf. Как наполнить/обнулить table - все в man pfctl(8). Т. е. в скрипте выдергиваете адреса роутера, типа netstat -rnf inet | grep lo0 | awk '{print($1)}' и суете их через pfctl в таблицу SELF прямо на ходу.

        1 Reply Last reply Reply Quote 0
        • R
          Rearden
          last edited by Sep 30, 2014, 6:11 AM

          Спасибо, rubic.
          Создал алиас в вэб-интерфейсе, назвал self. В этот алиасе ничего не прописывал.
          По планировщику выполняю следующий скрипт:

          
          #!/bin/sh
          GETADDR=`/usr/bin/netstat -rn inet | grep lo0 | grep -v 127.0.0.1 | awk '{print($1)}'`
          
          /sbin/pfctl -q -t self -T flush
          
          for i in $GETADDR; do
              /sbin/pfctl -q -t self -T add $i
          done
          
          

          Все успешно отрабатывает, в разделе Diagnostic–>tables отображается табличка с адресами маршрутника.
          Но фишка в том, что когда редактируем какой либо алиас в вэб-интерфейсе, то табличка selft флушится.

          1 Reply Last reply Reply Quote 0
          • R
            Rearden
            last edited by Sep 30, 2014, 9:34 AM

            Решил следующим способом:

            Скрипт приобрел следующий вид

            /usr/bin/netstat -rn inet | grep lo0 | grep -vE '127.0.0.1|fe80::' | awk '{print($1)}' > /usr/local/www/my_address.txt
            

            и далее через Alias/URLs.

            1 Reply Last reply Reply Quote 0
            • R
              rubic
              last edited by Sep 30, 2014, 10:27 AM

              Ну или так. Проблема по сути в том, что alias хранится в config.xml и пишется в table после редактирования. Т. е. пустой alias в конфиге флэшит table при сохранении((
              Бегло посмотрел тут: https://www.mail-archive.com/list@lists.pfsense.org/msg03702.html и там: https://doc.pfsense.org/index.php/Using_the_PHP_pfSense_Shell
              но красивое решение как-то не придумалось

              1 Reply Last reply Reply Quote 0
              6 out of 6
              • First post
                6/6
                Last post
              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                This community forum collects and processes your personal information.
                consent.not_received