две подсети, ipfw + natd

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
vano
проходил мимо

две подсети, ipfw + natd

Непрочитанное сообщение vano » 2008-07-24 0:11:35

Есть два интерфейса: re0 и gif0, есть две внутренних подсети: 192.168.66/24, 192.168.11/24. Надо отправить 66 в ре0, а 11 в гиф0. Пробовал делать это через ipfw forward, пробовал natd'ом. Получается либо кольцо с ttl-exc, либо просто ничего не проходит. Вот части скриптов ipfw:

00090 divert 8666 ip from any to 192.168.3.1 via gif0 in
00091 divert 8666 ip from 192.168.11.0/24 to any via gif0 out
00100 divert 8668 ip from any to 89.222.133.76 via re0 in
00120 divert 8668 ip from 192.168.66.0/24 to any via re0 out

это через natd соответственно. Сами natd запускались так:

natd -i re0 -p 8668
natd -i gif0 -p 8666

Пробовал писать следующую конструкцию:
fwd 192.168.2.1 (другой конец туннеля gif0) ip from 192.168.11.0/24 to any via ng* in

С ней просто никаких пакетов не проходит.

Но если прописать маршрут до другой стороны туннеля, а сам туннель поставить маршрутом по умолчанию, то все работает, за исключением того, что 66 подсеть тоже уходит в него, что нежелательно. Подскажите, куда копать =)

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/


vano
проходил мимо

Re: две подсети, ipfw + natd

Непрочитанное сообщение vano » 2008-07-24 0:45:41

Ну роут это хорошо, но как заставить его роутить по адресу источника, а не по адресу назначения -то?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: две подсети, ipfw + natd

Непрочитанное сообщение paradox » 2008-07-24 0:55:45

+ вы все правильно делали
токо где то что то накрутили

еще есть вариант сделать это на pf

делайте на том что вам ближе

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: две подсети, ipfw + natd

Непрочитанное сообщение paradox » 2008-07-24 1:02:24

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

http://archiv.kiev1.org/page-745.html
http://www.opennet.ru/base/net/2_channel_balancing.txt.html
лучше почитайте

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: две подсети, ipfw + natd

Непрочитанное сообщение dikens3 » 2008-07-24 11:00:35

http://www.lissyara.su/?id=1330

Моя статья может поможет... Я использовал skip чтобы не запутаться в трафике. Пмогло надо сказать.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

qwe
рядовой
Сообщения: 35
Зарегистрирован: 2008-07-29 10:40:42
Откуда: Симферополь
Контактная информация:

Re: две подсети, ipfw + natd

Непрочитанное сообщение qwe » 2008-07-29 11:03:24

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

# cat /boot/loader.conf
pf_load="YES"

# cat pf.conf
nat on re0 from 192.168.66/24 to any -> АДРЕС_НА_ИНТЕРФЕЙСЕ_re0
nat on gif0 from 192.168.11/24 to any -> АДРЕС_НА_ИНТЕРФЕЙСЕ_gif0

pass all

# grep pf /etc/rc.conf
pf_enable="YES"
pf_rules="/etc/pf.conf"

# grep firewall /etc/rc.conf
firewall_enable="YES"
firewall_script="/etc/rc.firewall"

# cat /etc/rc.firewall
ipfw add 1000 fwd шлюз_у_провайдера_на_интерфейсе_gif0 ip from АДРЕС_НА_ИНТЕРФЕЙСЕ_gif0 to any out 
ipfw add 1010 fwd шлюз_у_провайдера_на_интерфейсе_re0 ip from АДРЕС_НА_ИНТЕРФЕЙСЕ_re0 to any out 

# grep defaultrouter /etc/rc.conf
defaultrouter="ШЛЮЗ_НА_ИНТЕРФЕЙСЕ_re0"
Ядро должно быть с:

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

options         IPFIREWALL_FORWARD
и

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

options         IPFIREWALL_DEFAULT_TO_ACCEPT
Ну а дальше уже настраивать по вкусности.