ipfw + redirect порта с помощу NAT

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

ipfw + redirect порта с помощу NAT

Непрочитанное сообщение Dolphin_BSD » 2009-07-30 19:34:46

Добрый день !

Мучаюсь уже с пол дня никак не могу понять в чем причина .. похожая конфигурация работает и очень даже стабильно на других серверах.

Интернет с белым ИП адресом
В локалке есть ПК на который надо перебросить тот или иной порт что приходит на интерфейс FreeBSD

Конфиг фаервола

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

unix# cat /etc/rc.firewall
#!/bin/sh

ipfw -q -f flush

eip="Х.Х.Х.Х"       # External ip
ilan="192.168.Х.0/24"    # Internal lan

cmd="ipfw -q add"
skip="skipto 65000"
skip2="skipto 65500"

#########################
citrix="192.168.Х.250"
#########################

############
eif="rl0"
iif="re0"
############

#########################################################
#$cmd 50 allow gre from any to me in via $eif keep-state
#########################################################

##############################################################################
$cmd 70 fwd 127.0.0.1,3128 tcp from 192.168.Х.0/24 to any 80 via $iif
$cmd 80 fwd 192.168.Х.111,2121 tcp from 192.168.Х.0/24 to any 21 via $iif
##############################################################################

##########################################################
$cmd 100 count ip from any to any via $eif
$cmd 300 allow ip from any to any via lo0
$cmd 310 allow ip from any to any via $iif antispoof
##########################################################

##############################################################
# Allow FTP-20,21 iznutri,izvne
#$cmd 330 pass tcp from any to any 20,21 in via $eif
#$cmd 340 pass tcp from any 20 to any in via $eif
##############################################################

#########################################################################
$cmd 1000 divert natd ip from any to any in via $eif

#Citrix
#$cmd 1011 divert natd tcp from $citrix to any src-port 1494 out via $eif
#$cmd 1012 allow tcp from any to $citrix dst-port 1494 in via $eif
#$cmd 1013 allow tcp from me to any src-port 1494 out via $eif

#CDMS
#$cmd 1014 divert natd tcp from $citrix to any src-port порт out via $eif
#$cmd 1015 allow tcp from any to $citrix dst-port порт in via $eif
#$cmd 1016 allow tcp from me to any src-port порт out via $eif

#CDMS
#$cmd 1017 divert natd tcp from $citrix to any src-port порт1 out via $eif
#$cmd 1018 allow tcp from any to $citrix dst-port порт1 in via $eif
#$cmd 1019 allow tcp from me to any src-port порт1 out via $eif

#CDMS
#$cmd 1020 divert natd tcp from $citrix to any src-port порт2 out via $eif
#$cmd 1021 allow tcp from any to $citrix dst-port порт2 in via $eif
#$cmd 1022 allow tcp from me to any src-port порт2 out via $eif

#skipe
$cmd 1030 divert natd tcp from $ilan to any src-port 2604 out via $eif
$cmd 1031 allow tcp from any to any dst-port 65530
$cmd 1032 allow udp from any to any dst-port 65530
$cmd 1033 allow udp from $ilan to any src-port 2604 out via $eif

$cmd 1050 check-state
##########################################################################

##############################################OPEN################################################
#mail
$cmd 1110 $skip tcp from $ilan to any dst-port 110 out via $eif setup keep-state
$cmd 1111 $skip tcp from $ilan to any dst-port 25 out via $eif setup keep-state
$cmd 1112 $skip tcp from $ilan to any dst-port 143 out via $eif setup keep-state
$cmd 1113 $skip tcp from $ilan to any dst-port 995, 587 out via $eif setup keep-state
#FTP
#$cmd 1114 $skip tcp from $ilan to any dst-port 21 out via $eif setup keep-state
#$cmd 1115 $skip tcp from $ilan to any dst-port 20 out via $eif setup keep-state
#$cmd 1116 $skip tcp from $ilan to any dst-port 1024-65535 out via $eif setup keep-state
#Banck Direct
$cmd 1120 $skip tcp from $ilan to any dst-port 443, 5557 out via $eif setup keep-state
$cmd 1121 $skip tcp from $ilan to 194.0.187.198 dst-port 10002, 10001 out via $eif setup keep-state
#SSH
$cmd 1131 $skip tcp from $ilan to any dst-port 22, 1122 out via $eif setup keep-state
#NOD
$cmd 1144 $skip tcp from $ilan to any dst-port 8081 out via $eif setup keep-state
#ICQ
$cmd 1151 $skip tcp from $ilan to any dst-port 3306 out via $eif setup keep-state
$cmd 1152 $skip tcp from $ilan to any dst-port 443, 5190 out via $eif setup keep-state
#Yahoo
$cmd 1153 $skip tcp from $ilan to any dst-port 5000, 5001, 5050, 1863 out via $eif setup keep-state
$cmd 1154 $skip udp from $ilan to any dst-port 5055 out via $eif setup keep-state
#Radio
$cmd 1160 $skip tcp from $ilan to any dst-port 8000, 9000 out via $eif setup keep-state
$cmd 1161 $skip ip from $ilan to any dst-port 8000, 9000 out via $eif setup keep-state
#TeamViewer
$cmd 1170 $skip udp from $ilan to any dst-port 4233, 4235, 4234 out via $eif setup keep-state
############################################END-OPEN###############################################

#########################################Full-access###############################################
#$cmd 1210 $skip tcp from $dolphin to any out via $eif setup keep-state
#$cmd 1220 $skip udp from $dolphin to any out via $eif keep-state
#$cmd 1230 $skip icmp from $dolphin to any out via $eif keep-state

#$cmd 1330 $skip icmp from $ilan to any out via $eif keep-state
########################################END_Full-access############################################

######################################################################################
#Deny ip inbound traffic from non-roureble reserver address spaces
$cmd 1900 deny ip from 192.168.0.0/16 to any in via $eif  #RFC 1918 private IP
$cmd 1901 deny ip from 172.16.0.0/12 to any in via $eif   #RFC 1918 private IP
$cmd 1902 deny ip from 10.0.0.0/8 to any in via $eif      #RFC 1918 private IP
$cmd 1903 deny ip from 127.0.0.0/8 to any in via $eif     #loopback
$cmd 1904 deny ip from 0.0.0.0/8 to any in via $eif       #loopback
$cmd 1905 deny ip from 169.254.0.0/16 to any in via $eif  #DHCP auto-config
$cmd 1906 deny ip from 192.0.2.0/24 to any in via $eif    #reserved for docs
$cmd 1907 deny ip from 204.152.64.0/23 to any in via $eif #Sun cluster
$cmd 1908 deny ip from 224.0.0/3 to any in via $eif       #Class D & E multicast
$cmd 1909 deny ip from any to any 3128 in via $eif
######################################################################################

#Deny any late arriving packets
$cmd 2000 deny ip from any to any frag in via $eif

#Deny ACK packets that did not match the dynamic rule table
$cmd 2010 deny ip from any to any established in via $eif

#########outbound connection
$cmd 4000 allow tcp from me to any out via $eif setup keep-state
$cmd 4010 allow udp from me to any out via $eif keep-state
$cmd 4030 allow icmp from me to any out via $eif keep-state
$cmd 4040 allow ip from any to me 53 keep-state
$cmd 4050 allow ip from any to me 21 keep-state
$cmd 4060 allow ip from any to me 49100-49110 keep-state

#########inbound connection
$cmd 6000 allow tcp from any to me dst-port 25 in via $eif setup keep-state
$cmd 6010 allow tcp from any to me dst-port 110 in via $eif setup keep-state
$cmd 6020 allow tcp from any to me dst-port 1122 in via $eif setup keep-state
#$cmd 6040 allow tcp from any to me dst-port 1723 in via $eif setup keep-state
$cmd 6050 allow tcp from any to me dst-port 443 in via $eif setup keep-state
$cmd 6060 allow udp from any to any dst-port 53 in via $eif
$cmd 6061 allow tcp from any to any dst-port 53 in via $eif
$cmd 6062 allow tcp from any to any 53 in via $eif
$cmd 6063 allow udp from any to any 53 in via $eif
$cmd 6070 allow tcp from any to me dst-port 143 in via $eif setup keep-state

#Reject & Log all unauthorized incoming connection from the public Internet
$cmd 64900 deny log logamount 10000 all from any to any in via $eif

#Reject & Log all unauthorized out going connections to the public Internet
$cmd 64910 deny log logamount 10000 all from any to any out via $eif

$cmd 65000 divert natd ip from any to any out via $eif
$cmd 65500 allow ip from any to any
Конфиг NAT

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

unix# cat /etc/natd.conf
interface rl0
use_sockets yes
dynamic yes
same_ports yes
redirect_port tcp 192.168.Х.250:порт порт
redirect_port tcp 192.168.Х.250:порт1 порт1
redirect_port tcp 192.168.Х.250:порт2 порт2

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

unix# ps ax| grep natd
  625  ??  Ss     0:00.40 /sbin/natd -f /etc/natd.conf
 1103  p0  S+     0:00.00 grep natd
Опции Ядра

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

Jul 30 19:21:56 unix kernel: ipfw2 (+ipv6) initialized, divert enabled, nat loadable, rule-based forwarding enabled, default to deny, logging limited to 100 packets/entry by default
При попытках просто глухо ... уже не знаю куда тыкать !

Подскажите .. может где то явная ошибка !
_______________________________________________________________________________
Каждая секунда жизни имеет собственную цену, которую необходимо вовремя заплатить.
http://www.ftl.com.ua

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Re: ipfw + redirect порта с помощу NAT

Непрочитанное сообщение Dolphin_BSD » 2009-07-30 19:46:21

Вопрос на 90% закрыт .. только что звоню уже от безвыходности провайдеру - мне в ответ "да по новым правилам мы специфические порты как и 25 закрываем по умолчанию, пишите запрос" - ржал и плакал долго !
_______________________________________________________________________________
Каждая секунда жизни имеет собственную цену, которую необходимо вовремя заплатить.
http://www.ftl.com.ua

Аватара пользователя
alex3
лейтенант
Сообщения: 872
Зарегистрирован: 2006-11-20 16:47:56
Откуда: Переславль
Контактная информация:

Re: ipfw + redirect порта с помощу NAT

Непрочитанное сообщение alex3 » 2009-07-31 7:24:48

такая же фигня была. когда открывали новый канал - попросили админов прова внести в DNS наш хост - mail.****.ru
2 недели бился, почему по этому каналу почтовик почту не получает, пока не попил пива с админами прова и не поделился проблемой. Они в ответ - а мы 25-й порт закрываем, а то надоело уже в блеклистах сидеть... Но на вопрос, а зачем, собсно, я их просил внести в зону хост с явно почтовым именем и почему из этого нельзя было сделать вывод о разрешении почтового траффика на него, они так и не смогли дать ответ.
Если ipfw можно считать речью обычного человека, то pf - речь политика. За каждой ошибкой -ядерный песец.

Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Re: ipfw + redirect порта с помощу NAT

Непрочитанное сообщение Dolphin_BSD » 2009-08-04 11:27:26

Скажите уважаемые есть ли какой то способ проверить 2 вещи :

1)Работает ли у меня переброс портов без помощи провайдера силами самой ОС ФРИ.
2)Проверить доходят ли до меня с обределенного ИП по таком то порту пакеты вообще, или все же нет и щимить провайдера.

Что-то гады руки умывают ... !
А вопрос надо закрыть ... я на 90% уверен что они ... было быне плохо как то им показать и доказать !

Заранее спасибо.
_______________________________________________________________________________
Каждая секунда жизни имеет собственную цену, которую необходимо вовремя заплатить.
http://www.ftl.com.ua

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: ipfw + redirect порта с помощу NAT

Непрочитанное сообщение terminus » 2009-08-04 11:35:52

1)Работает ли у меня переброс портов без помощи провайдера силами самой ОС ФРИ.
Попросить товарища сделать telnet на туда куда надо проверить, а самому смотреть логи фаервола - приходит что-гить или нет.
2)Проверить доходят ли до меня с обределенного ИП по таком то порту пакеты вообще, или все же нет и щимить провайдера.
На сервере запустить:

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

nc -l 25
попросить товарища сделать telnet server.name 25 и смотреть сыпется ли что-нить в вывод nc или нет.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Re: ipfw + redirect порта с помощу NAT

Непрочитанное сообщение Dolphin_BSD » 2009-08-04 14:59:04

Сделал, тишина ...

Оставил 1 пор 3389 - по пробовал его повесить на ССШ, работает, на переброс не работает ...

отталкиваясь от конфигов выше ... может кто подскажет в чем может быть лажа ?
_______________________________________________________________________________
Каждая секунда жизни имеет собственную цену, которую необходимо вовремя заплатить.
http://www.ftl.com.ua

Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Re: ipfw + redirect порта с помощу NAT

Непрочитанное сообщение Dolphin_BSD » 2009-08-04 17:15:53

Подозрение на NAT, может в 7.2 он по другому конфигурируеться но все правила в фаере работает кроме переброса порта ...

Подскажите куда рыть !
_______________________________________________________________________________
Каждая секунда жизни имеет собственную цену, которую необходимо вовремя заплатить.
http://www.ftl.com.ua

Аватара пользователя
MASiK
лейтенант
Сообщения: 625
Зарегистрирован: 2008-09-19 20:09:41
Откуда: Оттуда
Контактная информация:

Re: ipfw + redirect порта с помощу NAT

Непрочитанное сообщение MASiK » 2009-08-05 6:47:23

Рыть в сторону своего 3-х тонного конфига ipfw
у тебя косяк там, ибо там стока всего что я и не понял вообще

Пересмотри конфиг советую, грохни половину правил, где тебе сообщили что конфиг фаэрвола должен быть 9-ти этажный?

Правила с 1011 по 1033 вообще не понятно зачем

У тебя нету выхода по порту твоему 3389 только вход от всех, а выход на какие-то избранные порты, добавь

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

ipfw add divert natd ip from $ilan to any out via $eif
Самурай

Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Re: ipfw + redirect порта с помощу NAT

Непрочитанное сообщение Dolphin_BSD » 2009-08-05 9:39:43

Конф большой ... и что там могу расказать по етапно.

Аналогичный конфиг почти один в один работает как минимум на 10 серверах ... и там все гуд.

Попробую посмотреть и обдумать Ваш ответ, но все же может есть какие то мысли еще у кого то ..
_______________________________________________________________________________
Каждая секунда жизни имеет собственную цену, которую необходимо вовремя заплатить.
http://www.ftl.com.ua

Аватара пользователя
AndreyDPro84
рядовой
Сообщения: 27
Зарегистрирован: 2009-10-07 9:40:39
Контактная информация:

Re: ipfw + redirect порта с помощу NAT

Непрочитанное сообщение AndreyDPro84 » 2011-08-04 15:49:15

Добрый день, хочу пробросить 80 порт на веб сервер. Ситуация аналогичная, стоит шлюз на FreeBSD 8.2, natd, туннель, ipfw. Порт пытаюсь пробросить через туннель, так как на нём получаю белый адрес.

/etc/rc.conf

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

natd_enable="YES"
natd_interface="fxp0"
natd_flags=""

natd2_enable="YES"
#natd2_interface="белый ip"
#natd2_flags="-p 8669"
правила ipfw

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

#!/bin/sh
fwcmd="ipfw -q"
skip="skipto 30000"
### Внешний интерфейс, смотрит в сеть провайдера (ext_if)
ext_if="fxp0"
ext_net="10.0.0.0/8"
ext_ip="10.11.21.6"
### Внутренний интерфейс, смотрит в "маленькую" локалку (elantech_if)
elantech_if="vr0"
elantech_net="192.168.1.0/24"
elantech_mask="255.255.255.0"
elantech_ip="192.168.1.12"

### Internet интерфейс (VPN туннель)
inet_if="ng0"
inet_ip="белый ip"

### VPN-сервер
vpn_ip="10.0.0.100"
vpn_port="1723"
###----------------------------------------------------------------------------

${fwcmd} -f flush
### Таблица доступа в интернет/к большой локалке для машин из "маленькой" сети
${fwcmd} table 13 flush
${fwcmd} table 13 add 192.168.1.7
${fwcmd} table 13 add 192.168.1.9
${fwcmd} table 13 add 192.168.1.10
${fwcmd} table 13 add 192.168.1.11
### Только локальный траффик через loopback
${fwcmd} add 100 pass all from any to any via lo0
${fwcmd} add 200 deny all from any to 127.0.0.0/8
${fwcmd} add 300 deny ip from 127.0.0.0/8 to any
### Разрешаем GRE пакеты до и от VPN сервера, чтобы mpd мог поднять туннель
${fwcmd} add 501 allow gre from ${ext_ip} to ${vpn_ip} via ${ext_if}
${fwcmd} add 502 allow gre from ${vpn_ip} to ${ext_ip} via ${ext_if}
### Разрешаем PPTP к VPN серверу, опять же для создания туннеля
${fwcmd} add 503 allow tcp from ${ext_ip} to ${vpn_ip} 1723 via ${ext_if} setup keep-state


### SSH
${fwcmd} add 00508 allow tcp from any to any 22 setup keep-state

###----------------------------------------------------------------------------
### NAT-им входящие из сети провайдера пакеты
${fwcmd} add 10000 divert natd all from ${ext_net} to any in via ${ext_if}
### NAT-им входящие пакеты из Internet
${fwcmd} add 10001 divert 8669 all from any to any in via ${inet_if}
###----------------------------------------------------------------------------

### Попытка пробросить порт на web сервер
${fwcmd} add 10011 divert 8669 tcp from 192.168.1.7 to any 80 out via ${inet_if}
${fwcmd} add 10012 allow tcp from any to 192.168.1.7 80 in via ${inet_if}
${fwcmd} add 10013 allow tcp from me to any 80 out via ${inet_if}


### Требуем от ipfw обработки динамических правил
${fwcmd} add 11000 check-state
### Доступ из локалки в сеть провайдера
${fwcmd} add 12100 ${skip} tcp from "table(13)" to ${ext_net} out via ${ext_if} setup keep-state
${fwcmd} add 12105 ${skip} udp from "table(13)" to ${ext_net} out via ${ext_if} keep-state
${fwcmd} add 12110 ${skip} icmp from "table(13)" to ${ext_net} out via ${ext_if} keep-state
### Доступ из локалки в Internet
${fwcmd} add 12115 ${skip} tcp from "table(13)" to not ${ext_net} out via ${inet_if} setup keep-state
${fwcmd} add 12120 ${skip} udp from "table(13)" to not ${ext_net} out via ${inet_if} keep-state
${fwcmd} add 12125 ${skip} icmp from "table(13)" to not ${ext_net} out via ${inet_if} keep-state
${fwcmd} add 12130 ${skip} gre from "table(13)" to any
${fwcmd} add 12131 ${skip} gre from any to "table(13)"
### Доступ в Internet для себя
${fwcmd} add 12135 ${skip} tcp from ${inet_ip} to not ${ext_net} out via ng0 setup keep-state
${fwcmd} add 12140 ${skip} udp from ${inet_ip} to not ${ext_net} out via ng0 keep-state
${fwcmd} add 12145 ${skip} icmp from ${inet_ip} to not ${ext_net} out via ng0 keep-state
### Доступ в сеть провайдера для себя
${fwcmd} add 12150 ${skip} tcp from ${ext_ip} to ${ext_net} out via ${ext_if} setup keep-state
${fwcmd} add 12155 ${skip} udp from ${ext_ip} to ${ext_net} out via ${ext_if} keep-state
${fwcmd} add 12160 ${skip} icmp from ${ext_ip} to ${ext_net} out via ${ext_if}keep-state
### Доступ из локалки к внутреннему интерфейсу
${fwcmd} add 12165 ${skip} tcp from "table(13)" to ${elantech_ip} in via ${elantech_if} setup keep-state
${fwcmd} add 12170 ${skip} udp from "table(13)" to ${elantech_ip} in via  ${elantech_if} keep-state
${fwcmd} add 12175 ${skip} icmp from "table(13)" to  ${elantech_ip} in via  ${elantech_if} keep-state
### Ексклюзив для root-а
${fwcmd} add 12200 ${skip} all from me to any out via ${elantech_if} setup keep-state
###----------------------------------------------------------------------------
### Режем остальные пакеты
${fwcmd} add 14600 deny all from any to any via ${ext_if}
${fwcmd} add 14601 deny all from any to any via ${inet_if}
${fwcmd} add 14602 deny all from any to me via ${elantech_if}
${fwcmd} add 14603 deny all from me to any via ${elantech_if}
###----------------------------------------------------------------------------
### NAT-им пакеты в сеть провайдера
${fwcmd} add 50000 divert natd all from any to ${ext_net} out via ${ext_if}
### NAT-им пакеты в интернет
${fwcmd} add 51000 divert 8669 all from any to any out via ${inet_if}
### Сюда долетели честные пакеты - пропускаем!
${fwcmd} add 55000 allow ip from any to any
###----------------------------------------------------------------------------
вторую копию ната запускаю ручками, так как при добавлении параметров редиректа он не запускается, видимо что-то путаю в синтаксисе флагов, запускаю так:

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

natd -p 8669 -n ng0 -redirect_port tcp 192.168.1.7:80 80

Аватара пользователя
AndreyDPro84
рядовой
Сообщения: 27
Зарегистрирован: 2009-10-07 9:40:39
Контактная информация:

Re: ipfw + redirect порта с помощу NAT

Непрочитанное сообщение AndreyDPro84 » 2011-08-04 15:56:41

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

ipfw show
00100    0      0 allow ip from any to any via lo0
00200    0      0 deny ip from any to 127.0.0.0/8
00300    0      0 deny ip from 127.0.0.0/8 to any
00501 1986 227013 allow gre from 10.11.21.6 to 10.0.0.100 via fxp0
00502  848 132378 allow gre from 10.0.0.100 to 10.11.21.6 via fxp0
00503  601  55764 allow tcp from 10.11.21.6 to 10.0.0.100 dst-port 1723 via fxp0 setup keep-state
00508  364  41713 allow tcp from any to any dst-port 22 setup keep-state
10000 2264 142328 divert 8668 ip from 10.0.0.0/8 to any in via fxp0
10001  578  80590 divert 8669 ip from any to any in via ng0
10011   36   1872 divert 8669 tcp from 192.168.1.7 to any dst-port 80 out via ng0
10012    3    144 allow tcp from any to 192.168.1.7 dst-port 80 in via ng0
10013   36   1872 allow tcp from me to any dst-port 80 out via ng0
11000    0      0 check-state
12100  513  92832 skipto 30000 tcp from table(13) to 10.0.0.0/8 out via fxp0 setup keep-state
12105  110   9586 skipto 30000 udp from table(13) to 10.0.0.0/8 out via fxp0 keep-state
12110    0      0 skipto 30000 icmp from table(13) to 10.0.0.0/8 out via fxp0 keep-state
12115 2362 266370 skipto 30000 tcp from table(13) to not 10.0.0.0/8 out via ng0 setup keep-state
12120  583  94914 skipto 30000 udp from table(13) to not 10.0.0.0/8 out via ng0 keep-state
12125    0      0 skipto 30000 icmp from table(13) to not 10.0.0.0/8 out via ng0 keep-state
12130    0      0 skipto 30000 gre from table(13) to any
12131    0      0 skipto 30000 gre from any to table(13)
12135    0      0 skipto 30000 tcp from белый ip to not 10.0.0.0/8 out via ng0 setup keep-state
12140    0      0 skipto 30000 udp from белый ip to not 10.0.0.0/8 out via ng0 keep-state
12145    0      0 skipto 30000 icmp from белый ip to not 10.0.0.0/8 out via ng0 keep-state
12150    0      0 skipto 30000 tcp from 10.11.21.6 to 10.0.0.0/8 out via fxp0 setup keep-state
12155   16   1654 skipto 30000 udp from 10.11.21.6 to 10.0.0.0/8 out via fxp0 keep-state
12160    0      0 skipto 30000 icmp from 10.11.21.6 to 10.0.0.0/8 out via fxp0keep-state
12165    0      0 skipto 30000 tcp from table(13) to 192.168.1.12 in via vr0 setup keep-state
12170    0      0 skipto 30000 udp from table(13) to 192.168.1.12 in via vr0 keep-state
12175    0      0 skipto 30000 icmp from table(13) to 192.168.1.12 in via vr0 keep-state
12200    0      0 skipto 30000 ip from me to any out via vr0 setup keep-state
14600 2177 122326 deny ip from any to any via fxp0
14601  348  27892 deny ip from any to any via ng0
14602    0      0 deny ip from any to me via vr0
14603    0      0 deny ip from me to any via vr0
50000  179  26444 divert 8668 ip from any to 10.0.0.0/8 out via fxp0
51000 1309 138770 divert 8669 ip from any to any out via ng0
55000 4357 530389 allow ip from any to any
65535    8    900 deny ip from any to any

Аватара пользователя
AndreyDPro84
рядовой
Сообщения: 27
Зарегистрирован: 2009-10-07 9:40:39
Контактная информация:

Re: ipfw + redirect порта с помощу NAT

Непрочитанное сообщение AndreyDPro84 » 2011-08-04 18:58:49

Ппроблема решена, добавил следующее правило:

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

...
### Ексклюзив для root-а
${fwcmd} add 12200 ${skip} all from me to any out via ${elantech_if} setup keep-state
### Пытаемся пробросить 80 портна веб сервер
${fwcmd} add 12205 ${skip} tcp from any to "table(13)" in via ${ext_if} setup keep-state
${fwcmd} add 12210 ${skip} tcp from any to "table(13)" in via ${inet_if} setup keep-state
###----------------------------------------------------------------------------
### Режем остальные пакеты
...