freebsd 7.2 ipfw+kernel nat проброс порта не работает

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Ikinoki
мл. сержант
Сообщения: 70
Зарегистрирован: 2009-07-27 12:04:45

freebsd 7.2 ipfw+kernel nat проброс порта не работает

Непрочитанное сообщение Ikinoki » 2009-07-27 12:08:07

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

# Проверка статуса для лимитов
ipfw add 1 check-state

# Локалхост
ipfw add 5 allow ip from any to any via lo0

# Запрет обращения к 127/8
ipfw add 6 deny ip from any to 127.0.0.0/8
ipfw add 7 deny ip from 127.0.0.0/8 to any

# Запрет через первую емку ко 2ой и наоборот
ipfw add 8 deny ip from any to ${cl}, ${proxy1} in via em0
ipfw add 9 deny ip from any to ${me}, ${proxy1} in via em2

# Блок по первой таблице
ipfw add 10 deny ip from table\(1\) to any

# Разрешение всего по второй таблице
ipfw add 11 allow ip from table\(2\) to any

# Блок мультикаста
ipfw add 101 deny ip from any to 240.0.0.0/4 in via em0

# Разрешение траффика от системы
ipfw add 102 allow ip from me to any

# Разрешение любого траффика на внутренней сети
ipfw add 1003 allow ip from any to any via em1

# Запрет фрагментированного ICMP
ipfw add 103 deny icmp from any to any frag in via em0

# Разрешение определенного icmp
ipfw add 104 allow icmp from any to any icmptypes 0,8,11 in via em0

# Запрет оставшегося icmp
ipfw add 105 deny icmp from any to any in via em0

# Правила для 80 порта
ipfw add 300 skipto 900 tcp from any to ${me} dst-port 80 in via em0 tcpflags syn,!fin,!ack,!psh,!rst,!urg
ipfw add 301 skipto 900 tcp from any to ${me} dst-port 80 in via em0 tcpflags !syn,!fin,ack,!psh,!rst,!urg
ipfw add 302 skipto 900 tcp from any to ${me} dst-port 80 in via em0 tcpflags !syn,!fin,ack,psh,!rst,!urg
ipfw add 303 skipto 900 tcp from any to ${me} dst-port 80 in via em0 tcpflags !syn,fin,ack,!psh,!rst,!urg
ipfw add 304 skipto 900 tcp from any to ${me} dst-port 80 in via em0 tcpflags syn,!fin,ack,!psh,!rst,!urg
ipfw add 305 skipto 900 tcp from any to ${me} dst-port 80 in via em0 tcpflags !syn,!fin,!ack,!psh,rst,!urg

ipfw add 899 deny tcp from any to ${me} dst-port 80 in via em0

# Лимит кол-ва IP
ipfw add 900 skipto 950 tcp from any to ${me} dst-port 80 in via em0 limit src-addr 5

ipfw nat 10 config if em0 redirect_port tcp ${proxy1}:80 80
ipfw add 950 nat 10 tcp from ${me} 80 to any
ipfw add 960 nat 10 tcp from any to any

# Разрешение 22 порта
ipfw add 1000 allow ip from any to me dst-port 22

#Запрет оставшегося
ipfw add 65534 deny ip from any to any
Чего его не удовлетворяет?

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

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: freebsd 7.2 ipfw+kernel nat проброс порта не работает

Непрочитанное сообщение schizoid » 2009-07-27 12:14:42

было бы все таки полезнее
ipfw show
+ шлюз на машине, на которую редирект идет какой?
+ в логах фаервола что?
+ tcpdump что говорит?
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Ikinoki
мл. сержант
Сообщения: 70
Зарегистрирован: 2009-07-27 12:04:45

Re: freebsd 7.2 ipfw+kernel nat проброс порта не работает

Непрочитанное сообщение Ikinoki » 2009-07-27 12:31:53

Машины соединены crossoverом

Шлюз настроен на 192.168.0.1 (эту машину)
В логах пусто по этому поводу
tcpdump говорит с той стороны em1 что пакет пришел и был отправлен.
только вот на это стороне не могу поглядеть ( гигабитный ддос.

Сейчас работает через софт проброс порта - очень криво.
rinetd не справляется
пришлось писать свое на питоне - а ему дескрипторов не хватает.

Ikinoki
мл. сержант
Сообщения: 70
Зарегистрирован: 2009-07-27 12:04:45

Re: freebsd 7.2 ipfw+kernel nat проброс порта не работает

Непрочитанное сообщение Ikinoki » 2009-07-30 23:08:46

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

00001          0             0 check-state
00002      11070       1042582 allow ip from any to any via em2
00003      45848       3113201 allow ip from any to x.x.x.x
00004 3280317307 1771351796919 deny udp from any to me dst-port 80
00005        184        283056 allow ip from any to any via lo0
00006          0             0 deny ip from any to 127.0.0.0/8
00007          0             0 deny ip from 127.0.0.0/8 to any
00008   21899144   24812491673 allow ip from table(2) to any
00009  799125988  342978288460 deny ip from table(5) to any
00012  201961537   96202680304 deny ip from table(3) to any
00102   16062128    1312508071 allow ip from me to any
00103          0             0 deny icmp from any to any frag in via em0
00104      14296        940816 allow icmp from any to any icmptypes 0,11 in via em0
00105   71719868   38712910401 deny icmp from any to any in via em0
00300   15122762     731638352 skipto 900 tcp from any to x.x.x.x dst-port 80 in via em0 tcpflags syn,!fin,!ack,!psh,!rst,!urg
00301     195833       9326070 skipto 900 tcp from any to x.x.x.x dst-port 80 in via em0 tcpflags !syn,!fin,ack,!psh,!rst,!urg
00302     115941      58456942 skipto 900 tcp from any to x.x.x.x dst-port 80 in via em0 tcpflags !syn,!fin,ack,psh,!rst,!urg
00303      31184       1252964 skipto 900 tcp from any to x.x.x.x dst-port 80 in via em0 tcpflags !syn,fin,ack,!psh,!rst,!urg
00304          0             0 skipto 900 tcp from any to x.x.x.x dst-port 80 in via em0 tcpflags syn,!fin,ack,!psh,!rst,!urg
00305     284665      11427259 skipto 900 tcp from any to x.x.x.x dst-port 80 in via em0 tcpflags !syn,!fin,!ack,!psh,rst,!urg
00899      65555      30693265 deny tcp from any to x.x.x.x dst-port 80 in via em0
00950       2022         97548 nat 10 log logamount 100 tcp from any to any in via em0
00960          0             0 nat 10 tcp from any to any out via em0
01000       4053        269370 allow ip from any to me dst-port 22
65534    3750132     155228492 deny ip from any to any
65535          0             0 allow ip from any to any


ipfw nat 10 config if em0 same_ports redirect_port tcp 192.168.0.4:80 80
вот как оно выглядит... что я делаю не так? может где заблочил его... но на em1 тишина (где собственно висит 192.168.0.4)
в логах ipfw пишет

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

 kernel: ipfw: 950 Nat TCP 95.132.69.142:2709 x.x.x.x:80 in via em0
 kernel: ipfw: 950 Nat TCP 91.195.209.44:59655 x.x.x.x:80 in via em0
 kernel: ipfw: 950 Nat TCP 79.111.90.45:4040 x.x.x.x:80 in via em0
 kernel: ipfw: 950 Nat TCP 78.92.47.226:33545 x.x.x.x:80 in via em0
 kernel: ipfw: 950 Nat TCP 93.190.206.248:1227 x.x.x.x:80 in via em0
 kernel: ipfw: 950 Nat TCP 90.150.29.246:2901 x.x.x.x:80 in via em0
 kernel: ipfw: 950 Nat TCP 94.180.8.10:2001 x.x.x.x:80 in via em0
 kernel: ipfw: 950 Nat TCP 78.92.47.226:33911 x.x.x.x:80 in via em0