Страница 1 из 1

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

Добавлено: 2008-07-24 0:11:35
vano
Есть два интерфейса: 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 подсеть тоже уходит в него, что нежелательно. Подскажите, куда копать =)

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

Добавлено: 2008-07-24 0:18:01
paradox
man route

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

Добавлено: 2008-07-24 0:45:41
vano
Ну роут это хорошо, но как заставить его роутить по адресу источника, а не по адресу назначения -то?

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

Добавлено: 2008-07-24 0:55:45
paradox
+ вы все правильно делали
токо где то что то накрутили

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

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

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

Добавлено: 2008-07-24 1:02:24
paradox

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

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

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

Добавлено: 2008-07-24 11:00:35
dikens3
http://www.lissyara.su/?id=1330

Моя статья может поможет... Я использовал skip чтобы не запутаться в трафике. Пмогло надо сказать.

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

Добавлено: 2008-07-29 11:03:24
qwe

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

# 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
Ну а дальше уже настраивать по вкусности.