Alias URL Table
-
Добрый день.
Подскажите, как в Alias URL Table указать исключение блока IP адресов?
10.0.0.0/8
!10.8.8.0/24
Это пример. Дело в том что при просмотре таблицы не видно именно строки исключения. -
@lucas1 По идее подсети задаются в Firewall->Aliases->IP.
А Собственно исключения (!) с этими алиаасами задаются при создании правил. -
Я не нашел как в правиле указать исключение !.
Вообще я хочу создать правило в котором указан источник таблица со строками каких-то моих подсетей. Но из этих подсетей мне надо исключить некий диапазон IP-адресов. Это цитата из книги по настройке pf в OpenBSD, чтобы точно указать, что мне надо.You can specifically exclude a section of network numbers from a table by using the negation (!)
operator. This lets you make tables easily with entries such as "Every IP address beginning with
10, except for the 10.8.8.0/24 block."
table <remote> {10.0.0.0/8, !10.8.8.0/24}
You can also use a similar entry in a file:
10.0.0.0/8
!10.8.8.0/24В PfSense как это сделать? Табличный файл создал, втянул эту таблицу в Firewall\Aliases\URLs. Но повторюсь при просмотре Diagnostics\Tables именно исключений не видно.
-
@lucas1 said in Alias URL Table:
Но повторюсь при просмотре Diagnostics\Tables именно исключений не видно.
Они там и не появятся. При создании любого правила для Source\ Destination есть опция Invert match.
Это и есть (!). И, еще раз, задается она в собственно правиле, где вы можете использовать алиасы, хоть с negation (!=Invert match), хоть без. -
Спасибо за подсказку опции Invert match в правилах.
Я за это как-то забыл. Но ведь получается соответствие: все - кроме исключений адресов, которые я указал.
А хотелось бы соответствие: данная подсеть - кроме исключений адресов этой подсети, которые я указал.Я думаю это особенно актуально для правил LAN.
Тем более в классическом packet filter такое было.
-
@lucas1 в классическом pf файл pf.conf Вы создаёте сами, а тут программа. Не все функции pf можно реализовать через Web интерфейс,к сожалению. Приходится мириться с этим, или 'допиливать' софт под себя.
-
Еще хочу уточнить. В Firewall\Aliases\ возможно ли использование при указании FQDNs знаков подстановки * и ?. Ну вроде как t?st*dd.com или *.test.com?
-
@lucas1 а как по-вашему будет найден ip адрес алиаса со знаком '*'? Pf в своих правилах оперирует ip адресами, а не доменными именами
-
@lucas1 Если у Вас стоит задача отфильтровывать трафик по доменному имени , то надо использовать прокси или более хитрые технологии , умеющие "копаться" в содержимом IP,TCP/UDP пакета .
В чем состоит задача ?
-
есть необходимость отключить доступ на некоторые сайты в Интернете. О каких более хитрых технологиях вы писали?
-
@lucas1 Доброе утро
Отключить по ip или по доменному имени ????
Желательна конкретика , хотя бы для примера ( реальном примере ) -
По доменному имени. Например facebook.com, vk.com, twitter.com и т.д.
-
@lucas1
Рассмотрите squid -
@oleg1969
А если IP "плавающий" ?
Например , для paypal.com всякий раз разные IP возвращает DNS сервер
Я бы тут блокировал все на уровне DNS запроса
c 3-х разных хостов пинг paypal.ru
64 bytes from 23.12.80.69: icmp_seq=0 ttl=55 time=18.652 ms
64 bytes from 23.12.80.69: icmp_seq=1 ttl=55 time=18.532 ms64 bytes from 23.200.145.66: icmp_seq=0 ttl=58 time=54.327 ms
64 bytes from 23.200.145.66: icmp_seq=1 ttl=58 time=55.026 ms
64 bytes from 23.200.145.66: icmp_seq=2 ttl=58 time=54.514 ms64 bytes from a23-37-170-170.deploy.static.akamaitechnologies.com (23.37.170.170): icmp_seq=1 ttl=59 time=5.77 ms
64 bytes from a23-37-170-170.deploy.static.akamaitechnologies.com (23.37.170.170): icmp_seq=2 ttl=59 time=5.48 ms -
@oleg1969 said in Alias URL Table:
@konstanti said in Alias URL Table:
@oleg1969
А если IP "плавающий" ?Ну тогда pfBlockerNG!
Только не надо забывать, что необходимо будет заблокировать все альтернативные способы ресолва DNS записей.
-
Да покв без Squid. Насчет плавающего IP. Т.е. FQDN в Firewall\Aliases\ разрешаются при старте PfSense,потом кешируются, а не при каждом обращении к правилу? А списки FQDN pfBlockerNG работают по другому?
-
@lucas1
По поводу "плавающего" ip - для того чтобы отловить такое , нужно по ip получать имя хоста , и тогда уже проверять , совпадет - не совпадет. Думаю , что PF такое не умеет .
Полагаю , что PFBlocker работает с DNS запросами и уже по ним анализирует свои списки доступа . -
То, что paypal.ru отдает разные IP - это я полагаю опция round-robin DNS сервера.
Визуально списки FQDN Firewall\Aliases\ и pfBlockerNG ничем не отличаются. Я понимаю, что задача pfBlockerNG автоматически создать правило на основе конкретного списка, указанного в настройках pfBlockerNG. Т.е. либо вручную правило через списки FQDN Firewall\Aliases\ создавать, либо автоматически через pfBlockerNG. Вопрос в том, что непонятно как происходит разрешение конкретного FQDN в данном списке для данного правила, содержащего Alias. Т.е я хотел сказать если nslookup paypal.ru разрешается сейчас в 64.4.250.13 64.4.250.14 64.4.250.19 64.4.250.20,
то при наличии FQDN paypal.ru в алиасе в правиле, разрешение FQDN будет разовым или постоянным при обращении к правилу? Єто я на случай, если завтра nslookup paypal.ru будет разрешаться вообще в другие IP, а PfSense не перезагружался. -
@lucas1 said in Alias URL Table:
то при наличии FQDN paypal.ru в алиасе в правиле, разрешение FQDN будет разовым или постоянным при обращении к правилу? Єто я на случай, если завтра nslookup paypal.ru будет разрешаться вообще в другие IP, а PfSense не перезагружался.
Все зависит от настройки PfSense, где-то есть настройка с какой периодичностью ресолвятся домены из списков, System / Advanced / Firewall & NAT / Aliases Hostnames Resolve Interval 300 секунд
-
Спасибо за ответ.
-
По поводу "плавающего" ip - для того чтобы отловить такое , нужно по ip получать имя хоста , и тогда уже проверять , совпадет - не совпадет. Думаю , что PF такое не умеет .
Полагаю , что PFBlocker работает с DNS запросами и уже по ним анализирует свои списки доступа .
- Заворачиваем все dns-запросы на пф https://docs.netgate.com/pfsense/en/latest/dns/redirecting-all-dns-requests-to-pfsense.html
Опционально: - Устанавливаем cron
- Добавляем в cron */5 * * * * root /usr/bin/killall -9 filterdns ; /bin/sleep 5 ; /usr/local/sbin/filterdns -p /var/run/filterdns.pid -i 300 -c /var/etc/filterdns.conf -d 1
У меня без пп.2-3 неоперативно отрабатывалось разрешение имен в Сети для клиентов.
- Заворачиваем все dns-запросы на пф https://docs.netgate.com/pfsense/en/latest/dns/redirecting-all-dns-requests-to-pfsense.html
-
Как вариант, можно попробовать воспользоваться директивой ipset в dnsmasq — вроде как для pfSense он собирается с ней.