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

Исходное сообщение
"2 сервера OpenVPN и 2 провайдера"

Отправлено sdoba , 31-Авг-13 19:32 
Пожалуйста, помогите разобраться со схемой. Проблема даже не в том, как реализовать конкретное решение, а какие решения применить.

Есть linux-маршрутизатор (router3) и два подключенных к нему TPLink'a (router1,2), обеспечивающих аплинки с двух модемов.

Один из интерфейсов router3 смотрит в LAN. На нём поднято 2 процесса OpenVPN, создающих интерфейсы tun1,tun2.

--------------                            --------------
|4g modem|                            |4g modem|
--------------                            --------------
    |                                                |
    | usb                                         | usb
    |                                                |
------------------                    ------------------
|  router1        |                     |  router2         |
|10.11.11.2/30|                     |10.11.11.2/30|
------------------                    ------------------
    |                                                     |
    |                                                     |
    |                                                     |
    | eth1                                             | eth2
---------------------------------------------------------
|10.11.11.1/30          router3         10.22.22.1/30|
|                                                                           |
|                                                                           |
|                                                                           |
| 172.16.0.0/24 (сети туннелей) 172.17.0.0/24 |
|                                                                           |
| tun1 (port 11111)                  tun2 (port 22222) |
|                                                                           |
|                       10.100.100.1/24                          |
|                                                                           |
---------------------------eth0--------------------------
                                      |
                                      |
-------------------------------------------------
                    LAN  10.100.100.0/24
-------------------------------------------------


Задача в том, чтобы клиенты из LAN, подключившиеся по VPN к tun1 ходили в интернет через router1. И аналогично клиенты, подключившиеся к tun2 - через router2. И в то же самое время router3 в качестве дефолтного шлюза для себя должен иметь router1.

Нужен ли NAT(или несколько) и где его ставить? Заменить ли tun на tap, объединив tun1-eth1\tun2-eth2 в мосты? Настроить роутинг с помощью Policy Based Routing? Или как-то это всё комбинировать?

Уже запутался в возможных решениях. Сориентируйте в выборе.


Содержание

Сообщения в этом обсуждении
"2 сервера OpenVPN и 2 провайдера"
Отправлено Алексей , 01-Сен-13 09:33 
> Уже запутался в возможных решениях. Сориентируйте в выборе.

iproute2


"2 сервера OpenVPN и 2 провайдера"
Отправлено gapsf2 , 01-Сен-13 15:42 
В этом руководстве
http://www.opennet.me/openforum/vsluhforumID1/94968.html
рассматривается работа через двух провайдеров:
http://handmade-linux-firewall.narod.ru/#routing

NAT очевидно должен осуществляться на обоих роутерах - их же публичныйм интерфейсам присваиваются IP-публичные адреса? Каждому свой адрес и на каждом нужен NAT.
Тут у вас недостаточно информации чтобы сказать нужен ли NAT и где.
Да для направления трафика через разные интерфейсы, нужен Policy Based Routing:
http://handmade-linux-firewall.narod.ru/#routing2policy.

Т.е. для выбора таблицы маршрутизации в зависимости от входящего интерфейса:
ip rule add iif tun1 table табл_маршрутизации_1
ip rule add iif tun2 table табл_маршрутизации_2
и в этих таблицах сделаете маршрут по умолчанию через соответствующий интерфейс: eth1 или eth2.

В main default route сделаете как вы хотите - через router1.


"2 сервера OpenVPN и 2 провайдера"
Отправлено sdoba , 01-Сен-13 21:34 
>[оверквотинг удален]
> присваиваются IP-публичные адреса? Каждому свой адрес и на каждом нужен NAT.
> Тут у вас недостаточно информации чтобы сказать нужен ли NAT и где.
> Да для направления трафика через разные интерфейсы, нужен Policy Based Routing:
> http://handmade-linux-firewall.narod.ru/#routing2policy.
> Т.е. для выбора таблицы маршрутизации в зависимости от входящего интерфейса:
> ip rule add iif tun1 table табл_маршрутизации_1
> ip rule add iif tun2 table табл_маршрутизации_2
> и в этих таблицах сделаете маршрут по умолчанию через соответствующий интерфейс: eth1
> или eth2.
> В main default route сделаете как вы хотите - через router1.

большое спасибо за исчерпывающий и полезный ответ!

Насчёт публичных ip... Yota выдаёт приватный адрес из своей внутренней сети, начинающийся на 10.
Ещё я допустил ошибку в схеме. =) У второго роутера ip 10.22.22.2.


"2 сервера OpenVPN и 2 провайдера"
Отправлено gapsf2 , 02-Сен-13 08:36 
> Насчёт публичных ip... Yota выдаёт приватный адрес из своей внутренней сети, начинающийся
> на 10.

В общем, для выхода сети в Инет через один адрес, NAT достаточно делать один раз на интерфейсе того устройства (маршрутизатора), которому присваивается адрес, выданный провайдером.
Наверное router1 и router2 подключаются к провайдеру через PPTP и эти виртуальные интерфейсы получают адреса сети Yota, так?
В любом случае, на маршрутизаторах router1 и router2 есть по два интерфейса: один к шлюзу и один к провайдеру (скорее всего виртуальный pppX). У вас же на схеме у шлюзов один интерфейс и адрес.