LINUX.ORG.RU
ФорумAdmin

Виноват pf (BSD)?


0

0

Шлюз в нет: freebsd 6.0, nat, pf, squid, squidGuard

Настроил pf на фре (конфиги приведу ниже). Перестали открываться ресурсы вроде zyxel.ru и cisco.ru. В первом случае выдаёт:

Content Encoding Error

The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression. Please contact the website owners to inform them of this problem.

* Please contact the website owners to inform them of this problem.

а во втором после некоторого раздумия: "Запрошенный URL не может быть доставлен". Ставлю pf в дисейбл и на циску попадаю без проблем, а на зуксел напрямую (не через squid если).

И ещу поступила жалоба с филиала, что со времени поднятия pf перестали отправляться по почте файлы более 100 Кб, хотя до этого всё было Ок.

В остальном же вс ё вроде работает и все рады ;)

cat /etc/pf.conf

ext_if="rl0"
int_if="sis0"

internal_net="192.168.1.0/24"
external_addr="83.221.211.202"
lo0="127.0.0.1"

tcp_services = "{ 5999, 110, 53, 443, 25, 8080, 5190, 1521, 6001 }" #
# "{ ftp-data, cvsup, smtp, domain, http, https, pop3, aol }"
#udp_services = "{ 53, 123 }"
udp_services = "{ domain, ntp }"
priv_nets = "{ 127.0.0.0/8, 192.168.1.0/24 }"
zenit_main = "{ ... }"

####scrub in all

nat on $ext_if from $int_if:network to any -> ($ext_if)
#nat on $ext_if from $internal_net to any -> ($ext_if)


# squid forwarding
rdr pass on $int_if proto tcp from $internal_net to any port { 80, 8080 } -> lo0 port 3128

#rdr pass on $int_if proto tcp from $internal_net to any port ftp -> lo0 port 3128

pass in quick on $int_if inet proto tcp from any to lo0 port 3128 keep state
pass out quick on $ext_if inet proto tcp from any to any port 80 keep state

#DNS
pass out proto tcp to any port domain keep state
pass proto udp to any port domain keep state

pass quick on lo0 all
####block quick log from any os NMAP
block log all

block in quick on $ext_if from $internal_net to any
block out quick on $ext_if from any to $internal_net

####antispoof for $ext_if

# terminal access support
#pass in proto tcp from $terminal_source to any port $terminal_port #flags S/SA keep state
#pass out proto tcp from $internal_net to $terminal_source port $terminal_port #flags S/SA keep state

# ftp support
#pass in proto { tcp, udp } from any to any port { 20, 21 } keep state
#pass out proto { tcp, udp } from any to any port { 20, 21 } keep state

# ssh support
pass in proto tcp from any to any port 22 flags S/SA keep state
pass out proto tcp from any to any port 22 flags S/SA keep state

# allow tcp services
pass in quick proto tcp from any to any port $tcp_services flags S/SA keep state
pass out proto tcp from any to any port $tcp_services flags S/SA keep state

# allow upd services
pass quick inet proto udp to any port $udp_services keep state
pass out proto udp to any port $udp_services keep state

# in/out ping requets support
pass in proto icmp from any to any keep state
pass out proto icmp from any to any keep state

# allow requests to/from web server
pass in log on $int_if proto tcp from $internal_net to $int_if port 80 flags S/SA
pass out log on $int_if proto tcp from any to $internal_net port 80 flags S/SA
pass in on $ext_if proto tcp from any to $ext_if port 80 keep state flags S/SA
pass out on $ext_if proto tcp from $ext_if to any port 80 keep state flags S/SA


pass in log all
pass out log all

★★★★★

Re: Виноват pf (BSD)?

> И ещу поступила жалоба с филиала, что со времени поднятия pf перестали отправляться по почте файлы более 100 Кб, хотя до этого всё было Ок.

Гм. Забыл сказать, что это проблема наблюдается только у тех, кто подключён к нам через vpn, настройки которго уже года пол не менялись.

vovans ★★★★★ ()

Re: Виноват pf (BSD)?

вывод tcpdump во время попытки коннекта к зукселу:

18:34:43.793680 IP vovans.r-style.donpac.ru.32813 > r-style.donpac.ru.domain: 33855+ A? zyxel.ru. (26)
18:34:43.793938 IP r-style.donpac.ru.domain > vovans.r-style.donpac.ru.32813: 33855 1/5/6 A ultra.zyxel.ru (248)
18:34:43.794230 IP vovans.r-style.donpac.ru.45498 > ultra.zyxel.ru.http: S 685049180:685049180(0) win 5840 <mss 1460,sackOK,timestamp 51847539 0,nop,wscale 2>
18:34:43.794297 IP ultra.zyxel.ru.http > vovans.r-style.donpac.ru.45498: S 1765301699:1765301699(0) ack 685049181 win 65535 <mss 1460,nop,wscale 1,nop,nop,timestamp 203023602 51847539,sackOK,eol>
18:34:43.794382 IP vovans.r-style.donpac.ru.45498 > ultra.zyxel.ru.http: . ack 1 win 1460 <nop,nop,timestamp 51847539 203023602>
18:34:43.794622 IP vovans.r-style.donpac.ru.45498 > ultra.zyxel.ru.http: P 1:499(498) ack 1 win 1460 <nop,nop,timestamp 51847539 203023602>
18:34:43.890716 IP ultra.zyxel.ru.http > vovans.r-style.donpac.ru.45498: . 1:1449(1448) ack 499 win 33304 <nop,nop,timestamp 203023698 51847539>
18:34:43.890729 IP ultra.zyxel.ru.http > vovans.r-style.donpac.ru.45498: P 1449:1511(62) ack 499 win 33304 <nop,nop,timestamp 203023698 51847539>
18:34:43.891124 IP vovans.r-style.donpac.ru.45498 > ultra.zyxel.ru.http: . ack 1449 win 2184 <nop,nop,timestamp 51847563 203023698>
18:34:43.891133 IP vovans.r-style.donpac.ru.45498 > ultra.zyxel.ru.http: . ack 1511 win 2184 <nop,nop,timestamp 51847563 203023698>
18:34:43.891997 IP ultra.zyxel.ru.http > vovans.r-style.donpac.ru.45498: P 1511:2959(1448) ack 499 win 33304 <nop,nop,timestamp 203023699 51847563>
18:34:43.892389 IP vovans.r-style.donpac.ru.45498 > ultra.zyxel.ru.http: . ack 2959 win 2908 <nop,nop,timestamp 51847564 203023699>
18:34:43.925584 IP ultra.zyxel.ru.http > vovans.r-style.donpac.ru.45498: P 2959:4407(1448) ack 499 win 33304 <nop,nop,timestamp 203023733 51847564>
18:34:43.925988 IP vovans.r-style.donpac.ru.45498 > ultra.zyxel.ru.http: . ack 4407 win 3632 <nop,nop,timestamp 51847572 203023733>
18:34:43.926139 IP vovans.r-style.donpac.ru.45498 > ultra.zyxel.ru.http: R 499:499(0) ack 4407 win 3632 <nop,nop,timestamp 51847572 203023733>

vovans ★★★★★ ()
Ответ на: Re: Виноват pf (BSD)? от vovans

Re: Виноват pf (BSD)?

тогда не знаю :-)
была похожая проблема с разными мту в сетях и openvpn.
посмотрите tcpdump'ом нет запросов на фрагментацию??

tugrik ★★ ()
Ответ на: Re: Виноват pf (BSD)? от tugrik

Re: Виноват pf (BSD)?

Да трудно отследить, когда там будут что-то делать в филиале :( А просто так за тцдампом следить лениво ;)

vovans ★★★★★ ()

Re: Виноват pf (BSD)?

nat on $ext_if from $int_if:network to any -> ($ext_if)

заменить на

nat on $ext_if from any to any -> ($ext_if) ?

x86 ★★ ()
Ответ на: Re: Виноват pf (BSD)? от x86

Re: Виноват pf (BSD)?

Ок, на работе попробую. А от чего это может помочь? ;)

vovans ★★★★★ ()
Ответ на: Re: Виноват pf (BSD)? от vovans

Re: Виноват pf (BSD)?

У меня наблюдался забавный эффект на опенке, при первом варианте ната приложение проходило TCP handshake с одним портом источника а потом слало сегменты с другим. Причем не совсеми сайтами (squid работал), а с rapidshare и sourceforge

x86 ★★ ()
Ответ на: Re: Виноват pf (BSD)? от x86

Re: Виноват pf (BSD)?

Да, сиська вроде заработала, а вот зуксел так и не открывается. Подозреваю, дело в проксике (скуиде). Напрямую всё идёт, а через прокси -- нет! Выдаёт:

Content Encoding Error

The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression. Please contact the website owners to inform them of this problem.

* Please contact the website owners to inform them of this problem.

vovans ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.