fun105 Posted March 7, 2017 · Report post Имеется такая сеть. Сервер1(192.168.1.12/24)---Роутер1(LAN:192.168.1.1/24(Сеть 1), WAN: 172.16.xxx.xxx)--- Интернет --- ---Роутер2(LAN:192.168.1.1/24 (Сеть 2), WAN: 77.88.xxx.xxx)---Сервер2(192.168.1.250/24) Сеть1 и Сеть2 имеют одинаковый адрес (192.168.1.0/24) и шлюз (192.168.1.1), но подключены к разным роутерам. В сети1 находится только Сервер1 и Роутер1, адрес Сервера1 не повторяется в Сети2. Сетей вида Сеть1 несколько, их нужно подключить к Сети2. Роутер1 - TP-Link c OpenWRT, Роутер2 - Mikrotik. Роутеры в остальных сетях - TP-Link+ddwrt. Чего я бы хотел добиться: чтобы любой из компьютеров в сети1 видел любой из компьютеров из сети2 и наоборот. Решение которое я пока придумал - использовать OpenVPN в режиме bridge. OpenVPN запускается как приложение на серверах. TAP-Интерфейс на серверах объединяется в мост с севой картой. Пробовал запускать - даже работало немного. Сервер1 пинговал компьютеры из Сети2. Сервер2 пинговал Сервер1. Но при этом имеются больщие потери пакетов (около 20%). Если отключить впн и просто пинговать роутер по даресу, то потерь пакетов почти нет и задержки значительно меньше (думаю проблема не в линке). При дальнейшах проверках наблюдаю что при подключении Сервера1 к Серверу2, Сервер2 начинает сильно лагать (подключен к нему по RDP). Когда Сервер2 отключается то лаги пропадают. Думаю проблемы могут возникать из-за появления в сети двух хостов с адресом 192.168.1.1, но как это обойти не знаю. Также не совсем понятно как и нужно ли настраивать адреса для тунельных интерфейсов (опции ifconfig, server-bridge ip-addr mask pool) Логи и конфиги во вложении. Соединение было активно в течение дня несколько часов, в логах много ошибок сокетов, думаю соединение закрывалось одним из роутеров по таумауту, т.к. обмена не было). forum.zip Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grifin.ru Posted March 7, 2017 · Report post чтобы любой из компьютеров в сети1 видел любой из компьютеров из сети2 и наоборот. Это невозможно, при том что: Сеть1 и Сеть2 имеют одинаковый адрес (192.168.1.0/24) и шлюз (192.168.1.1) Т.к. компьютер в сети шлет пакеты напрямую, если адресат находится в пределах его сети (его маски). Объединить две сети через ТАП это тоже самое,ч то просто воткнуть их в один коммутатор. Думаете у вас будет что-то работать, если у вас в сети два роутера с одинаковыми адресами ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
fun105 Posted March 8, 2017 · Report post Т.к. компьютер в сети шлет пакеты напрямую, если адресат находится в пределах его сети (его маски). Объединить две сети через ТАП это тоже самое, что просто воткнуть их в один коммутатор. Думаете у вас будет что-то работать, если у вас в сети два роутера с одинаковыми адресами ? У меня была такая мысль, но как избежать этого я не придумал. Если использовать tun, то непонятно как компьютерам из сети2 сказать что 192.168.1.12 находится в другой подсети, только если использовать разные подсети в сети1 и в сети2. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grifin.ru Posted March 8, 2017 · Report post fun105 Вот именно что никак, т.к. адресация идет по IP адресу. Если IP адреса совпадают то адресат непонятен, и это не обойти не перепрыгнуть. Меняйте адресацию в одной из сетей или используйте DNAT для связи одной сети с другой. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
fun105 Posted March 8, 2017 · Report post Если ничего не получится, то придется попробовать изменить адресацию. Сейчас думаю, если проблема с наличием двух узлов с адресами 192.168.1.1, то в сети1 его можно перенастроить на другой, тоже из той же подсети, но свободный в обоих сетях. Я себе так и представлял работу в режиме моста - подключил клиента к серверу и он в одной локальной сети с сетью за сервером. Возможно, при использовании в режиме моста, объединять tap интерфейс c интерфейсом локальной сети нужно только со стороны сервера (тоже надо попоробовать). Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SUrov_IBM Posted March 9, 2017 (edited) · Report post Fun105, доброго Вам времени суток. Извините, за критику, но схема у Вас получается очень «корявая». Как выше написал Grifin.ru, при соединении сетей средствами OpenVPN в режиме Ethernet Bridging (L2, TAP), Вы неизбежно получите конфликт IP адресов, совпадающих в пределах одной логической сети. В Вашем случае, конфликт IP адреса шлюзов по умолчанию – практически это полная дестабилизация работы обеих сетей. При условии, что «Сетей вида Сеть1 несколько, их нужно подключить к Сети2» можно попробовать следующий вариант: 1. Изменить адресацию в «Сети2», на отличающуюся от 192.168.0.0/16. Например: 172.16.0.0/2x. 2. Перенастроить OpenVPN в режим routing (L3, TUN), используя уникальные IP для построения тоннелей, не пересекающиеся с IP адресами из диапазона «Сети1», «Сети2», «Сети1.2» (копия «Сети1») и т. д. (например 10.0.0.0/2x). Установив соединение между маршрутизаторами разных сетей, а не серверами. 3. Со стороны маршрутизаторов «Сети1», «Сети1.2» построить маршруты: route add 172.16.0.0/2x («Сеть2») -> IP адрес, конца тоннеля на маршрутизаторе «Сети2». 4. Со стороны маршрутизатора «Сети2», явно прописать маршруты: 192.168.1.12/32 (Сервер1) -> IP адрес тоннеля на маршрутизаторе «Сети1», 192.168.1.100/32 (Сервер1.2) -> IP адрес тоннеля на маршрутизаторе «Сети1.2» и так далее. * Пожалуйста, обратите внимание на маску маршрутов в п. 4, до каждого хоста (сервера) /32. Edited March 9, 2017 by SUrov_IBM Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
fun105 Posted March 10, 2017 (edited) · Report post SUrov_IBM, спасибо за ответ. Думал получится проще, похоже нет, попробую разобраться с Вашим вариантом. По поводу работы OpenVPN в режиме моста вопрос еще один возник. Нужно ли на клиенте объединять в мост интефрейс локальной сети и tap интерфейс? Edited March 10, 2017 by fun105 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted March 10, 2017 · Report post При разной (правильно) адресации сетей, никаких мостов не нужно. Обычный роутинг. Перенумеровать советую сразу обе сети на корпоративный диапазон 10.х.х.х. Тогда при поднятии служб удаленного доступа к сети, у клиентов винда будет автоматом добавлять "классовый" маршрут 10/8 и все будет работать без лишних приседаний. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SUrov_IBM Posted March 12, 2017 · Report post SUrov_IBM, спасибо за ответ. Думал получится проще, похоже нет, попробую разобраться с Вашим вариантом. По поводу работы OpenVPN в режиме моста вопрос еще один возник. Нужно ли на клиенте объединять в мост интефрейс локальной сети и tap интерфейс? Fun105, доброго Вам времени суток. OpenVPN в режиме Ethernet Bridging (L2, TAP) – позволяется инкапсулировать L2 (см. широковещательный домен) трафик между оконечными интерфейсами своего тоннеля. Такой режим часто применяется для «выноса» сегмента большой едино-адресной (например 10.1.1.0/20) на удалённый объект без, применения маршрутизации. В таком случае происходит объединение реального (смотрящего в локальную сеть) и туннельного (OpenVPN) интерфейсов на маршрутизаторе, но не на клиенте. Такой режим соединения сети через публичный Интернет(L2 через IP (L3)), является крайне не желательным, за исключением случаев, когда в сети расположено специфическое оборудование, требующие прохождения L2 трафика между устройствами (всякая старая телеметрическая ерундовина и ей подобное). Насколько я понимаю задачу, Вам необходимо свою «Сеть2» держать постоянно связанной с сервисами в сетях (какие то «маленькие удалённые точки») «Сеть1», «Сеть1.2» (копия «Сети1») и т. д. имеющими одинаковую адресацию 192.168.1.1/24, с невозможностью её поменять? Как уже написано выше, минимум нужно сменить адресацию «Сети2», что бы за счёт маршрутизации построить доступ до сервисов в удалённых сетях. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Diman Posted March 14, 2017 · Report post Т.к. компьютер в сети шлет пакеты напрямую, если адресат находится в пределах его сети (его маски). Объединить две сети через ТАП это тоже самое, что просто воткнуть их в один коммутатор. Думаете у вас будет что-то работать, если у вас в сети два роутера с одинаковыми адресами ? У меня была такая мысль, но как избежать этого я не придумал. Если использовать tun, то непонятно как компьютерам из сети2 сказать что 192.168.1.12 находится в другой подсети, только если использовать разные подсети в сети1 и в сети2. для совместного использования одной нумерации сети на обоих концах, разделите используемое адресное пространство пополам, например. в сети2 смените адрес роутера, например, на 192.168.1.254. если адреса раздаются dhcp - перенастройте пулы адресов на обоих роутерах. проследите, чтобы адреса не пересекались. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
fun105 Posted March 18, 2017 · Report post Diman, пока так и поступил - сменил адрес роутера в сети1, все работает. DHCP используется только в сети2, поэтому перенастройка пулов не потребовалась. tun, как советовали выше не совсем подходит, из-за того что софт на серверах определяет доступность соседних серверов по netbios именам компьютеров. Можно конечно прописать их на каждом сервере в файл hosts, но я решил идти что объединить сети будет проще. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...