Как пустить определённый трафик в другой шлюз

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
goshanecr
сержант
Сообщения: 252
Зарегистрирован: 2008-03-31 15:54:49
Откуда: Пермь, Екатеринбург
Контактная информация:

Как пустить определённый трафик в другой шлюз

Непрочитанное сообщение goshanecr » 2009-09-04 8:21:07

Добрый всем день!

Есть офис, инет раздаётся с помощью FreeBSD 7.1 i386, этот сервак устанавливает OpenVPN соединение с другим серваком. Необходимо сделать чтобы определённый вид трафика (к примеру всё что из локалки во внеху на такие то порты или адреса) шел по маршруту в openvpn тоннель. Вот что-то типа схемы:

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

LAN1[192.168.1.0/24]---BSD1[192.168.1.1; 1.1.1.2(белый адрес); 172.16.0.6(OpenVPN)]+--->ШЛЮЗ_ПРОВАЙДЕРА[1.1.1.1]
                                                                                   +--->ШЛЮЗ_OPENVPN[172.16.0.1]
Надо к примеру указать чтобы весь трафик из LAN на порты 80,443,21,..... шел через OpenVPN. Слышал про множественные таблицы маршрутизации, но хотелось бы не экспериментировать, попутно звоня с просьбами перезагрузить сервак так как он из-за моих экспериментов стал недоступен а сразу от работавших с этим людей.. Спасибо.
Люблю в инете шарить. И браузер мой только Opera !!!
Пользователям стараюсь ставить дистр Ubuntu. Уже 3 человека пересели.
Домашний комп FreeBSD 9.0 amd64
FreeBSD - изменим жизнь к лучшему!

Хостинговая компания 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/

Аватара пользователя
squid
лейтенант
Сообщения: 683
Зарегистрирован: 2007-05-25 11:32:23
Откуда: Украина, Киев
Контактная информация:

Re: Как пустить определённый трафик в другой шлюз

Непрочитанное сообщение squid » 2009-09-04 9:00:26

так, а в чем собственно проблема, напиши правила файервола на каждый тип трафика
в зависимости от файервола - такие и правила будут
хех..

Аватара пользователя
goshanecr
сержант
Сообщения: 252
Зарегистрирован: 2008-03-31 15:54:49
Откуда: Пермь, Екатеринбург
Контактная информация:

Re: Как пустить определённый трафик в другой шлюз

Непрочитанное сообщение goshanecr » 2009-09-04 10:11:10

ну не было бы проблемы не писал бы.
фаервол ipfw
вот что добавляю в мультироутинг на стороне openvpn клиента:

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

setfib 2 route add 172.17.0.1/32 172.17.0.5  
setfib 2 route add default 172.17.0.1
ну и результирующий вывод:
setfib 2 netstat -rn

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

default            172.17.0.1         UGS         0        3   tun0
127.0.0.1          127.0.0.1          UH          0       10    lo0
172.17.0.1/32      172.17.0.5         UGS         1        0   tun0
172.17.0.5         172.17.0.6         UH          1        0   tun0
Вот что в ipfw добавил на стороне openvpn клиента:

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

00119   1193    71996 setfib 2 ip from 192.168.1.0/26 to 87.224.128.13
Это праило для проверки, чтобы все запросы к ресурсу uralweb.ru шли через мой сервак. Чтобы у пользователей всё не отпадало и я с помощью этого ресурса мог проверять идёт ли трафик по нужному мне пути.

На стороне openvpn сервера (его VPN адрес 172.17.0.1) такое правило:
ipfw table 1 list

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

172.17.0.6/32 0
192.168.1.0/26 0
ipfw show 1000

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

01000     0      0 divert 8668 ip from table(1) to any via ng0 out #Весь трафик от vpn клиента на нат
При пуске ping uralweb.ru с одного из компов с адресом 192.168.1.24 на стороне openvpn сервера в лог идут такие сообщения:

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

Fri Sep  4 13:05:29 2009 openvpnclient/1.2.3.4:1195 MULTI: bad source address from client [192.168.1.24], packet dropped
и до правила ipfw на стороне openvpn сервера не доходит.
В конфиге openvpn сервера есть описание подсети клиента:

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

route           192.168.1.0 255.255.255.0
А если выполняю с самого openvpn клиента (172.17.0.6, 192.168.1.1) команду:
setfib 2 traceroute uralweb.ru то всё идёт как надо через мой сервак.
То есть проблема как я вижу сейчас свелась к тому что openvpn сервер отбрасывает пакеты с адресами из сетки находящейся на другом конце. Что не так?
Люблю в инете шарить. И браузер мой только Opera !!!
Пользователям стараюсь ставить дистр Ubuntu. Уже 3 человека пересели.
Домашний комп FreeBSD 9.0 amd64
FreeBSD - изменим жизнь к лучшему!

Аватара пользователя
goshanecr
сержант
Сообщения: 252
Зарегистрирован: 2008-03-31 15:54:49
Откуда: Пермь, Екатеринбург
Контактная информация:

Re: Как пустить определённый трафик в другой шлюз

Непрочитанное сообщение goshanecr » 2009-09-04 11:28:34

решил.
в файле конфигурации клиента /usr.local/etc/openvpn/ccd/client1 добавил описание сетки находящейся за этим клиентом:

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

iroute 192.168.1.0 255.255.255.192
и сразу понеслось..:)
Люблю в инете шарить. И браузер мой только Opera !!!
Пользователям стараюсь ставить дистр Ubuntu. Уже 3 человека пересели.
Домашний комп FreeBSD 9.0 amd64
FreeBSD - изменим жизнь к лучшему!