Пожалуйста, помогите разобраться со схемой. Проблема даже не в том, как реализовать конкретное решение, а какие решения применить.Есть 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? Или как-то это всё комбинировать?
Уже запутался в возможных решениях. Сориентируйте в выборе.
> Уже запутался в возможных решениях. Сориентируйте в выборе.iproute2
В этом руководстве
http://www.opennet.me/openforum/vsluhforumID1/94968.html
рассматривается работа через двух провайдеров:
http://handmade-linux-firewall.narod.ru/#routingNAT очевидно должен осуществляться на обоих роутерах - их же публичныйм интерфейсам присваиваются 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-публичные адреса? Каждому свой адрес и на каждом нужен 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.
> Насчёт публичных ip... Yota выдаёт приватный адрес из своей внутренней сети, начинающийся
> на 10.В общем, для выхода сети в Инет через один адрес, NAT достаточно делать один раз на интерфейсе того устройства (маршрутизатора), которому присваивается адрес, выданный провайдером.
Наверное router1 и router2 подключаются к провайдеру через PPTP и эти виртуальные интерфейсы получают адреса сети Yota, так?
В любом случае, на маршрутизаторах router1 и router2 есть по два интерфейса: один к шлюзу и один к провайдеру (скорее всего виртуальный pppX). У вас же на схеме у шлюзов один интерфейс и адрес.