The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"ipfw+natd+ipnat"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"ipfw+natd+ipnat"  
Сообщение от tomishinets email(ok) on 02-Май-07, 14:58 
Доброе время суток! Возникла проблема....Никак не получается настроить роутер с поддержкой NATD или IPNAT на базе ipfw. Помогите, может просто тупо чего не замечаю...
При использовании обоих конфигураций NAT пинг идёт только до вышестоящего роутера, на остальные машины он не доходит, даже на те, которые находятся в одной сетке с вышестоящим роутером. Также не работает не одна служба: ДНС, прокся, NTP и т.д. В локальной сети всё робит.

Листинг rc.conf
gateway_enable="YES"
defaultrouter="x.x.x.x2"
firewall_enable="YES"
firewall_script="/etc/rules"
либо
natd_enable="YES"
natd_interface="rl1"
natd_flags="/etc/natd.rules"
либо
ipnat_enable="YES"
ipnat_program="/sbin/ipnat -CF -f"
ipnat_rules="/etc/ipnat"
ipnat_flags=""

Конфиг правил для IPFW
#!/bin/sh
############Script For IpFw

#1.

int_if="rl0"
ext_if="rl1"

int_ip="192.168.0.52"
ext_ip="x.x.x.x"
web_ip="192.168.0.60"
ftp_ip="192.168.0.41"
otr_ip="x.x.x.x1"

lan_ip="192.168.0.0/24"

######################IpFW Rules

/sbin/ipfw -f flush
/sbin/ipfw add check-state

#2. Block Bad traffic (frag)

/sbin/ipfw add deny log all from any to any in recv rl1 frag
#/sbin/ipfw add deny log all from any to ${ext_ip} in recv rl1 ipoptions ssrr
#/sbin/ipfw add deny log all from any to ${ext_ip} in recv rl1 ipoptions lsrr
#/sbin/ipfw add deny log all from any to ${ext_ip} in recv rl1 ipoptions rr
#/sbin/ipfw add deny log all from any to ${ext_ip} in recv rl1 ipoptions ts

#3.

#/sbin/ipfw add deny log tcp from any to ${ext_ip} in recv rl1 tcpflags syn,fin,!ack
#/sbin/ipfw add deny log tcp from any to ${ext_ip} in recv rl1 cpflag ssyn,fin,urg,psh,!ack
#/sbin/ipfw add deny log tcp from any to ${ext_ip} in recv rl1 tcpflags fin,urg,psh,!ack
#/sbin/ipfw add deny log tcp from any to ${ext_ip} in recv rl1 tcpflags fin,!ack
#/sbin/ipfw add deny log tcp from any to ${ext_ip} in recv rl1 tcpflags urg,!ack
#/sbin/ipfw add deny log tcp from any to ${ext_ip} in recv rl1 tcpflags psh,!ack

#4.

#/sbin/ipfw add deny log tcp from any to any tcpoptions !mss tcpflags syn,!ack

#5.

#/sbin/ipfw add deny log all from 127.0.0.0/8 to ${ext_ip} in recv rl1
#/sbin/ipfw add deny log all from 192.168.0.0/16 to ${ext_ip} in recv rl1
#/sbin/ipfw add deny log all from 172.16.0.0/12 to ${ext_ip} in recv rl1
#/sbin/ipfw add deny log all from 10.0.0.0/8 to ${ext_ip} in recv rl1
#/sbin/ipfw add deny log all from 0.0.0.0/8 to ${ext_ip} in recv rl1
#/sbin/ipfw add deny log all from 169.254.0.0/16 to ${ext_ip} in recv rl1
#/sbin/ipfw add deny log all from 192.0.2.0/24 to ${ext_ip} in recv rl1
#/sbin/ipfw add deny log all from 204.152.64.0/23 to ${ext_ip} in recv rl1
#/sbin/ipfw add deny log all from 224.0.0.0/3 to ${ext_ip} in recv rl1
#/sbin/ipfw add deny log all from 20.20.20.0/24 to ${ext_ip} in recv rl1

/sbin/ipfw add deny log all from 192.168.0.0/24 to 192.168.0.0/24 via rl1

#6.

/sbin/ipfw add allow icmp from any to any via rl1
/sbin/ipfw add allow all from any to any via lo0
/sbin/ipfw add allow all from 192.168.0.0/24 to me in recv rl0
/sbin/ipfw add allow all from me to 192.168.0.0/24 out xmit rl0
/sbin/ipfw add allow all from me to any keep-state out xmit rl1
/sbin/ipfw add allow tcp from any to any established via any

#7.

/sbin/ipfw add deny tcp from 192.168.0.0/24 to any 80 out xmit rl1
/sbin/ipfw add deny tcp from 192.168.0.0/24 to any 443 out xmit rl1
/sbin/ipfw add deny tcp from 192.168.0.0/24 to any 21 out xmit rl1

#8.

/sbin/ipfw add allow all from 192.168.0.0/24 to any keep-state out xmit rl1

#9.

#/sbin/ipfw add divert nat all from 192.168.0.0/24 to any out xmit rl1

#10.

/sbin/ipfw add allow tcp from any to any keep-state out xmit rl1
/sbin/ipfw add allow all from any to any out xmit rl1

#11.

#/sbin/ipfw add allow tcp from any to x.x.x.x 83 in recv rl1 tcpflags syn,!psh,!ack,!fin,!urg,!rst
#/sbin/ipfw add allow tcp from any to x.x.x.x 83 in recv rl1 tcpflags ack,!syn,!psh,!fin,!urg,!rst
#/sbin/ipfw add allow tcp from any to x.x.x.x 83 in recv rl1 tcpflags ack,psh,!syn,!fin,!urg,!rst
#/sbin/ipfw add allow tcp from any to x.x.x.x 83 in recv rl1 tcpflags ack,fin,!syn,!psh,!urg,!rst
#/sbin/ipfw add allow tcp from any to x.x.x.x 83 in recv rl1 tcpflags ack,syn,!psh,!fin,!urg,!rst
#/sbin/ipfw add allow tcp from any to x.x.x.x 83 in recv rl1 tcpflags rst,!ack,!syn,!psh,!fin,!urg

#/sbin/ipfw add allow tcp from any to x.x.x.x 21 in recv rl1 tcpflags ack,!syn,!psh,!fin,!urg,!rst
#/sbin/ipfw add allow tcp from any to x.x.x.x 21 in recv rl1 tcpflags syn,!psh,!ack,!fin,!urg,!rst
#/sbin/ipfw add allow tcp from any to x.x.x.x 21 in recv rl1 tcpflags ack,fin,!syn,!psh,!urg,!rst
#/sbin/ipfw add allow tcp from any to x.x.x.x 21 in recv rl1 tcpflags ack,psh,!syn,!fin,!urg,!rst
#/sbin/ipfw add allow tcp from any to x.x.x.x 21 in recv rl1 tcpflags rst,!ack,!syn,!psh,!fin,!urg

Конфиг Ip_nat
map rl1 192.168.0.0/24 -> x.x.x.x/255.255.255.252
rdr rl1 x.x.x.x/255.255.255.252 port 83 -> 192.168.0.60 port 83
rdr rl1 x.x.x.x/255.255.255.252 port 8080 -> 192.168.0.60 port 8080
rdr rl1 x.x.x.x/255.255.255.252 port 21 -> 192.168.0.100 port 21

Конфиг NATD
log                          yes
deny_incomming               no
use_sockets                  yes
same_ports                   yes
verbose                      no
port                         natd
unregistered_only            yes
log_ipfw_denied              yes

redirect_adress tcp x.x.x.x:83   192.168.0.60:83
redirect_adress tcp x.x.x.x:8080 192.168.0.60:8080
redirext_adress tcp x.x.x.x:21   192.168.0.60:21

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

  • ipfw+natd+ipnat, player943, 20:47 , 02-Май-07, (1)  
    • ipfw+natd+ipnat, tomishinets, 13:50 , 04-Май-07, (3)  
  • ipfw+natd+ipnat, KlounAda, 08:13 , 03-Май-07, (2)  
    • ipfw+natd+ipnat, tomishinets, 13:55 , 04-Май-07, (4)  
  • ipfw+natd+ipnat, Vanya, 17:06 , 04-Май-07, (5)  
    • ipfw+natd+ipnat, tomishinets, 10:32 , 07-Май-07, (6)  
  • ipfw+natd+ipnat, tomishinets, 14:54 , 08-Май-07, (7)  

Сообщения по теме [Сортировка по времени, UBB]


1. "ipfw+natd+ipnat"  
Сообщение от player943 (??) on 02-Май-07, 20:47 
Прочитайте для начала
http://www.unixdoc.ru/index.php?mode=2&podmode=1&arcicle_id=15&theme=nat%20ipfw%20freebsd
и сделайте миниум для ната, а потом прикручивайте всякие защиты и шейпинг трафика
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "ipfw+natd+ipnat"  
Сообщение от tomishinets email(??) on 04-Май-07, 13:50 
>Прочитайте для начала
>http://www.unixdoc.ru/index.php?mode=2&podmode=1&arcicle_id=15&theme=nat%20ipfw%20freebsd
>и сделайте миниум для ната, а потом прикручивайте всякие защиты и шейпинг
>трафика

1. Читал.
2. Делал.
3. Пытался сегодня простенько....всё открыть.
Ничего не помогло...Такое очучение, что нат не отрабатывает....

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "ipfw+natd+ipnat"  
Сообщение от KlounAda email(??) on 03-Май-07, 08:13 
>Доброе время суток! Возникла проблема....Никак не получается настроить роутер с поддержкой NATD
>или IPNAT на базе ipfw.

Это конечно ИМХО, но я бы сразу делал это на pf-filter, примеры в соседней ветке.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "ipfw+natd+ipnat"  
Сообщение от tomishinets email(??) on 04-Май-07, 13:55 
>>Доброе время суток! Возникла проблема....Никак не получается настроить роутер с поддержкой NATD
>>или IPNAT на базе ipfw.
>
>Это конечно ИМХО, но я бы сразу делал это на pf-filter, примеры
>в соседней ветке.

Дело в том, что я пробовал на pf, но у меня не вышло...наверное опять где-то ошибка вылезла...Да и по сложнее тама, сам принцип работы на мой взгляд тяжел.
Киньте адресок (ссылку), если не в лом. А то я уже обчитался всяких советов, статей и т.д. Не знаю может чё то пропустил...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "ipfw+natd+ipnat"  
Сообщение от Vanya email(??) on 04-Май-07, 17:06 

#/sbin/ipfw add divert nat all from 192.168.0.0/24 to any out xmit rl1

Вот эта строчка транслирует все пакеты с внутренней сети в IP внешнего интерфейса.
А когда пакет возвращается назад он у вас уже не обрабатывается.

поставте
#/sbin/ipfw add divert nat all from any to any out xmit rl1
или

#/sbin/ipfw add divert nat all from 192.168.0.0/24 to any out xmit rl1
#/sbin/ipfw add divert nat all from any to my_IP in xmit rl1

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "ipfw+natd+ipnat"  
Сообщение от tomishinets email(??) on 07-Май-07, 10:32 
>
>#/sbin/ipfw add divert nat all from 192.168.0.0/24 to any out xmit rl1
>
>
>Вот эта строчка транслирует все пакеты с внутренней сети в IP внешнего
>интерфейса.
>А когда пакет возвращается назад он у вас уже не обрабатывается.
>
>поставте
>#/sbin/ipfw add divert nat all from any to any out xmit rl1
>
>или
>
>#/sbin/ipfw add divert nat all from 192.168.0.0/24 to any out xmit rl1
>
>#/sbin/ipfw add divert nat all from any to my_IP in xmit rl1
>
#/sbin/ipfw add divert nat all from any to my_IP in xmit rl1
А разве это правило верно?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "ipfw+natd+ipnat"  
Сообщение от tomishinets email(??) on 08-Май-07, 14:54 
И так....я наконец разобрался с этой проблемой...Затык был с NATd и возможно с несколькими правилами....Теперь проблема в следующем, у мне необходимо пробросить www и ftp трафик с инета в локальную сеть...www пробросил через -redirect_port, а вот ftp никак не получается...Соединение идёт, но потом отваливается по таймауту...

в natd прописано следующее

-redirect_port 192.168.0.x:80 80
-redirect_port 192.168.0.x: 21 21 (пробовал проброс и 20 порта)

в правилах ipfw прописывал следущее

add pass tcp from any to $www_ip 80
add pass tcp from any to $ftp_ip 21 (пробовал и добавлять 20)

add skipto № all from $local_net to any
add divert natd all from $local net to any out xmit rl1
add allow from any to any

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру