[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

маршрутизация по порту назначения + stateful nat



День добрый!

Вопрос такой - можно ли в зависимости от порта назначения направлять
пакеты через различные интерфейсы и nat'ить stateful на обоих?

Вот более развернутая ситуация :)

	Есть локальная сеть и шлюз с маршрутом по умолчанию (через тоннель
спутникового провайдера). Есть филиалы (в другиих городах и областях) с
установленным radmin. Если нужно к ним цепляться - добавляется маршрут
(через наземный канал, т.к. он более быстрый, а трафик интерактивный) и
всё работает. Для некоторых областей удалось установить статический ip
адрес, для некоторых смогли выяснить диапазоны адресов модемных пулов. А
для некоторых - не удалось ни того ни другого.  В таких случаях филиалы
сообщают нам айпи по интернету, мы прописываем маршрут и работаем. Очень
неудобно получается. Выхода пока видится 2:
1. установить на клиентских машинах vpn. Они цепляются к нам, получают
статический айпи и мы к ним заходим радмином. Неплохое решение,  сервак
openvpn уже поднят :) Одна загвоздка - не удалось запустить openvpn под
обычным пользователем (не администратором), т.к. windows не позволяет
добавить маршруты под пользователем. Может и можно обойти, но пока затею
бросили, появился вариант №2.

2. Маршрутизировать по портам назначения. Филиал сообщает нам айпи, мы
забиваем его в radmin и цепляемся (порт одинаковый, для всех, поэтому не
 нужно каждый раз цепляться к линуксу и добавлять маршрут).
Порывшись в интернете, нашли доку по "iproute2", там такое есть.
Помечаем пакеты в iptables (mangle), потом добавляем правило, которое
будет ловить эти пакеты и заворачивать на определенную цепочку. Сделано так:
ip rule add fwmark 4899 table dsl-link (таблица dsl-link создана ранее)
ip route add default via <ip нашего наземного соединения ppp0> dev ppp0
table dsl-link

все добавляется. Начинаем цепляться (с машины внутри сети, за шлюзом),
пакеты идут в филиал как надо, т.е. не через спутниковый тоннель, а по
"наземке", через ppp0. От филиала пакеты возвращаются обратно, но внутрь
сети не проходят. Получается они не проходят через нат. Начал рыть,
выходит, что с пом. iproute2 можно сделать только stateless nat.
Выходит, цепляться можно будет только с одной машины в сети, а это очень
 неудобно, т.к. доступ нужен то админу, то одному из программистов.
Подскажите пожалуйста, как можно решить проблему?
			Владимир.




Reply to: