The OpenNET Project / Index page

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

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

"IPFW+NAT.. Не могу разобраться."  
Сообщение от Nadz Goldman email(ok) on 24-Авг-07, 14:57 
Всем хай!..

Имеется выход в инет.
Необходимо поднять гейт.
Я делаю так:

Гейт (настраиваемая фря) - 192.168.13.1

Есть сетки
192.168.0.0/24
192.168.1.0/24
192.168.10.0/24
192.168.13.0/30
192.168.20.0/24
192.168.21.0/24
192.168.22.0/24
192.168.23.0/24
192.168.60.0/24

У каждой подсети свой роутер. Адрес роутера имеет вид: 192.168.сеть.70

rl0 - внеш.ний.ай.пи - внешний интерфейс
rl1 - 192.168.13.1 - внутренний интерфейс

Ядро собрано с опциями:

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=20
options IPFIREWALL_FORWARD
options IPDIVERT


/etc/rc.conf
Код: Выделить всё
static_routes="lan0 lan1 lan10 lan13 lan20 lan21 lan22 lan23 lan60"
route_lan0="-net 192.168.0.0/24 192.168.0.70 -interface rl1"
route_lan1="-net 192.168.1.0/24 192.168.1.70 -interface rl1"
route_lan10="-net 192.168.10.0/24 192.168.10.250 -interface rl1"
route_lan13="-net 192.168.13.0/30 192.168.13.2 -interface rl1"
route_lan20="-net 192.168.20.0/24 192.168.20.250 -interface rl1"
route_lan21="-net 192.168.21.0/24 192.168.21.250 -interface rl1"
route_lan22="-net 192.168.22.0/24 192.168.22.70 -interface rl1"
route_lan23="-net 192.168.23.0/24 192.168.23.70 -interface rl1"
route_lan60="-net 192.168.60.0/24 192.168.60.250 -interface rl1"

defaultrouter="вне.шний.гейт.прова"
hostname="alisa.local"
ifconfig_rl0="inet вне.шний.ай.пи  netmask 255.255.255.0"
ifconfig_rl1="inet 192.168.13.1  netmask 255.255.255.252"

gateway_enable="YES"

firewall_enable="YES"
firewall_logging="YES"
firewall_script="/etc/ipfw.sh"

natd_enable="YES"
natd_interface="rl0"
natd_flags="-m -u"

/etc/ipfw.sh
Код: Выделить всё
IfOut="rl0"
IpOut="вне.шний.ай.пи/30"

IfIn="rl1"
IpIn="192.168.13.1/30"

mail="22,25,53,110,143,465,585,993,995"
http="53,80,1328,8080,5190,909"
prts=1025-65534

ipfw -f flush
ipfw -f pipe flush
ipfw -f queue flush

ipfw add allow ip from any to any via lo0
ipfw add deny ip from any to 127.0.0.0/8
ipfw add deny ip from 127.0.0.0/8 to any

ipfw add deny all from 127.0.0.0/8 to any in recv $IfOut
ipfw add deny all from 10.0.0.0/8 to any in recv $IfOut
ipfw add deny all from 172.16.0.0/16 to any in recv $IfOut
ipfw add deny all from 192.168.0.0/16 to any in recv $IfOut

#ipfw add allow all from 192.168.0.0/16 to any in recv $IfIn
#ipfw add allow all from any to 192.168.0.0/16 out xmit $IfIn

ipfw add divert natd all from 192.168.0.0/16 to not 192.168.0.0/16 out xmit $IfOut
ipfw add divert natd all from any to $IpOut in recv  $IfOut

ipfw add allow tcp from $IpOut $prts to any $mail, $http out xmit $IfOut
ipfw add allow tcp from any $mail,$http to $IpIn $prts in recv $IfOut established

echo "DNS"
ipfw add allow udp from $IpOut $prts to any 53 xmit $IfOut
ipfw add allow udp from any 53 to $IpOut $prts in recv $IfOut
ipfw add allow udp from any 53 to 192.168.0.0/16 in recv $IfOut

${ipfw} add allow icmp from any to me icmptypes 0,3,4,11,12 in
${ipfw} add allow icmp from any to 192.168.0.0/16 icmptypes 0,3,4,11,12 in recv $IfOut
${ipfw} add allow icmp from me to any icmptypes 3,8,12 out

echo "ssh"
ipfw add allow tcp from any to $IpIn 909 in recv $IfIn
ipfw add allow tcp from $IpIn 909 to any out xmit $IfIn established

# block and log
ipfw add deny log tcp from any to $IpOut in recv $IfOut setup

echo "########### BEGIN USERS   ###############################"

ipfw add allow tcp from 192.168.0.38 $mail,$http to any out xmit $IfOut
ipfw add allow tcp from any to 192.168.0.38 $mail,$http in recv $IfOut established

.....

echo "########### END USERS     ###############################"

Это уже с самого нуля переписанные правила.
По предыдущему варианту правил убежало 700 метров трафика =(((

Отсюда вопросы: почему по netstat -nr показываются маршруты в локальную сеть через внешний интерфейс (rl0)?
И будет ли это работать? =)
И как правильно раздавать инет юзерам. Т.е. - так, как я это написал или как-то по-другому?
Надо ли вообще писать роуты?
Т.е. это же гейт.
К нему приходят пакеты. А он уже их натит, фаерволит и передает (если они прошли) defaultrouter'у
Т.е. маршруты-то до других сетей ему ненужны. Верно?

Но с другой стороны, если я не пишу маршрутов, то и не могу с гейта пинговать машины в сети.
...

Блин.
Ничего не понимаю ВООБЩЕ.
Сейчас снова сидел с Фряхой. Толку - ноль. Вообще запутался.
Прописал маршруты на локальные сетки, а фряха машины внутри сети вообще не видит!
Внешние айпишники пингует, а внутренние нет.

И еще...

Убрал вообще нафиг статические маршруты из /etc/rc.conf от греха подальше.

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

 Оглавление

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


1. "IPFW+NAT.. Не могу разобраться."  
Сообщение от DN (??) on 24-Авг-07, 15:27 
Как соединены интерфейсы шлюза и роутеров подсетей по Ethernet и как им
назначены IP адреса?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "IPFW+NAT.. Не могу разобраться."  
Сообщение от Nadz Goldman (ok) on 24-Авг-07, 17:28 

Инет приходит на каталист 2950, далее на свитч ибо на этом порту каталиста 8 айпишников. В этот свитч воткнут внешний интерфейс гейта.
Там же, на каталисте, организован vlan. В vlan воткнут внутренний интерфейс гейта.
В этот vlan приходят подсети с другого здания по оптике.
В другом здании, стоит win2k3server с RRAS.

>Как соединены интерфейсы шлюза и роутеров подсетей по Ethernet и как им
>назначены IP адреса?

Все соединено по fast-ethernet.

Айпишники смотри в приведенном мною листинге файла /etc/rc.conf


---
Прост я мож че не понял из твоего вопроса. Или н так понял.

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

2. "IPFW+NAT.. Не могу разобраться."  
Сообщение от mixa email(??) on 24-Авг-07, 17:27 
>ifconfig_rl0="inet вне.шний.ай.пи  netmask 255.255.255.0"
>ifconfig_rl1="inet 192.168.13.1  netmask 255.255.255.252"

есть подозрение, что маска сети перепутана
на rl0 скорее всего 255.255.255.252
а на rl1 255.255.255.0

и как соединены роутеры между собой и с роутером который смотрит в инет?
Схема сети?
В нашей сети тоже куча подсетей и статика (но назревает уже динамика) - проблем нет.

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

4. "IPFW+NAT.. Не могу разобраться."  
Сообщение от DN (ok) on 25-Авг-07, 01:56 
>[оверквотинг удален]
>
>есть подозрение, что маска сети перепутана
>на rl0 скорее всего 255.255.255.252
>а на rl1 255.255.255.0
>
>и как соединены роутеры между собой и с роутером который смотрит в
>инет?
>Схема сети?
>В нашей сети тоже куча подсетей и статика (но назревает уже динамика)
>- проблем нет.

Похоже, что с масками ошибка.
Иначе, пусть опишет внутреннюю сеть между шлюзом и роутерами сетей.

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

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

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




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

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