Как объединить две локальные сети в одну
Перейти к содержимому

Как объединить две локальные сети в одну

Объединение двух офисов через VPN. Часть 1 – обходимся средствами Windows

Хотя тема и избита, но тем не менее, часто многие испытывают затруднения – будь то начинающий системный администратор или же просто продвинутый пользователь, которого начальство заставило выполнять функции эникейщика. Парадоксально, но несмотря на обилие информации по VPN, найти внятный вариант — целая проблема. Более того, даже складывается впечатление, что один написал – другие же нагло скопировали текст. В итоге, поисковая выдача буквально захламлена обилием ненужной информации, из которой стоящее редко можно вычленить. Поэтому я решил в своей манере разжевать все нюансы (может, кому и пригодится).

Итак, что такое VPN? VPN ( Virtual Private Network — виртуальная частная сеть) — обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (в том числе и интернет). В зависимости от применяемых протоколов и назначений, VPN может обеспечивать соединения трёх видов: узел-узел, узел-сеть и сеть-сеть. Как говорится, без комментариев.

vpn между офисами

VPN позволяет легко объединить удаленный хост с локальной сеткой фирмы или другого хоста, а также объединить сети в одну. Выгода вполне очевидна – мы легко с клиента VPN получаем доступ к сети предприятия. Кроме того, VPN еще и защищает ваши данные посредством шифрования.

Я не претендую на то, чтобы вам описать все принципы работы VPN, так как есть масса специальной литературы, да и если честно, я и сам много чего не знаю. Тем не менее, если у вас стоит задача «Сделай!», нужно срочно вливаться в тему.

Давайте рассмотрим задачу из моей личной практики, когда нужно было объединить по VPN два офиса –головной и филиал. Ситуацию еще и осложнял тот факт, что в головном офисе стоял видео-сервер, который должен принимать видео с IP камеры филиала. Вот вам вкратце задача.

Способов решения много. Все зависит от того, что у вас есть под рукой. Вообще, VPN легко построить с помощью железного решения на базе различных роутеров Zyxel. В идеале, может случиться и то, что интернет обоим офисам раздает один провайдер и тогда у вас вообще проблем не возникнет (достаточно просто обратиться к прову). Если фирма богата, то может себе позволить и CISCO. Но обычно все решается программными средствами.

А тут выбор велик – Open VPN, WinRoute (учтите, что он платный), средства операционной системы, программы типа Hamanchi (честно говоря, в редких случаях она может и выручит, но полагаться на нее не рекомендую – бесплатная версия имеет ограничение в 5 хостов и еще один существенный минус заключается в том, что все ваше соединение зависит хоста Hamanchi, что не всегда гуд). В моем случае идеально было бы воспользоваться OpenVPN – бесплатной программой, способной незатейливо создать надежное VPN-соединение. Но мы, как всегда, пойдем по пути наименьшего сопротивления.

У меня в филиале интернет раздает шлюз на базе клиентской Windows. Согласен, не самое лучшее решение, но для тройки клиентских компьютеров хватит с головой. Мне нужно сделать VPN-сервер из этого шлюза. Так как вы читаете эту статью, то наверняка уверен, что являетесь новичком в VPN. Поэтому для вас я привожу самый простой пример, который, в принципе, устраивает и меня.

В Windows семейства NT уже вшиты зачаточные возможности серверов. Поднять VPN-сервер на одной из машин не составит труда. В качестве сервера я буду приводить примеры скриншотов Windows 7, но общие принципы будут теми же самыми, что и для старушки XP.

Учтите, что для соединения двух сетей, нужно чтобы они имели разный диапазон! Например, в головном офисе диапазон может быть 192.168.0.x, а в филиале – 192.168.20.x (или любой диапазон серых ip). Это очень важно, так что будьте внимательны. Теперь, можно приступать к настройке.

Зайдите на сервере VPN в Панель управления -> Центр управления сетями и общим доступом ->изменение параметров адаптера.

Теперь нажмите клавишу Alt, вызвав меню. Там в пункте Файл нужно выбрать «Новое входящее подключение».

Поставьте галочки тем пользователям, которые могут входить в систему по VPN. Я настоятельно рекомендую Добавить нового пользователя, назвать его понятным именем и назначить пароль.

После того, как вы это сделали, нужно в следующем окне выбрать как будут подключаться пользователи. Ставьте галку «Через интернет». Теперь вам остается назначить диапазон адресов виртуальной сети. Причем, можно выбрать сколько всего компьютеров может участвовать в обмене данных. В следующем окне выберите протокол TCP/IP версии 4 нажмите «Свойства»:

У вас появится то, что у меня на скриншоте. Если вы хотите, чтобы клиент получил доступ к локальной сети, в которой находится сервер, просто ставьте галку «Разрешить звонящим доступ к локальной сети». В пункте «Назначение IP адресов» я рекомендую указать адреса вручную по принципу, который я выше описал. В моем примере я дал диапазону всего двадцать пять адресов, хотя мог указать просто и два и 255.

После этого жмем на кнопку «Разрешить доступ».

Система автоматически создаст VPN-сервер, который будет сиротливо ожидать, когда к нему кто-либо присоединится.

Теперь остается дело за малым – настроить VPN-клиента. На клиентской машине также идете в Центр управления сетями и общим доступом и выбираете Настройка нового подключения или сети. Теперь вам нужно будет выбрать пункт «Подключение к рабочему месту»

Жмете на «Использовать мое подключение к Интернету и теперь вас выбросит в окно, где нужно будет ввести адрес нашего интернет-шлюза в филиале. У меня он имеет вид 95.2.x.x

Теперь можно вызывать подключение, вводить то имя пользователя и пароль, который вы ввели на сервере и пытаться подключиться. Если все правильно, то вы подключитесь. В моем случае, я могу уже посылать пинг любому компьютеру филиала и запрашивать камеру. Теперь ее моно легко цеплять к видеосерверу. У вас же может быть что-то другое.

Как вариант, при подключении может выскочить ошибка 800, сигнализируящая о том, что с подключением что-то не то. Это проблема брэндмауэра либо клиента, либо сервера. Конкретно я сказать вам не могу – все определяется экспериментально.

Вот так незатейливо мы создали VPN между двумя офисами. Таким же образом можно объединить и игроков. Однако не стоит забывать, что это будет все-таки не полноценный сервер и лучше использовать более продвинутые средства, о которых я расскажу в следующих частях.

В частности, в части 2 мы с вами рассмотрим настройку OPenVPN под Windows и Linux.

Объединение двух локальных сетей через VDS

Несколько офисов можно объединить в одну сеть – это позволяет обеспечить расширенный доступ к информационным ресурсам одной организации. Целью такого слияния обычно служит использование единой офисной АТС, обеспечение доступа к ресурсам компании из различных локаций, удаленный доступ к другим ПК и многое другое.

О том, как все это можно организовать через VDS, мы поговорим в сегодняшней статье.

Как происходит объединение сетей

Первое, что может прийти в голову перед связкой двух мест, – это приобрести персональную линию между двумя точками. Ранее такой способ мог пройти, но сейчас есть более выгодные решения.

Например, использование виртуальной частной сети, которая именуется VPN. Это набор технологий, которые позволяют провести несколько сетевых соединений. В зависимости от используемого протокола, VPN разрешает организовать объединение различных типов сетей. С помощью VPN осуществляется соединение нескольких сетей в офисах и прочих учреждениях.

Далее мы рассмотрим, как выполнить такую связь на VDS-сервере с использованием PPTP.

Объединяем локальные сети через VDS и PPTP

Мы выяснили, что при слиянии сетей в силу вступает технология VPN, но что же такое PPTP? Это один из первых протоколов, который использовался в VPN еще на ОС Windows 95. Он работает во многих организациях и по сей день. PPTP наиболее простой в настройке и быстрый протокол.

Нельзя не упомянуть и его минусы: PPTP уязвим. Его стандартные методы аутентификации небезопасны, в связи с чем часто взламываются злоумышленниками. Альтернативой этому протоколу могут выступать L2TP, IPSec или OpenVPN – они хорошо защищены и используются многими разработчиками. Однако в данной статье мы не будем на них останавливаться, а рассмотрим лишь подключение через PPTP.

Настройка и подключение PPTP

Для примера мы будем использовать VDS на хостинге Timeweb.

Подключение к консоли реализуем через программу PuTTY, которая предназначена для удаленного доступа к серверу. С помощью нее можно удобно копировать и вставлять команды в консоль. Давайте посмотрим, как с ней работать.

Переходим по ссылке и загружаем на рабочий стол PuTTY. Далее запускаем программу и в разделе «Session» вводим IP-адрес хостинга, указываем порт 22 и выбираем SSH-соединение. Последним действием кликаем по кнопке «Open».

В результате перед нами отобразится консольное окно – в нем пока что требуется только авторизоваться. Вводим логин и пароль от своего VDS и следуем далее.

Теперь все последующие команды, которые нам нужно использовать для объединения сетей, можно скопировать и вставить в консоль простым кликом правой кнопки мыши.

Можно переходить к установке протокола. Первым делом ставим PPTP на сервер, для этого вводим:

Эта и последующие команды актуальны для дистрибутивов Ubuntu.

В результате установки не должно возникнуть никаких ошибочных строчек. Если такое произойдет, то стоит использовать команду снова – после этого ошибки чаще всего исчезают.

Далее открываем файл для редактирования:

При открытии файла перед нами отобразится новое окно. В нем мы будем выполнять последующее редактирование строк.

Указываем диапазон выдаваемых IP-адресов, для этого изменяем строчки localip (IP-адрес вашего сервера) и remoteip (адреса клиентов). Для примера я использую значения:

После этого сохраняем внесенные изменения с помощью комбинации клавиш «CTRL+O» и выходим из файла «CTRL+X». Следующим шагом открываем chap-secrets и добавляем в него клиентов. Пример:

Первая буква – это наши сети, password – придуманный пароль, содержащий не более 63 символов, IP – адреса клиентов.

Сохраняем изменения и перезагружаемся:

Далее переходим в nano /etc/sysctl.conf и добавляем:

Завершаем действия строчкой:

На этом настройка завершена. Далее мы поговорим о подключении Микротика.

Установка MikroTik

Следующая инструкция будет приведена на примере последней версии роутера MikroTik, поэтому вы можете спокойно скачивать самую свежую прошивку.

Запускаем программу Микротик и переходим в Interface -> + PPTP Client. В разделе «General» указываем имя и переходим в окно «Dial Out».

Далее в строчке «Connect To» прописываем адрес для соединения, указываем имя и пароль, в завершение кликаем по кнопке «Apply».

После этого произойдет подключение по адресу 17.255.0.1, который мы указали ранее.

Аналогичным образом подключаем MikroTik к другой сети, он будет соединяться с 17.255.0.15 и другими IP.

Iptables

С Микротиком мы разобрались, но подключиться к нему по VPN мы пока не можем.

Прописываем строчки кода:

Перезапускаем сервер, чтобы изменения вступили в силу:

Сохраняем установленные выше настройки, чтобы они не сбросились при следующем запуске (актуально для Ubuntu, на других дистрибутивах пути могут отличаться):

Внесем их в автозагрузку:

Теперь подключение должно работать корректно. При необходимости можно перезагрузить сервер с помощью команды reboot.

Следующим этапом нам нужно настроить mtu, для этого открываем nano /etc/ppp/pptpd-options и прописываем:

Также указываем маршруты для пользователей:

Чтобы они не исчезли после повторного запуска, открываем файл nano /etc/ppp/ip-up и прописываем в него следующее:

Осталось перезагрузить сервер, после чего при повторном подключении под определенного пользователя будет автоматически добавляться новый маршрут.

MikroTik Routes

Последним этапом нам нужно сделать так, чтобы две сети были видимы друг для друга.

Переходим в раздел IP -> Routes. В отобразившемся окне кликаем по кнопке в виде плюса и добавляем то, что будет идти на выбранный IP.

Для адресанта A:

  • Dst. Adress: 172.128.0.0/32
  • Gateway: используем point-to-point
  • Distance: 30

Для адресанта B:

  • Dst. Adress: 17.0.0.0/32
  • Gateway: используем point-to-point
  • Distance: 30

После этого будет осуществлено объединение двух сетей. Рекомендуем провести тестирование скорости соединения, чтобы убедиться в том, что все настройки были проведены корректно.

На этом статья заканчивается. Надеюсь, что у вас не осталось никаких вопросов. Спасибо за внимание!

Как объединить две локальные сети в одну

Если вам надо всеголишь объединить сети то достаточно оба линка из разных сетей соединить хоть хабом и на всех узлах сети выставить маску 255.255.0.0, если же вам надо сохранить сегменты тогда вам неообхдим роутер, это может быть как железка так и комьютер с двумя сетевыми картами. В любом из вариантов возможно подключить сеть 192.168.30.0 разница лишь в том что в первом случае надо поменять на всех узлах маску а во втором добавить третью сетевую карту в компьютер или настроить третий порт на роутере.

P.S. Прежде чем заниматься подобным было бы неплохо почитать основы TCP/IP

Цитата
Kalashmat пишет:
комьютер с двумя сетевыми картами
Цитата
Kalashmat пишет:
добавить третью сетевую карту
Цитата
Michael пишет:
ну вообще-то, одной сетевой карты вполне достаточно. просто нужно прописать ее в несколько подсетей
Цитата
Если вам надо всеголишь объединить сети то достаточно оба линка из разных сетей соединить хоть хабом и на всех узлах сети выставить маску 255.255.0.0, если же вам надо сохранить сегменты тогда вам неообхдим роутер, это может быть как железка так и комьютер с двумя сетевыми картами. В любом из вариантов возможно подключить сеть 192.168.30.0 разница лишь в том что в первом случае надо поменять на всех узлах маску а во втором добавить третью сетевую карту в компьютер или настроить третий порт на роутере.
Цитата
BillyG пишет:
Простите, конечно, за ламмерство, но что в данном случае вы понимаете под узлами? Все сетевые устройства?
Цитата
Kalashmat пишет:
ИМХО так совершенно не секьюрно, предположим стоит свичи в него воткнуты два компа «A» 192.168.1.2 и «B» 192.168.2.2 и туда же воткнут софтверный роутер «C» с интерфейсом 192.168.1.1 и алиасом 192.168.2.1, так вот сидя на компе «A» и поменяв ip адрес на 192.168.2.3 я увижу компьютер «B» напрямую, а также если я поставлю его ip адрес то начну мешать ему нормально работать. В чем тогда логика?
Цитата
Michael пишет:
с тем же успехом ты можешь мешать кому-нибудь работать из своей подсети вне зависимости от кол-ва сетевых адаптеров на роутере.

Это интересно как? Ну возьмешь ты IP из другого сегмента один черт тебя роутер не пропустит ибо на его интерфейсе совершенно другая подсеть, а хост с оригинальным IP в пределах своей сети будет прекрасно работать.

Цитата
Michael пишет:
мне показалось, вопрошающему нужно было наиболее простое решение, а дляэтого достаточно 1й сетевой карточки

Самый простой (дешевенький и эффективный) имхо способ — седлать софтверный шлюз (на слабом железе — от 100 MHz, оперативки бы побольше — 128М, но и 64 сойдет) под *nix. Убиваешь сразу много зайцев — и сети объединяешь, и файер, и петлю разрываешь.

Разрываешь с помощью Iptables — запрещаешь хождение пакетов между нужными сетевыми одного шлюза.

Цитата
Joni-lover пишет:
на этом варианте поподробнее
Цитата
Joni-lover пишет:
если мы меняем маску подсети , то мы выйдем из положения , или нет.
Цитата
Jul_i пишет:
Самый простой (дешевенький и эффективный).

Не проще ли «железку» поставить? Места меньше занимать будет, эл. питание, шум. Да и в настройке, наверное, по-проще?

P.S. Просто сам недавно настраивал софтверный шлюз. Теперь мне до конца месяца секса не надо
Причем, сразу за ним стоит аппаратный adsl-роутер. Софтверный шлюз ставил для подсчета трафика.

Угу. Насколько я понимаю, компы каждой сети с и т.д. воткунты в свой хаб/свитч. Чтобы их соединить, бери еще один компьютер-роутер под линукс с тремя сетевыми, каждая смотрит в свою подсеть.

Требования к роутеру. К быстродействию не требователен. 100 или 133 МГц хватит. Памяти желательно бы побольше, но и 64М сойдет. Винчестер 10Га мин, если логи почаще чистить. На сетевых можно экономить (если сеть небольшая), но без фанатизма — лучше на каждую подсеть отдельную.

Прописываешь на каждой из трех сетевых IP из соответствующих подсетей — например 192.168.10.1, 192.168.20.1 и т.д. включаешь IP-forwarding. И все, если бы не было петли.

Как разорвать петлю:
Есть программа Iptables. В соверменных дистрибутивах она ставится по умолчанию, в более старых – ipchains, он зачем же отставать от жизни. http://gazette.linux.ru.net/rus/articles/iptables-tutorial.html#AEN25
Ставишь в автозагрузку скрипт вида

#!/bin/bash
iptables -t filter -A FORWARD -s 192.168.10.0/24 -d !192.168.20.0/24 -j DROP
iptables -t filter -A FORWARD -s 192.168.20.0/24 -d !192.168.10.0/24 -j DROP
#ну там еще столько подсетей, сколько нужно
exit 0

(s – источник, d – назначение, ! – «не»). Скрипт разрешает общение между подсетями и запрещает попадание пакетов из одной подсети через роутер и другую подсеть к провайдеру по петле (политика по умолчанию – «разрешить все» – файер нам не нужен – это – забота шлюзов, который смотрят во внешнюю сеть).

И все. Вроде никто не забыт, ничто не забыто

Цитата
LcL пишет:
Теперь мне до конца месяца секса не надо

Упс! Таки забыто. Самое главное — маскарадинг. Без него никто никого не увидит

#!/bin/bash
#Чтобы сеть 192.168.10.0 увидела сеть 192.168.20.0
iptables -t nat -A POSTROUTING -s 192.168.10.1 -d 192.168.20.0/24 -j SNAT —to-source 192.168.20.1
#Чтобы сеть 192.168.20.0 увидела сеть 192.168.10.0
iptables -t nat -A POSTROUTING -s 192.168.20.1 -d 192.168.20.0/24 -j SNAT —to-source 192.168.10.1
#если есть другие сети, задать эти правила попарно, чтобы все со всеми
exit 0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *