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

Исходное сообщение
"NAT, VPN: FreeBSD"

Отправлено VVEBER , 29-Дек-06 09:22 
подскажите пожалуйста: есть маршрутизатор с БСД: gw; на нём fxp0 - ифейс смотрит в сеть, fxp1 - смотрит на провайдера. Сеть имеет реальные адреса.

default route через fxp1, напрямую работает.

Теперь добавляем gif0 - GRE-туннель на спутниковго провайдера. Клиенты соединяются по VPN и должны заворачиваться natd через этот самый gre-туннель: клиентам ВПН назначаются серые адреса из 192.168.0.0/22.

/sbin/natd/ -a <IP gre-туннеля> -p 8678 -s -m. в /etc/natd.conf: interface gif0


в ipfw правила:
06000 divert 8678 ip from 192.168.0.0/22 to any via fxp0 in
09000 divert 8678 ip from any to any via gif0 in
09100 fwd <IP спутник. пров.> ip from <IP Gre-туннеля> to any via fxp0 out

Соединяемся впном, и дальше этого gw не уходится. Если поставить GRE-туннель маршрутом по умолчанию - то всё ок, впн работает. Как всё сделать, чтобы сохранитб маршрут по умолчанию через fxp1, но в то же время, заставить работать и ВПН-клиентов.


Содержание

Сообщения в этом обсуждении
"NAT, VPN: FreeBSD"
Отправлено gvf , 29-Дек-06 13:20 

>чтобы сохранитб маршрут по умолчанию через fxp1, но в то же
>время, заставить работать и ВПН-клиентов.

дай порядок обработки(прохождения) пакетов через стек сети (если идешь на спутник)
только не так как думаешь - а проверь реально через log ipfw

пока будешь писать - сам поймешь :)
хотя бывали и глюки (какая версия фри?)


"NAT, VPN: FreeBSD"
Отправлено Skif , 31-Дек-06 04:30 
>подскажите пожалуйста: есть маршрутизатор с БСД: gw; на нём fxp0 - ифейс
>смотрит в сеть, fxp1 - смотрит на провайдера. Сеть имеет реальные
>адреса.
>
>default route через fxp1, напрямую работает.
>
>Теперь добавляем gif0 - GRE-туннель на спутниковго провайдера. Клиенты соединяются по VPN
>и должны заворачиваться natd через этот самый gre-туннель: клиентам ВПН назначаются
>серые адреса из 192.168.0.0/22.
>
>/sbin/natd/ -a <IP gre-туннеля> -p 8678 -s -m. в /etc/natd.conf: interface gif0
>

Давно с gif-ами не работал... Уберите gif0 из natd.conf и из правил фаервола. У вас нет устройства на момент создания правил и старта ната. Отталкивайтесь от ip
/etc/rc.conf
natd_enable="YES"
natd_flags="-a _ваш_ip_адрес_"
Второе, а зачем дважды на один и тот же nat отправлять, при чем при разных интерфейсах. Особенно если один у вас уже забит в natd.conf?


"NAT, VPN: FreeBSD"
Отправлено BSDuser , 31-Дек-06 10:31 
как правильно написали выше такая схема не будет работать из-за того, что gif0 нет на момент чтения NATD своих правил из конфигурационного файла. на мой взгляд логичнее использовать другой нат (например ipnat или pf) и натить через него gif.