URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 71377
[ Назад ]

Исходное сообщение
"PBRouting FreeBSD 6.2 маршрут на 2 шлюза.  Где косяк, помогите найдти."

Отправлено gus_ak , 11-Янв-07 11:29 
Вводная такая.
пытаюсь настроить Policy-Based Routing.
Есть 2 шлюза - выхода в И-нет
1 шлюз 192.168.1.1 на него смотрит интерфейс rl0 ip 192.168.1.2
2 шлюз 192.168.2.1 на него смотрит интерфейс rl0 ip 192.168.2.2

есть внутренний интерфейс xl0 ip 192.168.0.6 сеть 192.168.0.0/24
пытаюсь настроить маршрутизацию, так что бы половина из 192.169.0.0/24 работала
через шлюз 1 а другая через шлюз 2 для этого делаю по статье:

http://ipfw.ism.kiev.ua/pbr.html
(мой пример 1-й)

ядро скомпелил с
    options IPFIREWALL
    options IPFIREWALL_DEFAULT_TO_ACCEPT
    options IPFIREWALL_VERBOSE
    options IPFIREWALL_FORWARD
    options IPDIVERT
    options DUMMYNET


rc.local
natd -a 192.168.1.2 -p 8668
natd -a 192.168.2.2 -p 8778

ipwf.rules

#создаём таблицу 1 с IP клиентов кот. будут работать через шлюз 1 (к примеру все
адреса оканчивающиеся на нечет)
ipfw table 1 add 192.168.0.1
и т.д.
#создаём таблицу 2 с IP клиентов кот. будут работать через шлюз 1 (к примеру все
адреса оканчивающиеся на чет)
ipfw table 1 add 192.168.0.2
и. т.д.

ipfw 10 add divert 8668 ip from "table(1)" to any
ipfw 20 add divert 8778 ip from "table(2)" to any
ipfw 30 add fwd 192.168.1.1 ip from 192.168.1.2 to any
ipfw 40 add fwd 192.168.2.1 ip from 192.168.2.2 to any
ipfw 50 add divert 8668 ip from any to 192.168.1.2
ipfw 60 add divert 8778 ip from any to 192.168.2.2

при пинге с клиента любого внешнего(И-нет) адреса ответ

192.168.0.6 адрес недоступен.

в чем я не прав, помогите а то уже часов 36 парюсь?


Содержание

Сообщения в этом обсуждении
"PBRouting FreeBSD 6.2 маршрут на 2 шлюза.  Где косяк, помоги..."
Отправлено gus_ak , 11-Янв-07 14:14 
неужели всё правильно?
или вопрос тупой?

"PBRouting FreeBSD 6.2 маршрут на 2 шлюза.  Где косяк, помоги..."
Отправлено PavelR , 11-Янв-07 16:48 
>неужели всё правильно?
>или вопрос тупой?


Вопрос слегка тупой. Читай документацию и принципы маршрутизации.

Hint: пакет проходит по правилам на входе в машину и на выходе из нее

# пакет на входе в систему из локалки
ipfw 10 add divert 8668 ip from "table(1)" to any in via xl0
ipfw 20 add divert 8778 ip from "table(2)" to any in via xl0

# пакет на выходе из системы в инет
ipfw 30 add fwd 192.168.1.1 ip from 192.168.1.2 to any out
ipfw 40 add fwd 192.168.2.1 ip from 192.168.2.2 to any out

# пакет на входе в систему из инета
ipfw 50 add divert 8668 ip from any to 192.168.1.2 in
ipfw 60 add divert 8778 ip from any to 192.168.2.2 in

#Ну и еще добавь шлюз по умолчанию, например так:

route add default 192.168.1.1


без этого работать не должно....


"PBRouting FreeBSD 6.2 маршрут на 2 шлюза.  Где косяк, помоги..."
Отправлено gus_ak , 14-Янв-07 00:03 
>>неужели всё правильно?
>>или вопрос тупой?
>
>
>Вопрос слегка тупой. Читай документацию и принципы маршрутизации.
>
>Hint: пакет проходит по правилам на входе в машину и на выходе
>из нее
>
># пакет на входе в систему из локалки
>ipfw 10 add divert 8668 ip from "table(1)" to any in via
>xl0
>ipfw 20 add divert 8778 ip from "table(2)" to any in via
>xl0
>
># пакет на выходе из системы в инет
>ipfw 30 add fwd 192.168.1.1 ip from 192.168.1.2 to any out
>ipfw 40 add fwd 192.168.2.1 ip from 192.168.2.2 to any out
>
># пакет на входе в систему из инета
>ipfw 50 add divert 8668 ip from any to 192.168.1.2 in
>ipfw 60 add divert 8778 ip from any to 192.168.2.2 in
>
>#Ну и еще добавь шлюз по умолчанию, например так:
>
>route add default 192.168.1.1
>
>
>без этого работать не должно....

и с этим не работает.


"PBRouting FreeBSD 6.2 маршрут на 2 шлюза.  Где косяк, помоги..."
Отправлено PavelR , 14-Янв-07 09:50 

>>
>>без этого работать не должно....
>
>и с этим не работает.


Занули счетчики, попробуй выйти в сеть с разных машин через разные провайдеры и приведи вывод:

netstat -rn
ipfw sh


"PBRouting FreeBSD 6.2 маршрут на 2 шлюза.  Где косяк, помоги..."
Отправлено gus_ak , 16-Янв-07 02:17 
>
>>>
>>>без этого работать не должно....
>>
>>и с этим не работает.
>
>
>Занули счетчики, попробуй выйти в сеть с разных машин через разные провайдеры
>и приведи вывод:
>
>netstat -rn
>ipfw sh


IPFIREWALL_FORWARD_EXTENDED - вот где собака кажется порылась.
завтра испытаю, о результате отпишусью


"PBRouting FreeBSD 6.2 маршрут на 2 шлюза.  Где косяк, помоги..."
Отправлено gus_ak , 19-Янв-07 15:56 
>>
>>>>
>>>>без этого работать не должно....
>>>
>>>и с этим не работает.
>>
>>
>>Занули счетчики, попробуй выйти в сеть с разных машин через разные провайдеры
>>и приведи вывод:
>>
>>netstat -rn
>>ipfw sh
>
>
>IPFIREWALL_FORWARD_EXTENDED - вот где собака кажется порылась.
>завтра испытаю, о результате отпишусью

не помогло:

при route add default 192.168.1.1

ipfw 10 add divert 8668 ip from "table(1)" to any in via xl0
ipfw 20 add divert 8778 ip from "table(2)" to any in via xl0
ipfw 30 add fwd 192.168.1.1 ip from 192.168.1.2 to any out
ipfw 40 add fwd 192.168.2.1 ip from 192.168.2.2 to any out
ipfw 50 add divert 8668 ip from any to 192.168.1.2 in
ipfw 60 add divert 8778 ip from any to 192.168.2.2 in

отрабатывают 10 30 и 50 правила если делаем так(при default gateway 192.168.1.1):

#ipfw 10 add divert 8668 ip from "table(1)" to any in via xl0
ipfw 20 add divert 8778 ip from any to any in via xl0
#ipfw 30 add fwd 192.168.1.1 ip from 192.168.1.2 to any out
ipfw 40 add fwd 192.168.2.1 ip from 192.168.2.2 to any out
#ipfw 50 add divert 8668 ip from any to 192.168.1.2 in
ipfw 60 add divert 8778 ip from any to 192.168.2.2 in

ни отрабатывает ни одного правила.



"PBRouting FreeBSD 6.2 маршрут на 2 шлюза.  Где косяк, помоги..."
Отправлено universite , 15-Фев-07 00:12 

>ни отрабатывает ни одного правила.

Покажите:

uname -a
netstat -rn
ipfw list
ipfw show
ps -ax | grep natd