Имеется FreeBSD 6.1 с pf. Проблема в том, что ни один из серверов (ssh,pop3,smtp) не доступен снаружи. Думал, что дело в pf, но отключение фаерволла и pass out all ничего не изменило.
tcpdump показывает, что пакеты извне приходят, а дальше непонятно что с ними.
netstat -an слушает порты на всех интерфейсах. NAT и редирект работают нормально.
Что и где копать даже не знаю, помогите.
неужели никто ничего не может сказать :((привожу pf.conf:
ext_if="vr0"
int_if="xl0"tcp_services="{22,25,110}"
udp_services="{domain,ntp}"
icmp_types="echoreq"table <natusers> {192.168.1.2, 192.168.1.3, 192.168.1.4}
set block-policy return
set loginterface $ext_ifset skip on lo
# scrub
scrub in# NAT/RDR
nat on $ext_if from <natusers> to any port {!=80 !=8080 !=443} -> ($ext_if)
nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"# FTP
rdr pass on $int_if proto tcp to port ftp -> 127.0.0.1 port 8021# FILTER RULES
block in log
pass out keep state
anchor "ftp-proxy/*"
antispoof quick for {lo $int_if}pass in on $ext_if inet proto tcp from any to ($ext_if) port $tcp_services flags S/SA keep state
pass inet proto {tcp,udp} to any port $udp_services keep state
# PING
pass in inet proto icmp all icmp-type $icmp_types keep state# TRACEROUTE
pass out on $ext_if inet proto udp from any to any port 33433><33626 keep state# LOCALNET
pass quick on $int_if
# pfctl -ss
No ALTQ support in kernel
ALTQ related functions disabled
self tcp 192.168.1.3:57790 -> 192.168.1.2:6666 ESTABLISHED:ESTABLISHED
self tcp 192.168.1.3:3128 <- 192.168.1.4:1115 ESTABLISHED:ESTABLISHED
self tcp 83.151.3.115:25 <- 142.58.101.28:33139 CLOSED:SYN_SENT
self tcp 83.151.3.115:25 <- 130.225.16.35:45601 CLOSED:SYN_SENT
self tcp 83.151.3.115:25 <- 217.66.16.37:51601 CLOSED:SYN_SENT
self tcp 83.151.3.115:51006 -> 64.12.25.208:443 ESTABLISHED:ESTABLISHED
self tcp 83.151.3.115:25 <- 217.30.252.242:57013 CLOSED:SYN_SENT
self pfsync 83.151.3.115 -> 0.0.0.0 SINGLE:NO_TRAFFIC
проверил еще раз pf, 100% не в этом ошибка......АУУУУ, ГДЕ ЗНАТОКИ??????
>Имеется FreeBSD 6.1 с pf. Проблема в том, что ни один из
>серверов (ssh,pop3,smtp) не доступен снаружи. Думал, что дело в pf,
>но отключение фаерволла и pass out all ничего не изменило.
>tcpdump показывает, что пакеты извне приходят, а дальше непонятно что с ними.
>
>netstat -an слушает порты на всех интерфейсах. NAT и редирект работают нормально.
>
>Что и где копать даже не знаю, помогите.
зачем редирект? сервера, что, находятся физически на машинах с нереальными ИП? если так то как делается редирект.
Если всё это на машине с реальным ИП вопрос, сама машина в мир нормально ходит?
>>Имеется FreeBSD 6.1 с pf. Проблема в том, что ни один из
>>серверов (ssh,pop3,smtp) не доступен снаружи. Думал, что дело в pf,
>>но отключение фаерволла и pass out all ничего не изменило.
>>tcpdump показывает, что пакеты извне приходят, а дальше непонятно что с ними.
>>
>>netstat -an слушает порты на всех интерфейсах. NAT и редирект работают нормально.
>>
>>Что и где копать даже не знаю, помогите.
>
>
>зачем редирект? сервера, что, находятся физически на машинах с нереальными ИП? если
>так то как делается редирект.для ftp прокси
nat on $ext_if from <natusers> to any port {!=80 !=8080 !=443} -> ($ext_if)
nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"# FTP
rdr pass on $int_if proto tcp to port ftp -> 127.0.0.1 port 8021
>Если всё это на машине с реальным ИП вопрос, сама машина в
>мир нормально ходит?и сама машина и вся сеть нормально ходят в мир, но в том то и дело что порты снаружи как будто закрыты :(((
# netstat -an|more
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp4 0 0 *.25 *.* LISTEN
tcp4 0 0 192.168.1.3.22 192.168.1.4.2342 ESTABLISHED
tcp4 0 0 83.151.3.115.51006 64.12.25.208.443 ESTABLISHED
tcp4 0 0 192.168.1.3.3128 192.168.1.4.1115 ESTABLISHED
tcp4 0 0 192.168.1.3.3551 *.* LISTEN
tcp4 0 0 192.168.1.3.57790 192.168.1.2.6666 ESTABLISHED
tcp4 0 0 *.22 *.* LISTEN
tcp6 0 0 *.22 *.* LISTEN
tcp4 0 0 127.0.0.1.783 *.* LISTEN
tcp4 0 0 *.3128 *.* LISTEN
tcp4 0 0 *.110 *.* LISTEN
tcp6 0 0 ::1.953 *.* LISTEN
tcp4 0 0 127.0.0.1.953 *.* LISTEN
tcp4 0 0 127.0.0.1.53 *.* LISTEN
tcp4 0 0 192.168.1.3.53 *.* LISTEN
udp4 0 0 83.151.3.115.15245 83.151.0.12.53
udp4 0 0 127.0.0.1.61926 127.0.0.1.54089
udp4 0 0 127.0.0.1.54089 127.0.0.1.61926
udp4 0 0 *.3401 *.*
udp4 0 0 *.3130 *.*
ЛЮДИИИИИ............. ПОМОГИТЕ...............
>ЛЮДИИИИИ............. ПОМОГИТЕ...............
И на кой здесь твой -ss?
Как минимум покажи pfctl -srules.и КАК ЖЕ ты ПРОВЕРЯЛ ???? ВЕДЬ ПОРТЫ 22, 110 ПРЕКРАСНО ИЗ ВНЕ ВИДНЫ.
хоть бы кусок вывода tcpdump привёл. а то БЛЯ СЦУКО пишешь "непонятно куда" и из слова "непонятно"(прям как тупая бабка) ЛЮДИ должны телепатически знать о том куда же твой хлам делся.
>>ЛЮДИИИИИ............. ПОМОГИТЕ...............
>
>
>И на кой здесь твой -ss?
>Как минимум покажи pfctl -srules.
># pfctl -s rules
No ALTQ support in kernel
ALTQ related functions disabled
scrub in all fragment reassemble
block return in all
pass out all keep state
anchor "ftp-proxy/*" all
block drop in quick on ! lo inet6 from ::1 to any
block drop in quick on ! lo inet from 127.0.0.0/8 to any
block drop in quick inet6 from ::1 to any
block drop in quick on lo0 inet6 from fe80::1 to any
block drop in quick inet from 127.0.0.1 to any
block drop in quick on ! xl0 inet from 192.168.1.0/24 to any
block drop in quick on xl0 inet6 from fe80::20a:5eff:fe64:b6c6 to any
block drop in quick inet from 192.168.1.3 to any
pass in log on vr0 inet proto tcp from any to (vr0) port = ssh flags S/SA keep state
pass in log on vr0 inet proto tcp from any to (vr0) port = smtp flags S/SA keep state
pass in log on vr0 inet proto tcp from any to (vr0) port = pop3 flags S/SA keep state
pass inet proto tcp from any to any port = domain keep state
pass inet proto tcp from any to any port = ntp keep state
pass inet proto udp from any to any port = domain keep state
pass inet proto udp from any to any port = ntp keep state
pass in inet proto icmp all icmp-type echoreq keep state
pass out on vr0 inet proto udp from any to any port 33433 >< 33626 keep state
pass in on vr0 inet proto tcp from any to xl0 port = ssh flags S/SA synproxy state
pass in on vr0 inet proto tcp from any to xl0 port = pop3 flags S/SA synproxy state
pass on xl0 from any to any flags S/SA keep state
>и КАК ЖЕ ты ПРОВЕРЯЛ ???? ВЕДЬ ПОРТЫ 22, 110 ПРЕКРАСНО ИЗ
>ВНЕ ВИДНЫ.ВИДНЫ, т.к. пришлось через редирект завернуть.....надо ж как то выкручиваться.......
>хоть бы кусок вывода tcpdump привёл. а то БЛЯ СЦУКО пишешь "непонятно
>куда" и из слова "непонятно"(прям как тупая бабка) ЛЮДИ должны телепатически
>знать о том куда же твой хлам делся.вот кусок tcpdump:
21:11:24.803378 IP globus.domo.ru > 0.0.0.0: pfsync 228
21:11:26.858546 IP webmail.hitv.ru.56582 > globus.domo.ru.smtp: S 2110669641:211
0669641(0) win 65535 <mss 1300,nop,nop,sackOK,nop,wscale 1,nop,nop,timestamp 174
477122 0>
21:11:27.859346 IP globus.domo.ru > 0.0.0.0: pfsync 228
21:11:28.065993 IP c-71-230-160-120.hsd1.pa.comcast.net.3956 > globus.domo.ru.sm
tp: S 1363163278:1363163278(0) win 65535 <mss 1460,nop,nop,sackOK>
21:11:28.652164 IP globus.domo.ru.50373 > ns.intelset.ru.domain: 6499+ [1au] PT
R? 120.160.230.71.in-addr.arpa. (56)
21:11:28.652328 IP globus.domo.ru > 0.0.0.0: pfsync 228
21:11:28.813621 IP ns.intelset.ru.domain > globus.domo.ru.50373: 6499 1/0/1 (10
6)
21:11:29.652328 IP globus.domo.ru > 0.0.0.0: pfsync 228
21:11:30.058995 IP webmail.hitv.ru.56582 > globus.domo.ru.smtp: S 2110669641:211
0669641(0) win 65535 <mss 1300,nop,nop,sackOK>
21:11:31.020493 IP c-71-230-160-120.hsd1.pa.comcast.net.3956 > globus.domo.ru.sm
tp: S 1363163278:1363163278(0) win 65535 <mss 1460,nop,nop,sackOK>
21:11:31.059302 IP globus.domo.ru > 0.0.0.0: pfsync 452
21:11:31.914005 IP nat131.ktknet.cz.4913 > globus.domo.ru.smtp: S 3043416488:304
3416488(0) win 16384 <mss 1460,nop,nop,sackOK>
21:11:32.813964 IP globus.domo.ru.50373 > ns.intelset.ru.domain: 6382+ [1au] PT
R? 131.213.196.217.in-addr.arpa. (57)
21:11:32.814279 IP globus.domo.ru > 0.0.0.0: pfsync 228
21:11:33.260186 IP webmail.hitv.ru.56582 > globus.domo.ru.smtp: S 2110669641:211
0669641(0) win 65535 <mss 1300,nop,nop,sackOK>
21:11:33.432143 IP pobox.sfu.ca.58713 > globus.domo.ru.smtp: S 2636558260:263655
8260(0) win 49640 <mss 1460,nop,wscale 0,nop,nop,sackOK>
21:11:33.432287 IP globus.domo.ru > 0.0.0.0: pfsync 452
21:11:33.803279 IP globus.domo.ru > 0.0.0.0: pfsync 228
21:11:34.567158 IP 74-140-46-242.dhcp.insightbb.com.3734 > globus.domo.ru.smtp:
S 3105870620:3105870620(0) win 64240 <mss 1460,nop,nop,sackOK>
покажи как ты это через редиректы правишь.
Плюс пропиши в днс сервере что ему слушать надо не только на 127.0.0.1 если оно тебе конечно тоже нужно во вне. ifconfig покажи...
pass in on vr0 inet proto tcp from any to xl0 port = ssh flags S/SA synproxy state
pass in on vr0 inet proto tcp from any to xl0 port = pop3 flags S/SA synproxy state
тебе не кажется это странным?
>покажи как ты это через редиректы правишь.xl="192.168.1.3"
rdr on $ext_if proto tcp from any to $ext_if port 22 -> 192.168.1.3 port 22
rdr on $ext_if proto tcp from any to $ext_if port 110 -> 192.168.1.3 port 110и далее
pass in on vr0 inet proto tcp from any to xl0 port = ssh flags S/SA synproxy state
pass in on vr0 inet proto tcp from any to xl0 port = pop3 flags S/SA synproxy state>Плюс пропиши в днс сервере что ему слушать надо не только на
>127.0.0.1 если оно тебе конечно тоже нужно во вне.
днс только внутренний, т.к. зону держит провайдер
да и к ssh не имеет никакого отношения...>ifconfig покажи...
# ifconfig -a
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=9<RXCSUM,VLAN_MTU>
inet6 fe80::20a:5eff:fe64:b6c6%xl0 prefixlen 64 scopeid 0x1
inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:0a:5e:64:b6:c6
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::216:17ff:fe97:7e16%vr0 prefixlen 64 scopeid 0x2
inet 83.151.3.115 netmask 0xfffffffc broadcast 83.151.3.115
ether 00:16:17:97:7e:16 ^^^^^^^^^^^^^^^^^^^^^^
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
pfsync0: flags=0<> mtu 2020
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
inet 127.0.0.1 netmask 0xff000000
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208broadcast совпадает с inet ip !!!!!! вот это чудеса!
>pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208
>broadcast совпадает с inet ip !!!!!! вот это чудеса!а если pfctl -Fall(почистит все правила) и проверить? может на системе другой фаерволл есть?
а бродкаст скорее всего у тебя просто жестко указан в /etc/rc.conf
>>pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208
>>broadcast совпадает с inet ip !!!!!! вот это чудеса!
>
>а если pfctl -Fall(почистит все правила) и проверить? может на системе другой
>фаерволл есть?
токо 1 фаерволл, попробую правила почистить>а бродкаст скорее всего у тебя просто жестко указан в /etc/rc.conf
нет, сетевушка сама так вычислила :(
>>>pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208
>>>broadcast совпадает с inet ip !!!!!! вот это чудеса!
>>
>>а если pfctl -Fall(почистит все правила) и проверить? может на системе другой
>>фаерволл есть?
>токо 1 фаерволл, попробую правила почистить
>
>>а бродкаст скорее всего у тебя просто жестко указан в /etc/rc.conf
>нет, сетевушка сама так вычислила :(выставил вручную бродкаст и почистил правила, после этого почта стала ходить в мир и обратно,
но порты до сих пор недоступны - буду дальше копать...
>выставил вручную бродкаст и почистил правила, после этого почта стала ходить в
>мир и обратно,
>но порты до сих пор недоступны - буду дальше копать...Если почта начала ходить туда и обратно это означает, что твой smtp прекрасно работает.
у меня такая же вата
подскажите плиз чего лавить!!!