[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: