PF RDR не работает

Все вопросы по установке, обновлению и эксплуатации FreeBSD: конфигурация и сопровождение.

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
---nebo---
старшина
Сообщения: 424
Зарегистрирован: 2008-11-01 21:06:23
Откуда: Киев
Контактная информация:

PF RDR не работает

Непрочитанное сообщение ---nebo--- » 2010-09-10 10:31:02

Сервер используется в качествве шлюза. Задача состоит в перенаправлении запросов. Используется PF RDR, но не работает. Проверял правила RDR на другом тестовом серваке - та же проблема.

Необходимо перенаправлять запросы приходящие на интерфейс CFG="em0"

Конфиг PF

Код: Выделить всё

LAN="em1"    
CFG="em0"   
NET="em2"  
LO="lo0"  

table <boss> persist file "/etc/pf/boss"

set loginterface $LAN
set block-policy return
set skip on $LO
scrub in all


###---Redirection for USERS
[b]rdr pass on $CFG proto {tcp , udp} from any to self -> X.X.X.X[/b]

###---NAT---###
nat on $NET           from <boss>    to any                  -> $NET
nat on $NET proto tcp from $LAN:network to {Y.Y.Y.Y, Y.Y.Y.Y}  port 53 -> $NET
nat on $NET proto tcp from $LAN:network to Y.Y.Y.Y port 25 -> $NET
nat on $NET proto tcp from $LAN:network to Y.Y.Y.Y port 110 -> $NET
nat on $NET proto tcp from $LAN:network to Y.Y.Y.Y port 143 -> $NET
nat on $NET proto tcp from $LAN:network to Y.Y.Y.Y port {80,443} -> $NET
nat on $NET proto udp from $LAN:network to any port 53          -> $NET

antispoof log quick for {$LO , $LAN , $NET , $CFG}

###---OUTGOING RULES---ALLOW EVERYTHING
pass out on $CFG
pass out on $LAN
pass out on $NET
pass out on $LO

####---INCOMING RULES
pass in quick on $LO           # ALLOW EVERUTHING ON LOOPBACK
###---INTERNET
block in on $NET
###---LAN
####################-----USERS-----###############################
block in on $LAN
pass  in on $LAN proto icmp from $LAN:network to any
pass  in on $LAN proto tcp  from $LAN:network to $LAN port 3128
pass  in on $LAN proto tcp  from $LAN:network to any port {25,53,110}
pass  in on $LAN proto udp  from $LAN:network to any port 53
pass  in on $LAN            from 10.10.11.0/24 to 10.11.11.0/24
pass in on $LAN from <boss> to any

###---CFG
################-----ADMINISTRATORS-----##########################
pass in on       $CFG from any to any
10.11.11.252 - адрес шлюза
10.11.11.232 - адрес клиента, которых набирая в браузере адрес шлюза должен перекидываться на указанный (Х.Х.Х.Х) адрес.

Вывод tcpdump при выключеном RDR

Код: Выделить всё

# tcpdump -tn -i em0 port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on em0, link-type EN10MB (Ethernet), capture size 96 bytes

IP 10.11.11.232.55666 > 10.11.11.252.80: S 951168083:951168083(0) win 5840 <mss 1460,sackOK,timestamp 15456863 0,nop,wscale 6>
IP 10.11.11.252.80 > 10.11.11.232.55666: S 1844529763:1844529763(0) ack 951168084 win 65535 <mss 1460,nop,wscale 3,sackOK,timestamp 2338042347 15456863>
IP 10.11.11.232.55666 > 10.11.11.252.80: . ack 1 win 92 <nop,nop,timestamp 15456863 2338042347>
IP 10.11.11.232.55666 > 10.11.11.252.80: P 1:429(428) ack 1 win 92 <nop,nop,timestamp 15456863 2338042347>
IP 10.11.11.252.80 > 10.11.11.232.55666: P 1:723(722) ack 429 win 8326 <nop,nop,timestamp 2338042348 15456863>
IP 10.11.11.232.55666 > 10.11.11.252.80: . ack 723 win 114 <nop,nop,timestamp 15456863 2338042348>
IP 10.11.11.232.55666 > 10.11.11.252.80: P 429:755(326) ack 723 win 114 <nop,nop,timestamp 15457143 2338042348>
IP 10.11.11.252.80 > 10.11.11.232.55666: P 723:1444(721) ack 755 win 8326 <nop,nop,timestamp 2338043476 15457143>
IP 10.11.11.232.55666 > 10.11.11.252.80: . ack 1444 win 137 <nop,nop,timestamp 15457145 2338043476>
IP 10.11.11.252.80 > 10.11.11.232.55666: F 1444:1444(0) ack 755 win 8326 <nop,nop,timestamp 2338048477 15457145>
IP 10.11.11.232.55666 > 10.11.11.252.80: . ack 1445 win 137 <nop,nop,timestamp 15458405 2338048477>
Вывод tcpdump при включеном RDR

Код: Выделить всё

# tcpdump -tn -i em0 port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on em0, link-type EN10MB (Ethernet), capture size 96 bytes

IP 10.11.11.232.55666 > 10.11.11.252.80: F 951168838:951168838(0) ack 1844531208 win 137 <nop,nop,timestamp 15467300 2338048477>
IP 10.11.11.252.80 > 10.11.11.232.55666: . ack 1 win 8325 <nop,nop,timestamp 2338084095 15467300>
IP 10.11.11.232.55669 > 10.11.11.252.80: S 1612585458:1612585458(0) win 5840 <mss 1460,sackOK,timestamp 15467588 0,nop,wscale 6>
IP 10.11.11.252.80 > 10.11.11.232.55669: R 0:0(0) ack 1612585459 win 5840
IP 10.11.11.232.55670 > 10.11.11.252.80: S 1633752427:1633752427(0) win 5840 <mss 1460,sackOK,timestamp 15467865 0,nop,wscale 6>
IP 10.11.11.252.80 > 10.11.11.232.55670: R 0:0(0) ack 1633752428 win 5840
IP 10.11.11.232.55671 > 10.11.11.252.80: S 1643707115:1643707115(0) win 5840 <mss 1460,sackOK,timestamp 15467901 0,nop,wscale 6>
IP 10.11.11.252.80 > 10.11.11.232.55671: R 0:0(0) ack 1643707116 win 5840
IP 10.11.11.232.55672 > 10.11.11.252.80: S 1644507102:1644507102(0) win 5840 <mss 1460,sackOK,timestamp 15467948 0,nop,wscale 6>
IP 10.11.11.252.80 > 10.11.11.232.55672: R 0:0(0) ack 1644507103 win 5840
...участки под застройку в живописном месте Интернет

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
---nebo---
старшина
Сообщения: 424
Зарегистрирован: 2008-11-01 21:06:23
Откуда: Киев
Контактная информация:

Re: PF RDR не работает

Непрочитанное сообщение ---nebo--- » 2010-09-16 10:03:30

Проблема была решела, как оказалось нужно было натить пакеты, которые перенаправляются. Тоесть что бы с сервера они уходили с ЭГО адресом. Не совсем понятно для чего это сделано.
...участки под застройку в живописном месте Интернет

freebsdun
рядовой
Сообщения: 10
Зарегистрирован: 2008-07-13 15:12:22

Re: PF RDR не работает

Непрочитанное сообщение freebsdun » 2010-09-16 10:10:59

видать, шлюз забыли прописать на машине, куда редиректили.
У меня без ната работает, чистый rdr.

_ze
проходил мимо

Re: PF RDR не работает

Непрочитанное сообщение _ze » 2010-09-16 10:14:05

хм у меня перенаправляемый траф не натится и все работает...мб нат помог сугубо для преодоления граблей на адресуемом аппарате, например аппарат назначения тоже сервер, а на на нем разрешена тока локаль, тогла подстановка адреса шлюза(с локалки) переваривается нормально... я так на роутер пакеты натю, ибо ень а роутере прописывать внутренние сети, проше снатить на самом шлюзе адреса(роутер и внешняя карта шлюза в 1 подсети, такой маршрут всегда естьв дефаулте роутера)

Аватара пользователя
---nebo---
старшина
Сообщения: 424
Зарегистрирован: 2008-11-01 21:06:23
Откуда: Киев
Контактная информация:

Re: PF RDR не работает

Непрочитанное сообщение ---nebo--- » 2010-09-16 10:29:06

freebsdun писал(а):видать, шлюз забыли прописать на машине, куда редиректили.
У меня без ната работает, чистый rdr.
все машины находятся в одной подсети и дальше нее никуда не выходят. Все машины друг друга видят.
...участки под застройку в живописном месте Интернет