Squid на 1 интерфейсе. Проблема с firewall
-
Простейший выход - в System: Advanced: Firewall and NAT установить флажок Static route filtering [V] Bypass firewall rules for traffic on the same interface
Спасибо за развернутый и понятный ответ. Сделал. Но теперь видно такую картину: трафик по-прежнему блокируется. Скрин в аттаче. Как пофиксить можно?
-
галки сними "блокировать приватные сети"
-
-
Спасибо за развернутый и понятный ответ. Сделал. Но теперь видно такую картину: трафик по-прежнему блокируется. Скрин в аттаче. Как пофиксить можно?
Попробуйте в вашем разрешающем правиле в секции Advanced features установить State Type в "none"
В настройках интерфейса Gateway тоже установите в "none"
Приведите вывод pfctl -sn && pfctl -sr -
Добрался, наконец, до своего прокси. Сделал state none, в поле gateway у меня нет "none". Только default и 10.74.59.1
Всё равно блокируется… Реально уже есть готовность разобраться в синтаксисе pf и ручками правила прописывать. Знать бы ещё где они в pfSense запрятаныВывод pfctl -sn && pfctl -sr
[2.1.4-RELEASE][root@firewall.116]/root(1): pfctl -sn && pfctl -sr no nat proto carp all nat-anchor "natearly/*" all nat-anchor "natrules/*" all nat on re0 inet from 37.113.131.0/24 port = isakmp to any port = isakmp -> 10.74.59.90 port 500 nat on re0 inet from 192.168.0.0/24 port = isakmp to any port = isakmp -> 10.74.59.90 port 500 nat on re0 inet from 127.0.0.0/8 port = isakmp to any port = isakmp -> 10.74.59.90 port 500 nat on re0 inet from 37.113.131.0/24 to any -> 10.74.59.90 port 1024:65535 nat on re0 inet from 192.168.0.0/24 to any -> 10.74.59.90 port 1024:65535 nat on re0 inet from 127.0.0.0/8 to any -> 10.74.59.90 port 1024:65535 no rdr proto carp all rdr-anchor "relayd/*" all rdr-anchor "tftp-proxy/*" all no rdr on re0 inet proto tcp from any to 192.168.0.0/16 port = http no rdr on re0 inet proto tcp from any to 172.16.0.0/12 port = http no rdr on re0 inet proto tcp from any to 10.0.0.0/8 port = http no rdr on re0 inet proto tcp from 10.74.59.90 to any port = http no rdr on re0 inet proto tcp from 10.74.59.1 to any port = http no rdr on re0 inet proto tcp from 10.74.59.201 to any port = http no rdr on re0 inet proto tcp from any to 10.31.6.0/24 port = http no rdr on re0 inet proto tcp from any to 91.193.240.222 port = http no rdr on re0 inet proto tcp from any to 91.216.53.12 port = http no rdr on re0 inet proto tcp from any to 91.216.53.98 port = http rdr on re0 inet proto tcp from any to ! (re0) port = http -> 127.0.0.1 port 3128 rdr-anchor "miniupnpd" all scrub on rl0 all fragment reassemble scrub on ste0 all fragment reassemble scrub on re0 all fragment reassemble anchor "relayd/*" all anchor "openvpn/*" all anchor "ipsec/*" all block drop in log quick inet6 all label "Block all IPv6" block drop out log quick inet6 all label "Block all IPv6" block drop in log inet all label "Default deny rule IPv4" block drop out log inet all label "Default deny rule IPv4" block drop in log inet6 all label "Default deny rule IPv6" block drop out log inet6 all label "Default deny rule IPv6" pass out quick inet6 proto ipv6-icmp from fe80::/10 to fe80::/10 icmp6-type echorep keep state pass out quick inet6 proto ipv6-icmp from fe80::/10 to fe80::/10 icmp6-type routersol keep state pass out quick inet6 proto ipv6-icmp from fe80::/10 to fe80::/10 icmp6-type routeradv keep state pass out quick inet6 proto ipv6-icmp from fe80::/10 to ff02::/16 icmp6-type echorep keep state pass out quick inet6 proto ipv6-icmp from fe80::/10 to ff02::/16 icmp6-type routersol keep state pass out quick inet6 proto ipv6-icmp from fe80::/10 to ff02::/16 icmp6-type routeradv keep state pass in quick inet6 proto ipv6-icmp from fe80::/10 to fe80::/10 icmp6-type echoreq keep state pass in quick inet6 proto ipv6-icmp from fe80::/10 to fe80::/10 icmp6-type routersol keep state pass in quick inet6 proto ipv6-icmp from fe80::/10 to fe80::/10 icmp6-type routeradv keep state pass in quick inet6 proto ipv6-icmp from fe80::/10 to ff02::/16 icmp6-type echoreq keep state pass in quick inet6 proto ipv6-icmp from fe80::/10 to ff02::/16 icmp6-type routersol keep state pass in quick inet6 proto ipv6-icmp from fe80::/10 to ff02::/16 icmp6-type routeradv keep state pass in quick inet6 proto ipv6-icmp from ff02::/16 to fe80::/10 icmp6-type echoreq keep state pass in quick inet6 proto ipv6-icmp from ff02::/16 to fe80::/10 icmp6-type routersol keep state pass in quick inet6 proto ipv6-icmp from ff02::/16 to fe80::/10 icmp6-type routeradv keep state pass quick inet6 proto ipv6-icmp all icmp6-type unreach keep state pass quick inet6 proto ipv6-icmp all icmp6-type toobig keep state pass quick inet6 proto ipv6-icmp all icmp6-type neighbrsol keep state pass quick inet6 proto ipv6-icmp all icmp6-type neighbradv keep state block drop quick inet proto tcp from any port = 0 to any block drop quick inet proto tcp from any to any port = 0 block drop quick inet proto udp from any port = 0 to any block drop quick inet proto udp from any to any port = 0 block drop quick inet6 proto tcp from any port = 0 to any block drop quick inet6 proto tcp from any to any port = 0 block drop quick inet6 proto udp from any port = 0 to any block drop quick inet6 proto udp from any to any port = 0 block drop quick from <snort2c>to any label "Block snort2c hosts" block drop quick from any to <snort2c>label "Block snort2c hosts" block drop in log quick proto tcp from <sshlockout>to (self) port = ssh label "sshlockout" block drop in log quick proto tcp from <webconfiguratorlockout>to (self) port = http label "webConfiguratorlockout" block drop in quick from <virusprot>to any label "virusprot overload table" block drop in on ! rl0 inet from 37.113.131.0/24 to any block drop in inet from 37.113.131.164 to any block drop in on ! ste0 inet from 192.168.0.0/24 to any block drop in inet from 192.168.0.11 to any block drop in on ! re0 inet from 10.74.59.0/24 to any block drop in inet from 10.74.59.90 to any block drop in on rl0 inet6 from fe80::1ebd:89ff:fe27:fa39 to any block drop in on ste0 inet6 from fe80::c24a:ff:fe01:a188 to any block drop in on re0 inet6 from fe80::2e0:52ff:fec2:e6f0 to any pass in on lo0 inet all flags S/SA keep state label "pass IPv4 loopback" pass out on lo0 inet all flags S/SA keep state label "pass IPv4 loopback" pass in on lo0 inet6 all flags S/SA keep state label "pass IPv6 loopback" pass out on lo0 inet6 all flags S/SA keep state label "pass IPv6 loopback" pass out inet all flags S/SA keep state allow-opts label "let out anything IPv4 from firewall host itself" pass out inet6 all flags S/SA keep state allow-opts label "let out anything IPv6 from firewall host itself" pass out route-to (re0 10.74.59.1) inet from 10.74.59.90 to ! 10.74.59.0/24 flags S/SA keep state allow-opts label "let out anything from firewall host itself" pass out on enc0 all flags S/SA keep state label "IPsec internal host to host" pass in quick on ste0 proto tcp from any to (ste0) port = http flags S/SA keep state label "anti-lockout rule" pass in quick on ste0 proto tcp from any to (ste0) port = ssh flags S/SA keep state label "anti-lockout rule" anchor "userrules/*" all pass quick on re0 inet all flags S/SA keep state label "USER_RULE" pass quick on re0 inet6 all flags S/SA keep state label "USER_RULE" pass in quick on rl0 inet all no state label "USER_RULE" pass in quick on ste0 inet all no state label "USER_RULE: Default allow LAN to any rule" pass in quick on ste0 inet6 all no state label "USER_RULE: Default allow LAN IPv6 to any rule" pass in quick on re0 reply-to (re0 10.74.59.1) inet all no state label "USER_RULE" pass in quick on re0 inet6 all no state label "USER_RULE" anchor "tftp-proxy/*" all pass in quick on re0 proto tcp from any to ! (re0) port = http flags S/SA keep state pass in quick on re0 proto tcp from any to ! (re0) port = 3128 flags S/SA keep state</virusprot></webconfiguratorlockout></sshlockout></snort2c></snort2c>
-
Есть прокси на базе pfSense в локальной сети с одним wan, которому присвоен статический ip в моей локальной сети. В логах фаервола видно, что достаточно большая часть трафика в локальной сети блокируется. Отключать полностью фаервол-не вариант. Мне нужен там сквид, который будет прозрачно обрабатывать весь трафик, который проходит через pfSense.
В такой конфигурации никто ничего у Вас прозрачно обрабатывать не будет. Рекомендую сделать нормальную стандартную схему включения pfSense c 2 интерфейсами и убрать роутер, либо прописать у всех принудительно прокси (шлюзом при этом должен быть "роутер").
-
... pass quick on re0 inet all flags S/SA keep state label "USER_RULE" ... pass in quick on re0 reply-to (re0 10.74.59.1) inet all no state label "USER_RULE" ... pass in quick on re0 proto tcp from any to ! (re0) port = http flags S/SA keep state ...
У вас первое "USER_RULE" со своим keep state перекрывает второе с no state. Очевидно первое - это floating rule? Тогда в его свойствах поставить direction=IN, убрать quick, в Advanced features установить State Type в "none". Второе "USER_RULE" - убрать вообще (вкладка WAN). Должно получиться что-то вроде:
... pass in on re0 inet all no state label "USER_RULE" ... pass in quick on re0 proto tcp from any to ! (re0) port = http flags S/SA keep state ...
-
У вас первое "USER_RULE" со своим keep state перекрывает второе с no state. Очевидно первое - это floating rule? Тогда в его свойствах поставить direction=IN, убрать quick, в Advanced features установить State Type в "none". Второе "USER_RULE" - убрать вообще (вкладка WAN). Должно получиться что-то вроде:
Спасибо! Очень приятно получать помощь от знающих людей, которые всё понимают с первого раза и не задают вопросов, уводящих в совершенно другую степь.
Итого имеем 2 разрешающих всё floating rules с доп. параметрами:
State: none
Direction: any
Все лишние интерфейсы выпилены, на единственном LAN ни одного правила, кроме AntiLockout. Все работает, ничего не блокируется фаерволом, squid+squidguard работают так как нужно.
Было бы ещё неплохо узнать что именно я сделал, указав state: none. -
У вас первое "USER_RULE" со своим keep state перекрывает второе с no state. Очевидно первое - это floating rule? Тогда в его свойствах поставить direction=IN, убрать quick, в Advanced features установить State Type в "none". Второе "USER_RULE" - убрать вообще (вкладка WAN). Должно получиться что-то вроде:
Спасибо! Очень приятно получать помощь от знающих людей, которые всё понимают с первого раза и не задают вопросов, уводящих в совершенно другую степь.
Итого имеем 2 разрешающих всё floating rules с доп. параметрами:
State: none
Direction: any
Все лишние интерфейсы выпилены, на единственном LAN ни одного правила, кроме AntiLockout. Все работает, ничего не блокируется фаерволом, squid+squidguard работают так как нужно.
Было бы ещё неплохо узнать что именно я сделал, указав state: none.Даже прозрачный режим завелся?
-
Даже прозрачный режим завелся?
Ну, не совсем прозрачный. 1 TTL съедает, но если мы говорим о прозрачной фильтрации сквидом, то, да. Завёлся. Постоянно работал. Нужно было просто особым образом убрать firewall из уравнения. Теперь можно этот шлюз раздавать пользователям по dhcp и они, сами того не зная, будут ходить через прокси.
-
Даже прозрачный режим завелся?
Ну, не совсем прозрачный. 1 TTL съедает, но если мы говорим о прозрачной фильтрации сквидом, то, да. Завёлся. Постоянно работал. Нужно было просто особым образом убрать firewall из уравнения. Теперь можно этот шлюз раздавать пользователям по dhcp и они, сами того не зная, будут ходить через прокси.
Наверное что-то в правилах сквида поправили. У меня пару лет назад подобная же схема не завелась в прозрачном режиме.
-
Было бы ещё неплохо узнать что именно я сделал, указав state: none.
То же самое, о чем я говорил в начале. Нет state - нет проблемм с асимметричной маршрутизацией.
Пожалуйста. Добро пожаловать в клуп извращенцев))