Страница 1 из 1

Помогите написать правило для IPFW !!!!

Добавлено: 2007-03-13 12:21:54
DEX
IPFW работает по следующим правилам :

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

FwCMD="/sbin/ipfw" 
LanOut="fxp0"            # внешний интерфейс
LanIn="fxp1"            # внутренний интерфейс
IpOut="222.222.222.222" # внешний IP адрес машины
IpIn="192.168.10.254"   # внутренний IP машины
NetMask="24"            # маска сети  
NetIn="192.168.10.0"    # Внутренняя сеть
${FwCMD} -f flush
${FwCMD} add check-state
${FwCMD} add allow ip from any to any via lo0
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any
${FwCMD} add deny ip from any to 10.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 172.16.0.0/12 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 240.0.0.0/4 in via ${LanOut}
${FwCMD} add deny icmp from any to any frag
${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${LanOut}
${FwCMD} add divert natd ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
${FwCMD} add deny ip from 10.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 172.16.0.0/12 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 0.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 169.254.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 224.0.0.0/4 to any out via ${LanOut}
${FwCMD} add deny ip from 240.0.0.0/4 to any out via ${LanOut}
${FwCMD} add allow tcp from any to any established
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}
${FwCMD} add allow udp from any 53 to any via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 49152-65535 via ${LanOut}
${FwCMD} add allow icmp from any to any icmptypes 0,8,11
${FwCMD} add allow tcp from any to ${IpOut} 25 via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 110 via ${LanOut}
${FwCMD} add allow tcp from any to any via ${LanIn}
${FwCMD} add allow udp from any to any via ${LanIn}
${FwCMD} add allow icmp from any to any via ${LanIn}
${FwCMD} add fwd 192.168.10.1,3389 ip from any to me 3389

Почтовый сервер (192.168.10.5) отправляет почту,но принять не может. Подскажите пожалуйста , что надо дописать? И по последнему правилу не происходит перенаправление на 192.168.10.1.

Добавлено: 2007-03-13 13:47:53
Alex Keda
а чего надо этим правилом добиться (последним), и почему оно последнее?
А ка он примет, если она наверно на гейт идет-то?

Добавлено: 2007-03-13 14:26:07
DEX
Этим правилом хотел перенаправлять на 10.1, что бы из дома попадать на 10.1 через удалённый рабочий стол.Но пока больше волнует почта, почему только отправляет, а не принимает . Почта крутится на 10.5

Добавлено: 2007-03-13 14:55:27
zorg
почитай про работу "fwd"!!!! Чаще всего понимают не так, как оно работает!!!
В данном случае оно работать не будет, и по рдп ты фиг подключишься. Делай через нат проброс портов и не парься.

Добавлено: 2007-03-13 15:21:52
DEX
Подскажите по поводу почты пожалуйста

Добавлено: 2007-03-13 15:28:35
Alex Keda
почта внутри локалки?
Вообще - ну не телепаты же тут - структуру сети не знаем.

Добавлено: 2007-03-13 15:30:39
DEX
да, почта внутри локалки работает нормально, а с наружи не принимает

Добавлено: 2007-03-13 15:32:05
DEX
На некоторых машинах внешняя почта, она работает хорошо

Добавлено: 2007-03-13 15:33:28
DEX
Она не попадает на почтовый сервер (192.168.10.5)

Добавлено: 2007-03-13 15:35:55
DEX
Ставлю в rc.conf firewall_type="OPEN"
Все равно не принимается

Добавлено: 2007-03-13 16:37:54
Alex Keda
ну а как она попадать должна?

Добавлено: 2007-03-13 16:44:46
alex3
man natd (особое внимание на опцию -redirect_port), man ipfw :twisted:
вкратце. почта у тебя приходит на шлюз. тебе надо ее пробросить на 10.5. Обычным форвардингом не получится, поскольку почтовый сервер просто плюнет на пакеты, адресованные не ему. проброс портов через НАТ позволит при обращении на определенный порт шлюза пробросить эти пакетики на другую машину, со сменой получателя пакета.
в частности для твоего случая в natd.conf или где у тебя там настройки нат

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

-redirect_port tcp 192.168.10.5:110 110 # POP3
-redirect_port tcp 192.168.10.5:25 25 #SMTP
в остальные правила не всматривался, поэтому по второй проблеме могу подсказать только приблизительно - ipfw последовательно проверяет пакеты на соответствие правилам, если пакет подходит под какое-либо правило, он на остальные не попадает (за исключением случая с divert). Так что, скорее всего у тебя до твоего правила не доходит.

Добавлено: 2007-03-13 17:49:52
DEX
Добавил в /etc/natd.conf
-redirect_port tcp 192.168.10.5:110 110
но почта так и не перенаправляется.

Добавлено: 2007-03-13 17:59:57
Kolesnikov
А 25 порт где? По немуу же шлется все. :?:

Добавлено: 2007-03-13 18:09:31
DEX
Я новичек во FreeBSD напишите пожалуйста поподробней что и где дописать.

Добавлено: 2007-03-13 18:11:24
abanamat
поставь rinetd

будет проще в свете фиревольных правил.

Добавлено: 2007-03-13 18:23:31
Kolesnikov
DEX писал(а):Я новичек во FreeBSD напишите пожалуйста поподробней что и где дописать.
Тебе же вверху написали две строчки. Ты одну прописал, а вторую нет:
-redirect_port tcp 192.168.10.5:25 25 #SMTP ---где она?
фаервол пока открой полностью чтоб не мешал.
И перезапусти natd и не забудь ключ к конфигу: -f /etc/natd.conf

Добавлено: 2007-03-13 18:29:30
alex3
я балдю!!!
напоминает, словно маленького мальчика через дорогу за ручку переводишь :lol:
Читать: протоколы TCP/IP, NAT и маны. по ipfw даже русский ман есть...

Добавлено: 2007-03-14 11:35:16
Гость
Добавил в /etc/natd.conf

-redirect_port tcp 192.168.10.5:110 110
-redirect_port tcp 192.168.10.5:25 25

Проблема осталась. А в правилах больше ничего не надо добавлять? В /etc/natd.conf только эти две строки должны быть?

Добавлено: 2007-03-14 11:35:24
Kolesnikov
alex3 писал(а):Читать: протоколы TCP/IP, NAT и маны.
Иногда бывает хорошее настроение и не обламывает разжевать. :wink: У самого было давненько: не мог разобраться со списками в ipfw, тоже спрашивал в фидо. Умные дядьки из ru.unix.bsd тоже тыкали в маны. На 3 дня растянулось, а могли просто подсказать про экранирование или цитатку подкинуть. Ну нет у меня знакомого юниксоида, приходится все самому...

Добавлено: 2007-03-14 11:43:50
Гость
Всем спасибо. Извините что побеспокоил.Буду ковырятся.

Добавлено: 2007-03-14 11:54:07
Alex Keda
Kolesnikov писал(а):
alex3 писал(а):Читать: протоколы TCP/IP, NAT и маны.
Иногда бывает хорошее настроение и не обламывает разжевать. :wink: У самого было давненько: не мог разобраться со списками в ipfw, тоже спрашивал в фидо. Умные дядьки из ru.unix.bsd тоже тыкали в маны. На 3 дня растянулось, а могли просто подсказать про экранирование или цитатку подкинуть. Ну нет у меня знакомого юниксоида, приходится все самому...
дядьки правы.
Один раз подскажешь, второй раз другое, по той же теме, из того же мана, третий, четвёртый...
А можно было в первый заход прочесть, и хотя бы знать где искать...
==========
и думать тоже надо учиться...

Добавлено: 2007-03-14 11:58:40
Kolesnikov
Anonymous писал(а):Проблема осталась.
Подозрительно следующее:

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

add divert natd ip from any to ${IpOut} in via ${LanOut}
Пропиши просто: divert natd ip from any to any via fxp0 и не парься.

Добавлено: 2007-03-14 12:01:43
Гость
Конфиг брал с этого сайта.