Всем привет.
Столкнулся с интересной ситуацией. Настроил прокси на FreeBSD, в качестве фаервола использую PF, поставил кальмара... Суть проблемы в том что при сканирование внешнего IP на открытые порты показывает, открыт 3128 и 8080 порт. Хотя в правилах фаервола эти порты закрыты. Почему pf их не закрыл?
pfctl -sr ?
У меня таже фигня. FreeBSD 7.2+PF+SquidПравила PF
# Filtering
block all
pass in on $ext_if inet proto tcp from any to ($ext_if) port ssh flags S/SA keep state
pass in inet proto icmp all icmp-type $icmp_types keep state
pass out keep state
pass quick on $int_ifПри этом порты 3128 (Squid) и 80 (не могу определить чей) открыты, т.е. telnet через них конектится.
На серваке из сервисов запущены только sshd и squid, даже почтовик выключен.
Че за фигня может быть?И еще странно как-то связь держится. На работе пинг до сервака меньше 10 мс и ssh подключается, дома пинг от 30-40 мс и на ssh не пускает.
Добрался до сервера, вот результат pfctl -sr:xl0 - внутренний фейс, fxp0 - внешний фейс, а tun0 - виртуальный фейс от ppp поверх fxp0
scrub in all fragment reassemble
block drop in log all
pass out all flags S/SA keep state
anchor "ftp-proxy/*" all
block drop in on ! xl0 from (xl0:network) to any
block drop in from (xl0) to any
block drop in on ! fxp0 from (fxp0:network) to any
block drop in from (fxp0) to any
block drop in on ! tun0 from (tun0:network) to any
block drop in from (tun0) to any
block drop in on ! lo0 from (lo0:network) to any
pass in on fxp0 inet proto tcp from any to <ip> port = ssh flags S/SA keep state
pass in on tun0 inet proto tcp from any to <ip> port = ssh flags S/SA keep state
pass inet proto icmp all icmp-type echoreq keep state
pass inet proto icmp all icmp-type echorep keep state
pass quick on xl0 all flags S/SA keep state
Вопрос: Почему у меня снаружи открыты порты 80 (хотя веб севера у меня не установлено) и 3128 (Squid, он же не мог в обход pf порт окрыть)? Или где-то есть конфиг, который главнее PF?Конфигурация: FreeBSD 7.2 + PF + Squid
>[оверквотинг удален]
>При этом порты 3128 (Squid) и 80 (не могу определить чей) открыты,
>т.е. telnet через них конектится.
>
>На серваке из сервисов запущены только sshd и squid, даже почтовик выключен.
>
>Че за фигня может быть?
>
>И еще странно как-то связь держится. На работе пинг до сервака меньше
>10 мс и ssh подключается, дома пинг от 30-40 мс и
>на ssh не пускает.у тебя "pass out keep state"
когда к тебе в порт лезет пакет - первый улетает ресет - и сообветствующее правило добавляется в динамическую теблицу - результат - второй ракет плоходит по динамическому правилу, которое появилось после отправки ресета клиенту
проветь block-policy (или как там это пишется) надо поставить блокполиси дроп вместо блокполиси реджект
Если верить описалову, то drop стоит по умолчанию, т.е. его можно и не указывать. Но всё равно добавил.Сейчас уже всё работает более или менее... Косяк крылся в настройках pppoe. Когда указал dedicated связь стала стабильной.
Осталась только одна проблема: из-за pppoe (скорее всего) pf не может применить правила после перезагрузки. А указать в правилах физический интерфейс не получается, не пускат.
>Осталась только одна проблема: из-за pppoe (скорее всего) pf не может применить
>правила после перезагрузки. А указать в правилах физический интерфейс не получается,
>не пускат.перегружайте правила pf после установки соединения pppoe
>
>>Осталась только одна проблема: из-за pppoe (скорее всего) pf не может применить
>>правила после перезагрузки. А указать в правилах физический интерфейс не получается,
>>не пускат.
>
>перегружайте правила pf после установки соединения pppoeА как это сделать?
P.S. Пардон за вопрос, но я ещё далёк до звания гуру в юниксах.