Страница 1 из 1
ipfw+natd+redirect
Добавлено: 2006-10-13 11:19:40
spawn
Доброго времени суток всем!
Прочитал статью про настройку ipfw (
http://www.lissyara.su/?id=1127 ) статья оч. понравилась, одна из немногих где настройка описана внятно, единственно,чего не хватает (на мой взгляд) это детального описания как настроить редирект средствами нат и фаервола. все статьи, которые мне до этого встречались какие-то сумбурные...
а если поконкретнее, то вот что интересует:
есть freebsd шлюз с 2 сетевыми интерфейсами- внутренний dc0 192,168,30,100 и внешний rl0 xxx.xxx.xxx.xxx
поднят nat+ipfw и apache на шлюзе, также в локальной сети есть web сервер 192,168,30,44, хочется сделать вот что: чтобы при обращении из инета по адресу (к примеру)
http://xxx.xxx.xxx.xxx:8080, попадать на внутренний сервер
http://192.168.30.44:80, буду признателен если расскажете, как это сделать или отошлете к ресурсу, где все это дело будет внятно описано, нужен именно не готовый конфиг, а хочется разобраться как настраивать это дело...
Добавлено: 2006-10-13 11:21:19
Alex Keda
ВООБЩЕ, я бы отослала в man ipfw - более внятного описания не встречал.
а почитать можно тут -
http://www.lissyara.su/?id=1159
Добавлено: 2006-10-13 12:22:35
spawn
да, вроде бы и в манах и в статье все просто и понятно... но почему-то не пашет... потому и хочу рахобраться как все должно работать
Добавлено: 2006-10-15 2:31:34
zorg
всё же мне кажется если ты хочешь разобраться, то статей лиса более чем достаточно.
А так советы давать только повторять их содержимое!

Потому как инфы ты не дал никакой, чтобы подсказать что у тебя не работает, точнее почему!!!??

Добавлено: 2006-10-16 10:30:06
spawn
проблема решалась проще чем я думал...
я был уверен, что у меня в настройках что-то не так, а на самом деле тот сервер, на который шел редирект, просто не был поднят.
можете смело бить меня ногами, я ступил)
Добавлено: 2006-10-17 9:13:23
zorg
Добавлено: 2006-11-01 12:03:03
chani
Редирект пашет хорошо, но каков синтаксис для того чтобы проброститьь два порта
например на таком примере :
/etc/natd.conf
use_sockets yes
same_ports no
interface bge1
#redirect_port tcp 192.168.0.104:3389 ***.***.***.***:3389
redirect_port tcp 192.168.0.174:5900 ***.***.***.***:5900
Добавлено: 2006-11-01 12:13:49
dikens3
chani писал(а):Редирект пашет хорошо, но каков синтаксис для того чтобы проброститьь два порта
Код: Выделить всё
# cat natd.cf
unregistered_only yes
use_sockets yes
deny_incoming no
same_ports yes
verbose no
log no
port 8668
alias_address ВНЕШНИЙ_ИП
# Для ослика
redirect_port tcp 192.168.100.4:4662 ВНЕШНИЙ_ИП:4662
redirect_port udp 192.168.100.4:4672 ВНЕШНИЙ_ИП:4672
#
redirect_port tcp 192.168.100.5:80 ВНЕШНИЙ_ИП:80
redirect_port tcp 192.168.100.5:25 ВНЕШНИЙ_ИП:25
redirect_port tcp 192.168.100.5:110 ВНЕШНИЙ_ИП:110
redirect_port tcp 192.168.100.5:20 ВНЕШНИЙ_ИП:20
redirect_port tcp 192.168.100.5:21 ВНЕШНИЙ_ИП:21
redirect_port tcp 192.168.100.5:995 ВНЕШНИЙ_ИП:995
У меня вот так :-)
Добавлено: 2006-11-01 20:52:45
zorg
странно, я дак через запятую перечислял!

работает!!

Добавлено: 2006-11-04 17:59:53
chani
а вот на opennet народ настоятельно рекомендует использовать вместо natd ipnat, ктонить может разъеснить чем одно хуже или лучше другого ?
Добавлено: 2006-11-06 13:19:51
dikens3
chani писал(а):а вот на opennet народ настоятельно рекомендует использовать вместо natd ipnat, ктонить может разъеснить чем одно хуже или лучше другого ?
ipnat быстрее вроде как.
Добавлено: 2006-11-18 18:54:07
toor
Странно у мнея не заработало по стате лис хз почему может кто подскажет?
вот натд.конф
Код: Выделить всё
interface xl0
same_ports
unregistered_only
redirect_port tcp 192.168.0.2:4899 4899
redirect_port tcp 192.168.0.2:3389 3389
а вот прваела фаера:
Код: Выделить всё
#!/bin/sh
FwCMD="/sbin/ipfw -q " # бинарник IPFW
LanOut="xl0" # Внешняя сетевуха
NetOut="222.222.222.222/29" # внешняя сеть
IpOut="222.222.222.222" # Внешний IP
LanIn="sk0" # внутренняя сетевуха
NetIn="192.168.0.0/24" # Внутренняя сеть
ip_lan="192.168.0" # Шаблон внутреннего адреса
${FwCMD} -f flush
${FwCMD} -f pipe flush
${FwCMD} -f queue flush
${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 ${NetIn} to any in via ${LanOut}
${FwCMD} add deny ip from ${NetOut} to any in via ${LanIn}
${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 224.0.0.0/4 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 fwd 127.0.0.1,3128 tcp from ${NetIn} to any 80 via ${LanOut}
${FwCMD} add divert natd ip from ${NetIn} 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 icmp from any to any icmptypes 0,8,11
${FwCMD} add allow ip from any to ${NetIn} in via ${LanIn}
${FwCMD} add allow ip from ${NetIn} to any out via ${LanIn}
${FwCMD} add allow tcp from any to any established
${FwCMD} add allow udp from any to ${IpOut} 53 in via ${LanOut}
${FwCMD} add allow udp from ${IpOut} 53 to any out via ${LanOut}
${FwCMD} add allow udp from any 53 to ${IpOut} in via ${LanOut}
${FwCMD} add allow udp from ${IpOut} to any 53 out via ${LanOut}
${FwCMD} add allow udp from any to any 123 via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 53 in via ${LanOut} setup
${FwCMD} add allow tcp from any to ${IpOut} 25 in via ${LanOut} setup
${FwCMD} add allow tcp from any to ${IpOut} 22 in via ${LanOut} setup
#######Добавляю правила для редиректа портор
${FwCMD} add allow tcp from any to 192.168.0.2 3389 via ${LanOut} setup
${FwCMD} add allow tcp from any to 192.168.0.2 4899 via ${LanOut} setup
#######
${FwCMD} add deny log tcp from any to ${IpOut} in via ${LanOut} setup
${FwCMD} add allow tcp from ${IpOut} to any out via ${LanOut} setup
${FwCMD} add allow tcp from any to ${IpOut} in via ${LanIn} setup
${FwCMD} add allow tcp from ${NetIn} to any 5190 in via ${LanIn} setup
${FwCMD} add deny ip from any to any
Ну вообще он взять из статьи лисса. Вот а он продолжает тупо блочить. Может кто знает в чем трабла? Да кстате если поставить фаер в опен то все гуд работает.
Добавлено: 2006-11-18 19:13:38
Alex Keda
я тоже х.з.

но у меня работало

Добавлено: 2006-11-18 19:21:34
toor
а может из за этого?
Код: Выделить всё
{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 224.0.0.0/4 in via ${LanOut}
${FwCMD} add deny ip from any to 240.0.0.0/4 in via ${LanOut}
??
Добавлено: 2006-11-18 19:54:35
toor
lissyara, а можеш показать свои правила? Может я увижу свой косяк

Добавлено: 2006-11-18 19:56:10
Alex Keda
Добавлено: 2006-11-18 22:12:09
zorg
не нужно указывать тип фаера опен или ещё что то!! НУжно указывать путь на скрипт где эти правила описаны!!!!!