Маршрутизация сетей с одинковым диапазон
-
Здравствуйте.
Есть производственная необходимость доступа к технологическим сетям имеющим одинаковые диапазоны IP адресов. Т.е. сети находятся на одинаковых технологических объектах спроектированных методом клонирования и соответственно на одних и техже IP в разных локальных сетях висят одинаковые железки, т.е. простое объединение сетей 100% приведет к конфликту IP. На каждом объекте планируется поставить 3G роутер на основе DD-WRT, а в качесте сервера со статическим интернет-IP - PFSense. Объединяется это все с помощью OpenVPN на 3 уровне OSI (т.е. маршрутизация). С настройкой OpenVPN вопросов нет, а вот что делать с сетями с одинаковой адресацией? По идее здесь нужно делать NAT 1:1. Проще всего было бы это сделать со стороны каждой из сетей и тогда бы PFSense сервер видел бы это все как много разных подсетей. Но DD-WRT такого походу не потянет.
Внимание вопрос: можно ли натирование 1в1 для VPN подсетей клиентов произвести со стороны PFSense сервера и как это сделать? Либо принимаются любые другие идеи по решению этой задачи, но строго без изменения адресного пространства сетей.
P.S. Я не xNIX специалист и не системный администратор, но понимаю в принципах маршрутизации и дружу с командной строкой. Так что прошу учесть это при написании Ваших ответов. Спасибо. -
Маршрутизация не пройдет. Как вариант Out-Nat –> NAT 1:1, но для этого придется клепать множество виртуальных адресов - слишком все сложно.
-
Вроде как делается NAT 1:1 в DD-WRT обычными SNAT/DNAT для каждой пары IP. http://www.dd-wrt.com/wiki/index.php/One-to-one_NAT
Вопрос только куда IP-алиасы вешать, но я бы вообще без них попробовал. Теоретически не вижу в их отсутствии препятствия. Может кто другой видит… -
Еще:
http://openvpn.net/index.php/open-source/faq/77-server/321-remap-local-addresses-to-connect-two-networks-with-an-overlap-in-the-private-address-range.html -
Вроде как делается NAT 1:1 в DD-WRT обычными SNAT/DNAT для каждой пары IP. http://www.dd-wrt.com/wiki/index.php/One-to-one_NAT
Вопрос только куда IP-алиасы вешать, но я бы вообще без них попробовал. Теоретически не вижу в их отсутствии препятствия. Может кто другой видит…Спасибо за ссылку, познавательно. Статью понял, только вот никак не понял как повесить это все не на WAN интерфейс как в статье, а на VPN тунель?
Еще:
http://openvpn.net/index.php/open-source/faq/77-server/321-remap-local-addresses-to-connect-two-networks-with-an-overlap-in-the-private-address-range.htmlЭто видимо ближе к теме, но вот уж очень лаконично. Никак в толк не возьму это со стороны сервера или клиента нужно делать? И если со стороны сервера, то как эти команды расписать для случая не 2-х перекрывающихся сетей а для большого их количества?
Уважаемый, Rubic, я вижу Вы "в теме". Может поможете немного более подробным объяснением? -
Вроде как делается NAT 1:1 в DD-WRT обычными SNAT/DNAT для каждой пары IP. http://www.dd-wrt.com/wiki/index.php/One-to-one_NAT
Вопрос только куда IP-алиасы вешать, но я бы вообще без них попробовал. Теоретически не вижу в их отсутствии препятствия. Может кто другой видит…Спасибо за ссылку, познавательно. Статью понял, только вот никак не понял как повесить это все не на WAN интерфейс как в статье, а на VPN тунель?
Не смотрит netfilter ни на какие интерфейсы, если только вы сами его об этом явно не попросите. Все пакеты, в том числе и от tun0, путешествуют по одним и тем же правилам цепочек iptables, в частности по NAT-PREROUTING/NAT-POSTROUTING, где можно подменять адреса назначения/источника.
Еще:
http://openvpn.net/index.php/open-source/faq/77-server/321-remap-local-addresses-to-connect-two-networks-with-an-overlap-in-the-private-address-range.htmlЭто видимо ближе к теме, но вот уж очень лаконично. Никак в толк не возьму это со стороны сервера или клиента нужно делать? И если со стороны сервера, то как эти команды расписать для случая не 2-х перекрывающихся сетей а для большого их количества?
Уважаемый, Rubic, я вижу Вы "в теме". Может поможете немного более подробным объяснением?Я теоретизирую, т.к. не на чем проверить. pfSense есть, а DD-WRT - нету. Есть только дома Mikrotik, но в нем OpenVPN-client позаброшен разработчиками и небогат настройками. Не обрабатывает pfSense "Client Specific Overrides" при подключении от него. Соответственно, две сети тупо не соединяются, не говоря уже об остальном.
По второй ссылке - это на стороне клиента. "NETMAP target" - это и есть классический NAT 1:1. Т.е. вы можете обращаться к клиентам как к 192.168.1.0/24, 192.168.2.0/24, 192.168.3.0/24 и т.д., а каждый клиент будет NETMAP-ить это в один и тот же диапазон 192.168.0.0/24 при входе и обратно в 192.168.n.0/24 - на выходе.
Все это, повторяю, не рецепт, т.к. сам этого руками не трогал, а скорее толчок в нужном направлении, хотя openvpn.net как бы подтверждает, что в правильном. Надо в общем пробовать. -
Хех! А за настройками OpenVPN в pfSense, оказывается, нужен глаз да глаз. Бывает снимешь какую-нибудь галку, заходишь снова в свойства, глядь, а она стоит как ни в чем не бывало. Бывает и так, что галка снята в ГУИ, а в конфиге соответствующее значение один черт присутствует.
Конкретно у меня в Cryptographic Settings -> Strict User/CN Matching галка была снята, но, тем не менее, пока не создал пользователя с тем же именем, что и CN в сертификате, настройки "Client Specific Overrides" не подхватывались при подключении, хотя связь устанавливалась и с самого клиента сеть за pfSense была видна (но не из сети за клиентом).
Сейчас подергал эту галку туда-сюда, на конфиг OpenVPN - от нее ноль влияния, ничего не меняется. -
http://habrahabr.ru/post/117320/
Объединение двух локальных сетей с одинаковым номерами сетей на Linux-шлюзе
Подойдет ли для BSD - не знаю -
Спасибо Всем за ссылки, и отдельно спасибо rubic'у за импульс по направлению. К сожалению пока не осилил iptables. Почемуто после внесения правил натирования в DD-WRT (и соответствующем изменении роутов на pfSense сервере на новые подсетки) пинг вообще перестает ходить между подсетями (при этом ходит между самими клиентами OVPN). Так же странно, что в таблице маршрутизации DD-WRT не появляется маршрут на новую натированную сеть (хотя может и не должен, пока не раскурил этот вопрос).
В последней ссылке на хабрахабр по беглому взгляду описан вроде мой случай, только с поправкой на мои несколько сетей, но думаю это не проблема. Изучу поподробнее. Вобщем принцип и методология решения задачи ясны. Осталось устроить мозговой штурм и более подробнее углубиться в доку по iptables.