Здравствуйте! Подскажите, правильно я мыслю или нет.
Дано: две сети, первая: x.x.220.0/24, в ней ПК x.x.220.2 и
маршрутизатор x.x.220.1.
вторая: x.x.0.0/24, в ней два ПК: x.x.0.2 и x.x.0.3, и маршрутизатор
x.x.0.1.
Маршрутизаторы соединены между собой VPN тунелем через интернет,
пользователи из двух сетей прозрачно общаются друг с другом.
Скоро будет еще один канал в интернет, подключеный к маршрутизатору
x.x.0.1, более широкий, чем имеющийся. Задача - некоторые ПК из сети
x.x.0.0/24, в данном примере - x.x.0.2, при обращении к ПК x.x.200.2
(и только к нему) пускать через новый канал (пусть его ип будет
y.y.0.1).
Как я планирую это сделать: поднять еще один ВПН туннель
y.y.0.1 -- x.x.220.1. IP этого ВПН соединения пусть будут 10.0.0.1 и
10.0.0.2 соответсвенно. Получится ли заданное сделать только с помощью
иптаблес? Т.е. я пишу правило, которое определяет, что коннект с
x.x.0.2 и хост назначения - x.x.200.2 и делает SNAT на ip адрес
10.0.0.1? Ну ессно при соответсвующих настройках на маршрутизаторе
первой сети. Хватит ли этого или здесь надо что-то более хитрое?
Возник такой вопрос. Т.к. появляется два канала в инет - то все же маршрутизация не совсем простая. Фактически, мне надо организовать два ВПН канала между серверами, x.x.200.1 <-> x.x.0.1 и x.x.200.1 <-> y.y.0.1. ВПН будет создаваться с помощью openvpn, он умеет биндится к указанному интерфейсу. Но как разрулить трафик? Я правильно понимаю, что здесь потрбуется iproute2? Потому что просто так прицепить к ип y.y.0.1 недостаточно - нету же маршрута на роутер, соответсвующий ип y.y.0.1, т.е. трафик не пойдет через второго провайдера?
В общем, сделал так:
echo 200 trans >>/etc/iproute2/rt_tables
ip rule add from y.y.0.1 table trans
ip route add default via y.y.0.2 dev eth2 table trans
ip route flush cache
y.y.0.1 - второй ИП сервера, y.y.0.2 - ип гейтвея
Этими правилами я предпологал пакеты, идущие с ип y.y.0.1 пускать через
новый канал. Попробовал traceroute -s y.y.0.1 194.67.57.26 - без
изменений, пакеты идут по старому линку, для которого задан маршрут
по-умолчнаю в таблице main. Где ошибка?