Маршрутизация ipfw+nat

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
anykey
рядовой
Сообщения: 12
Зарегистрирован: 2007-08-01 0:21:12

Маршрутизация ipfw+nat

Непрочитанное сообщение anykey » 2007-08-10 1:52:54

Всем доброй ночи!
Люди, подскажите ПЛЗ, как мне организовать работу локальной сети такой структуры....
имеется сервер под управлением FreeBSD 6.2 на котором установлено 3 сетевых карты.
em0 - 192.168.10.1 - смотрит в сторону внутреней локалки предприятия
em1 - 192.168.115.2 - смотрит в сторону локалки провайдера
em2 - xxx.xxx.xxx.xxx - собсно внешний айпи который прокинут через шлюз прова ко мне.
Шлюз прова под FreeBSD 6.2

нужно натсроить так шлюз чтобы из всей подсети 192.168.10.0/24 можно было папасть как в локалку 192.168.115.0/24 так и в инет через NAT1 и NAT2 или через один NAT0 который будет работать на em2.
Смысл в том что у прова берется безлимитка на 1Мбит и весь трафик ограничивается при помощи dummynet. Можно работать с локалкой 192,168,115,0/24 и при настроеном только одном внешнем интерфейсе em2 и одним NATом, но тогда весь траф из локалки тоже заворачивается в шейпер. Скорость по локалке до 50 Мбит, а инет 1Мбит. может кто подскажет как настроить шлюз таким образом чтобы работала локалка провайдера без ограничения по скорости ну и собственно инет. Уже больше недели не могу решить этот вопрос подскажите как это лучше всего организовать :?
Пробовал настраивать, так на em2 работает NAT для него написан конфиг где я указывал просто redirect_port tcp 192.168.115.2,137,138,139,445
и redirect_port udp 192.168.115.2,137,138,139,445. собсно 137,138,139,445 порты протоколов udp b tcp. подробные конфиги смогу выложить только утром... но такая конструкция почемуто отказывается работать...
Может у кого есть идеи как побороть даную проблему??? я только недавно начал работать с FreeBSD, поэтому было бы интерестно послушать грамотных людей в этом вопросе...

Хостинговая компания 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/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Маршрутизация ipfw+nat

Непрочитанное сообщение Alex Keda » 2007-08-10 8:06:23

картинку выкатывай..
Убей их всех! Бог потом рассортирует...

anykey
рядовой
Сообщения: 12
Зарегистрирован: 2007-08-01 0:21:12

Re: Маршрутизация ipfw+nat

Непрочитанное сообщение anykey » 2007-08-10 10:31:10

Структура моего соединения с провом на картинке )
тепрь конфиги.

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

#/etc/rc.conf

natd_program="/sbin/natd"
natd_enable="YES"
natd_flags="-f /etc/natd0.conf -p 8668"
natd_flags="-f /etc/natd1.conf -p 8669"

firewall_enable="YES"
firewall_script="/etc/rc.myfirewall"

gateway_enable="YES"
inetd_enable="YES"
defaultrouter="yyy.yyy.yyy.yyy"

named_enable="YES"

ifconfig_em2="xxx.xxx.xxx.xxx netmask 255.255.255.248"
ifconfig_em0="inet 192.168.10.1  netmask 255.255.255.0"
ifconfig_em1="inet 192.168.115.2 netmask 255.255.255.0"

mysql_enable="YES"
apache_enable="YES"
ng_ipacct_enable=YES 
теперь конфиги nat0.conf and natd1.conf

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

#/etc/natd0.conf 
#Здеь я хотел просто перенаправлять все запросы на порты 137, 138, 139, 445 на второй natd1

log yes
use_sockets yes
same_ports yes
port 8668
unregistered_only yes
redirect_port tcp 192.168.115.2,137,138,139,445
redirect_port udp 192.168.115.2,137,138,139,445
alias_address xxx.xxx.xxx.xxx

#/etc/natd1.conf

log yes
use_sockets yes
same_ports yes
port 8669
unregistered_only yes
alias_address 192.168.115.2
ну и собственно сам фаервол

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

ipfw add 20 divert 8668 log ip from 192.168.10.0/24 to any out via em2
ipfw add 30 divert 8668 log ip from any to xxx.xxx.xxx.xxx in via em2

ipfw add 25 divert 8669 ip from 192.168.9.0/24 to any out via em1
ipfw add 28 divert 8669 ip from any to 192.168.115.2 in via em1

#ipfw add 32 deny ip from any to 192.168.0.0/16 in via em2 #если раскоментировать тогда у меня не будет пахать инет
#ipfw add 33 deny ip from 192.168.0.0/16 to any out via em2 #если раскоментировать тогда у меня не будет пахать инет

ipfw add 35 allow ip from 192.168.115.2 to any out via em1

ipfw add 40 allow ip from xxx.xxx.xxx.xxx to any out via em2 

# DNS
ipfw add 60 allow udp from any to any 53
ipfw add 65 allow udp from any 53 to any 
ipfw add 70 allow tcp from any to any 53 

# ICMP
ipfw add 80 allow icmp from any to any

# SSH2
ipfw add 90 allow tcp from any to xxx.xxx.xxx.xxx 22 
ipfw add 100 allow tcp from any to 192.168.10.1 22

ipfw add 200 allow ip from 192.168.10.2 to any
ipfw add 210 allow ip from any to 192.168.10.2 via em2
ipfw add 220 allow ip from any to 192.168.10.2 via em0

ipfw add 300 allow ip from 192.168.10.3 to any
ipfw add 310 allow ip from any to 192.168.10.3 via em2
ipfw add 320 allow ip from any to 192.168.10.3 via em0
 
ipfw add 400 allow ip from 192.168.10.4 to any
ipfw add 410 allow ip from any to 192.168.10.4 via em2
ipfw add 420 allow ip from any to 192.168.10.4 via em0

......

ipfw add 65535 deny ip from any to any
подскажите что я делаю не так или может предложите какойто другой вариант
просто юмор в том что когда кто-то тянет из локалки чего-нить то инет почти неработает...
Вложения
local.JPG
local.JPG (9.75 КБ) 546 просмотров

anykey
рядовой
Сообщения: 12
Зарегистрирован: 2007-08-01 0:21:12

Re: Маршрутизация ipfw+nat

Непрочитанное сообщение anykey » 2007-08-12 23:19:45

Добрый вечер! ну неужели нет людей которые могут помочь советом или хотябы подтолкнуть к решению даной проблемы ... :?

Аватара пользователя
abanamat
сержант
Сообщения: 255
Зарегистрирован: 2007-03-15 11:24:26
Откуда: Питер
Контактная информация:

Re: Маршрутизация ipfw+nat

Непрочитанное сообщение abanamat » 2007-08-13 7:24:54

Прелагаю следующую схему:
1. Несколько правил запрещающих всякую ненужную фигню.
2. Разрешение на хождение пакетов из одной локалки в другую (одно правило для 192.168.0.0/16)
3. (fwd на гейт провайдера пакеты из первой сетки? )с последующим дивертом и диверт для второй
4. Диверт пакетов со стороны инета
5. Разрешуха на хождение diverted пакетов от кого угодно на сетку 192.168.0.0/16

плюс natd без извратов на интерфейсе внешнего ипа.

и все. делов-то.

anykey
рядовой
Сообщения: 12
Зарегистрирован: 2007-08-01 0:21:12

Re: Маршрутизация ipfw+nat

Непрочитанное сообщение anykey » 2007-08-13 15:14:27

Спасибо за подсказку! Сегодня буду пробовать.... а можно ли пример хоть какойто в том месте где должны быть правила ipfw add fwd ...
я так понимаю что эти правила должны быть перед дивертом в любом случае? просто я чет с этим не очень разобрался... подскажите ПЛЗ
Заранее спасибо всем отозвавшимся!

Аватара пользователя
abanamat
сержант
Сообщения: 255
Зарегистрирован: 2007-03-15 11:24:26
Откуда: Питер
Контактная информация:

Re: Маршрутизация ipfw+nat

Непрочитанное сообщение abanamat » 2007-08-13 15:17:35

anykey писал(а):Спасибо за подсказку! Сегодня буду пробовать.... а можно ли пример хоть какойто в том месте где должны быть правила ipfw add fwd ...
я так понимаю что эти правила должны быть перед дивертом в любом случае? просто я чет с этим не очень разобрался... подскажите ПЛЗ
Заранее спасибо всем отозвавшимся!
угу. перед дивертом.
ipfw -q add 10 fwd ип_гейта ip from первая_сетка to not me in via сетевуха_первой_сетки