pf icmp redirect

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
hroft
ефрейтор
Сообщения: 55
Зарегистрирован: 2008-06-10 17:23:59
Откуда: Ростов-на-Дону

pf icmp redirect

Непрочитанное сообщение hroft » 2010-05-18 15:31:24

Добрый день!
Пдскажите правило для pf что бы разрешить в локалке icmp redirect (видимо icmp redirect host).
Упрощенно схема сети следующая:

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

192.168.102.0/24 <--->|gw 192.168.102.1|черный ящик(VLAN)|192.168.0.1<--->192.168.0.0/24(gw 192.168.0.3)
все бы ничего, но для выхода в интернет в сети 192.168.0.0/24 шлюзом прописан 192.168.0.3
и когда по rdp из 102.0/24 обращаются к машине ,например 192.168.0.2 пакет идет :

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

.... 192.168.0.1--->192.168.0.2
а ответ:

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

192.168.0.2--->192.168.0.3--->192.168.0.1
tcpdump рассказал сто все дело в icmp редиректе .... вот и нетересуюсь как его прописать в pf
или может есть еще варианты ?
Заранее благодарен за ответы!

Хостинговая компания 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/

hroft
ефрейтор
Сообщения: 55
Зарегистрирован: 2008-06-10 17:23:59
Откуда: Ростов-на-Дону

Re: pf icmp redirect

Непрочитанное сообщение hroft » 2010-05-19 13:37:14

пока прописал для соединений между подсетями no state . Заработало. Подскажите как правильно реализовать данную схему взаимодействия подсетей.
Привожу pf.conf

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

##--macroses
int_if="vr0" #local interfaces
ext_if="tun0" # pppoe
ext_ip="80.80.х.х"
dns_serv="192.168.0.3" #dns
proxy_if="lo0" #localhost
proxy_port="3128" #squid port
localnet="{192.168.0.0/24,192.168.1.0/24, 192.168.102.0/24,192.168.2.0/24,192.168.5.0/24}"
server5="192.168.0.5" # 
server4="192.168.0.4" #
server2="192.168.0.2"

##--options
set skip on lo0
set block-policy return
set timeout { frag 10, tcp.established 3600 }
scrub in all

##--nat & rdr
nat on $ext_if from $int_if:network to any -> $ext_ip
#proxy
rdr on $int_if proto tcp from $int_if:network to any port www -> $proxy_if port $proxy_port

# rdr from inet to me:rdp
rdr on $ext_if proto tcp from any to $ext_if port rdp -> $server5 port rdp
rdr on $ext_if proto tcp from any to $ext_if port 1126 -> $server4 port 1126
rdr on $ext_if proto tcp from any to $ext_if port 333 -> $server4 port rdp
rdr on $ext_if proto tcp from any to $ext_if port 334 -> $server2 port rdp

##--rules
block all
#доступ из подсетей
pass in  on $int_if from $localnet to any no state
pass out on $int_if from any to $localnet no state

pass out on $ext_if proto tcp all modulate state
pass out on $ext_if proto {udp icmp} all keep state


# RDP (tcp)
pass in  on $ext_if proto tcp from any     to $server5  port rdp synproxy state
pass out on $int_if proto tcp from any     to $server5  port rdp modulate state

##KPK
pass in  on $ext_if proto tcp from any     to $server4  port {1126,333,334,rdp} synproxy state
pass out on $int_if proto tcp from any     to $server4  port {1126,333,334,rdp} modulate state
pass in  on $ext_if proto tcp from any     to $server2  port {334,rdp} synproxy state
pass out on $int_if proto tcp from any     to $server2  port {334,rdp} modulate state

#FTP Server
 pass in on $ext_if proto {tcp,udp} from any to $ext_if port {21,20,10000:65535} keep state
pass log inet proto icmp all