Уже долго не могу разобраться, поэтому прошу помочь Интернет-сообщество.
Задача следующая: разделить трафик с разных ip по VPN-туннелям.
Устанавливаю туннели к vpn серверу провайдера, причем менять маршрут по умолчанию нельзя.
Получаю следующее:
Маршрут по умолчанию на 10.1.1.254, интерфейс vlan0
Установив один маршрут, получаю 10.254.1.10, интерфейс ng0
Установив второй маршрут, получаю 10.254.1.11, интерфейс ng1Необходимо пробросить трафик с ip 192.16.0.1 (vlan1) на ng0
и с ip 192.16.1.1 (vlan2) на ng1Трансляция в /etc/ipnat.rules:
map ng0 192.16.0.0/24 -> 10.254.1.10/32 proxy port ftp ftp/tcp
map ng0 192.16.0.0/24 -> 10.254.1.10/32 portmap tcp/udp auto
map ng0 192.16.0.0/24 -> 10.254.1.10/32
Но, трафик идет на default route.
Если не сложно, подскажите, как можно его перенаправить?
ОС FreeBSD 6.1
В линуксе это делает iproute2. Для фри - ещи аналоги.
ipfw fwd ....
>ipfw fwd ....Добавлял правило в ipfw:
ipfw 10 add forward 10.254.1.10 tcp from 192.16.0.1/24 to any via ng0
Трафик, так и продолжает идти через vlan0 с адреса 192.16.0.1
ipfw -d show
00010 0 0 fwd 10.254.1.10 tcp from 192.16.0.1 to any via ng0
(В прывило не попадает)В ядро соответствующие опции добавлены...
options IPDIVERT
options IPFIREWALL_FORWARD
Сделал следующее:
natd -a 10.254.1.10 -p 9999 (трафик должен перенаправляться с 10.254.1.10 на порт 9999)
В ipfw добавил правила:
ipfw 10 add fwd 213.1.1.178 ip from 10.254.1.10 to any # 213.1.1.178 - vpn сервер
ipfw 20 add divert 9999 all from any to 10.254.1.10
ipfw 30 add divert 9999 all from 192.16.0.10/32 to anyВ итоге, все правила работают, ping-и с 192.16.0.10 в Интернет проходят, но сайты не открываются.
Прослушивая интерфейс ng0, видно что запрос от 10.254.1.10 в Интернет уходит, посылается он от 192.16.0.10, правда, похоже обратно ответ не получает.
Прошу поддержки, может не в том направлении капаю... Посоветуйте, что-то...