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

от admin

Соединяем филиалы в одну сеть. Снижаем затраты на интернет

Приветствую тебя хабражитель, не так давно передо мною встала задача соединить в единую сеть филиалы одной крупкой компании, разбросанные по Сибири. Главная проблема была в том, что OpenVPN надо было заставить работать поверх нестабильного PPPoE попутно пустив весь трафик через OpenVPN

Первоначальная цель была в экономии денег на Интернет трафике в филиалах т.к. в удалённых районах цена безлимитного ADSL с шириной в 256кб/с стоила порядка 7-10т.р. в месяц, а интернет был жизненно необходим.
Вся радость была в том, что почти все филиалы имели подключения одного провайдера, в котором существовало понятие локального и пирингово трафика, а в Главном офисе был выделенный широкий Интернет (другой провайдер, но волей случая он был лоялен к провайдеру филиалов и у него был «пиринговый трафик» с ценой около 6 копеек за мегабайт).
image

1. proxy

Самое быстрое решение это было обычный каскад proxy серверов, так и было сделано т.к. раньше все филиалы раздавали интернет у себя прямо модемом, то нужно было всем выделить по 1 системнику, который бы выполнял роль шлюза, системники были не подарки, кто даст 800й пень, кто 233, в общем у кого что было… Хотя сегодня за 4-7 т.р. можно собрать достойный шлюз, но хозяин-барин, хочу говорит без затрат!

На эти шлюзы была установлена ubuntu 8.04 LTS настроена в виде шлюза, чтоб воткнул в локальную сеть, в модем и в розетку, и сразу всё работало т.к. во многих филиалах, админы могли только нажать «Any key» на клавиатуре пользователя, но не беда, дело шло, постепенно 7 филиалов перенастроило свои модемы, и воткнули шлюзы 🙂

сразу же поднимали прокси каскадом, заруливали туда http трафик, но как мы все знаем, хттп трафик это всего некий % от общего трафика, перейдя на более простые тарифы, экономия была, но условная, ведь нерадивый админ или пользователь мог например через torrent стянуть что-то весомое, что сулило попаданием на деньги филиалу…

Попутно появлялись другие задачи в центральном офисе — перенос компаративного почтаря, шлюза, портала настроенного году в 2002 и не тронутого с тех пор, но это заслуживает отдельной статьи…
А нас пока интересует просто сеть…

2. OpenVPN

Эту штуку я видел в первый раз, был некий страх перед первым знакомством, далее чтение мануалов и интернетов, закатав рукава я полез ставить 🙂

2.1 Сервер
имеет 2 сетевых адаптера eth1 (192.168.5.x) — Локальная сеть и eth0 (real ip 111.111.111.111) Интернет с широким каналом.

apt-get install openvpn

Далее создаём файл конфигурации сервера
touch /etc/openvpn/server.conf

при загрузке системы автоматически поднимаются все VPN соединения, для которых в папке /etc/openvpn есть соответствующие файлы с расширением .conf

у меня он получился примерно таким.

port 1194 #Порт
proto udp #Протокол
dev tun #Название виртуального устройства
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key # This file should be kept secret
dh /etc/openvpn/dh1024.pem
server 10.10.10.0 255.255.255.0 # vpn subnet
ifconfig-pool-persist ipp.txt # Тут будут храниться ip адреса клиентов
push «route 192.168.5.0 255.255.255.0» # home
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log-append openvpn.log
verb 4
mute 20
client-to-client
client-config-dir /etc/openvpn/ccd # Тут будут настройки для каждого филиала
route 192.168.0.0 255.255.255.0 # Маршрут от сервера до филиала 1
route 192.168.1.0 255.255.255.0 # Маршрут от сервера до филиала 2

Создаём каталог, в котором будут хранится индивидуальные настройки клиентов:

Теперь необходимо создать ключи и сертификаты для шифрования и авторизации

cd /usr/share/doc/openvpn/examples/easy-rsa/2.0
source ./vars
./clean-all
./build-ca

Теперь создадим сертификат и приватный ключ для сервера:

Создаём ключ для клиента (если клиентов несколько, процедуру придётся повторить):

для каждого клиента должно быть указано своё уникальное имя (в данном случае client1).

если новый клиент создаётся спустя некоторое время, процедура будет выглядеть следующим образом:

cd /usr/share/doc/openvpn/examples/easy-rsa/2.0
source ./vars
./build-key client2

Генерируем параметры Диффи-Хеллмана:

Помещаем следующие файлы в директорию /etc/openvpn/

* ca.crt
* server.crt
* dh1024.pem
* server.key

Создаём файл /etc/openvpn/ipp.txt

Конфигурационный файл клиентской машины /etc/openvpn/client.conf у меня получился примерно таким

remote 111.111.111.111 1194
client
dev tun
proto udp
resolv-retry infinite # this is necessary for DynDNS
nobind
user nobody
group nogroup
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client1.crt
key /etc/openvpn/client1.key
comp-lzo
verb 4
mute 20
redirect-gateway
#show-net-up
verb 4

Теперь необходимо скопировать с сервера в папку /etc/openvpn/ сгенерированные клиентские ключи и авторитарный сертификат сервера:
* ca.crt
* client1.crt
* client1.key

Если за клиентом скрывается сеть 192.168.1.х то, чтоб сервер видел её нужно добавить на сервер маршрут до неё.

На сервере создаём файл /etc/openvpn/ccd/client1 такого содержания:

iroute 192.168.1.0 255.255.255.0
# роутинг на сеть филиала2, чтоб 2 филиала знали друг друга
#push «route 192.168.100.0 255.255.255.0»
#Заворачиваем весь трафик в OpenVPN
push «redirect-gateway def1»

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

OpenVPN получив директиву
push «redirect-gateway def1»
(при наличии ‘pull’ в своей конфигурации), клиент не удаляет старый маршрут, а добавляет в таблицу маршрутизации записи вида:
0.0.0.0/1 via 192.168.231.5 dev tun0
128.0.0.0/1 via 192.168.231.5 dev tun0
и если openvpn идёт по ethernet то всё работает и радует админа и пользователей, но великий ppp любит поднимать вот такой маршрут.
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0

И вот OpenVPN ругается примерно вот так
Jul 2 19:28:53 ino ovpn-client[14465]: NOTE: unable to redirect default gateway — Cannot read current default gateway from system

Решение этой проблемы искалось долго и нудно, хотя оно на поверхности. если в этом «кривом» маршруте ppp указывать шлюз вместо 0.0.0.0 реальный шлюз, то ОpenVPN видит этот маршрут и добавляет свой без проблем.

Поэтому я создал файл
/etc/ppp/ip-up.d/routing
В который прописал небольшой скрипт. (прошу ногами не пинать, я очень ленивый, и полноценный скрипт определения шлюза и правки маршрутов писать не стал, а сделал как простой костыль)
Буду очень рад, если кто-то предложит более логичный, надёжный, и универсальный метод правки маршрутов на лету.
Пока ещё нет уверенности, что всё будет на 100% работать при обрывах ppp, Но жизнь покажет, если что — поправлю топик.

#! /bin/sh
#Определяем выданный шлюз по умолчанию у меня он всегда разный но в сети 222.х.х.х
gw1=`ip route show | grep 222 | awk ‘‘`
# Удаляем 0.0.0.0 0.0.0.0
route del default
# Добавляем маршрут с верным шлюзом
route add -net default gw $ dev ppp0

Делаем его исполняемым
chmod ug+x /etc/ppp/ip-up.d/routing

После чего ребут, спустя некоторое время сервер перестал пинговаться по внешнему ипу, но стал отзываться по внутреннему — 10.10.10.26

ЗЫ Прошу принять во внимание, что файрволл шлюза и сервера и клиента надо поправить, для того, чтоб у пользователей был жизненно важный интернет.
Например я, сделал это так:
-A POSTROUTING -s 192.168.0.0/255.255.0.0 -j MASQUERADE
Тут не указана привязка ни к внешнему интерфейсу, ни ip 🙂
когда по разным причинам у нас не будет openvpn то у пользователей будет прямой инет, а когда он появится, то весь трафик полетит через него.

Заключение

В жизни эта система собирается поэтапно, сначала запускается впн сервер и впн клиент, пингуют друг друга по адресам 10.10.10.х дальше добавляются маршруты до сетей, что стоят за сервером и клиентом, пингуются проверяются, когда всё будет стабильно и надёжно добавляем директиву
push «redirect-gateway def1»
И снова добиваемся работы и жизни, всё было проделано не выходя из офиса, на шлюзах филиалов, были подписаны сетевые интерфейсы, чтоб админ просто воткнул сетевые кабеля и питание, позвонил мне, а дальше я уже по ssh настраивал на рабочий лад.

Ах да, чуть не забыл, о самом главном — profit

Помимо того, что теперь вся сеть обращается к серверам и сервисам филиалов и центра по внутренним ip адресам, так ещё и финансовая экономия.

Раньше каждый филиал тратил на интернет в среднем по 7 000р. в месяц, сейчас в месяц каждый из них платит по 550р. за доступ к пирингу, интернет не расходуется (кроме центрального), для начала было запущено 7 филиалов, дальше будет больше.
получается, что за год при старой схеме компания тратила бы на интернет 588 000р., а при текущей схеме в год будет потрачено 46 200р.

Что дальше?

А теперь, на этой всей хе… мы попробуем взлететь! я попробую развернуть IP Телефонию, чтоб минимизировать расходы на Телефонные междугородние переговоры между филиалами, связать софтАТС с аппаратными в филиалах, о чём обязательно напишу. Удачи

update1 Много вопросов возникло к термину «Крупная компания» попробую прояснить.

Крупная она в Сибири, центр имеет штат 200 сотрудников, филиалы от 20 до 60, к каждому филиалу ещё крепятся 10-20 объектов. по 5-15 человек. филиалов менее 30ти.

Компания крайне не поворотлива, основной контроль идёт от государства, оборудование, компания делает некие шаги в сторону ИТ развития 🙂

Update2
И так, после тестирования выявилось, что если надолго опустить сервер управы, то клиенты не охотно поднимают openvpn и трафик может пойти прямо в дорогой инет.
Также если принудительно рвётся ADSL канал, то опенвпн вроде и пытается стартануть заново, но что-то у него это не получается, так и ходит по кругу.
пробовал всякие опции и keepalive и ping-restart и прочее… не помогало…

Поэтому пишем небольшой скрипт, который будет проверять состояние дел.
touch /usr/bin/vpn_keepalive.sh

#! /bin/sh
# Нужна ли нам отладка, рас комментировать нужное
#debug_out=/dev/null
debug_out=/dev/stdout
#NEXTHOP Это хост внутри ВПН сети
# я взял внутренний ип OpenVPN сервера
NEXTHOP=192.168.5.1
# Комманда перезапуска Опенвпн
OPEN_VPN_CMD=»sudo /etc/init.d/openvpn restart»
PING=/bin/ping

logger_opts=»-t $0″
if [ «$debug_out» = «/dev/stdout» ]
then
logger_opts=»$logger_opts -s»
fi
pckts_rcvd=`$PING -c 8 -q -W 2 $NEXTHOP | grep transm | awk ‘‘`
echo «host: $NEXTHOP, pckts_rcvd: $pckts_rcvd» >$debug_out
if [ $pckts_rcvd -eq 0 ]
then
echo «Connection with $NEXTHOP lost, resetting» | logger $logopts
$OPEN_VPN_CMD > $debug_out
else
echo «Connection with $NEXTHOP up, no action» | logger $logopts
fi

Делаем его исполняемым
chmod ug+x /usr/bin/vpn_keepalive.sh

Скрипт пингует хост, и если 0 пакетов вернулось, то выполнит команду рестарта.
после чего всё гарантированно поднимается, вливаются верные маршруты, и трафик идёт через ВПН трафик

Кидаем этот скрипт в крон
crontab -e

например каждые 2 минуты.
0-59/2 * * * * /usr/bin/vpn_keepalive.sh

И всё если дебаг включен, то в логах (syslog) будет отмечено вот так.
logger: Connection with 192.168.5.1 up, no action

Объединение двух офисов через 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.

Объединяем два компьютера в локальную сеть

Как создать локальную сеть между двумя компьютерами

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

Читать:
Как установить веб камеру по умолчанию

Соединяем компьютеры в сеть

Как становится ясно из вступления, объединить два ПК в «локалку» можно двумя способами – напрямую, с помощью кабеля, и через роутер. Оба эти варианта имеют свои плюсы и минусы. Ниже мы разберем их подробнее и научимся настраивать систему на обмен данными и выход в интернет.

Вариант 1: Прямое соединение

При таком соединении один из компьютеров выступает в роли шлюза для подключения интернета. Это значит, что на нем должны быть как минимум два сетевых порта. Один для глобальной сети, а второй для локальной. Впрочем, если интернет не требуется или он «приходит» без использования проводов, например, через 3G модем, то можно обойтись и одним LAN-портом.

Сетевые разъемы на материнской плате компьютера

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

Соединение двух компьютеров сетевым кабелем для создания локальной сети

Обратите внимание, что для наших целей нужен кабель (патч-корд), который предназначен для прямого соединения компьютеров. Называется такая разновидность «кроссовером». Впрочем, современное оборудование способно самостоятельно определять пары для приема и передачи данных, поэтому обычный патч-корд, скорее всего, также будет нормально работать. Если возникнут неполадки, то кабель придется переделать или найти в магазине нужный, что бывает весьма непросто.

Кабель кроссового подключения для создания локальной сети из двух компьютеров

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

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

Настройка

После подключения кабеля требуется настроить сеть на обоих ПК. Для начала необходимо присвоить каждой машине в нашей «локалке» уникальное имя. Это нужно для того, чтобы программное обеспечение могло находить компьютеры.

Переход к свойствам операционной системы с рабочего стола в Windows 10

  1. Жмем ПКМ по значку «Компьютер» на рабочем столе и идем в свойства системы.
  2. Здесь переходим по ссылке «Изменить параметры».

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

    Кликаем ПКМ по значку подключения в области уведомлений и открываем «Параметры сети и интернет».

В Windows 7 и 8 данный блок параметров можно найти так:

    Правым кликом по значку сети открываем контекстное меню и выбираем пункт, ведущий в «Центр управления сетями».

Lumpics.ru

Дальше требуется выполнить настройку адресов для обоих компьютеров.

Переход к настройке параметров адептера локальной сети в Windows 10

  1. На первом ПК (том, который подключается к интернету) после перехода к параметрам (см. выше) нажимаем на пункт меню «Настройка параметров адаптера».
  2. Здесь выбираем «Подключение по локальной сети», кликаем по нему ПКМ и идем в свойства.

В поле «Маска подсети» автоматически подставятся нужные значения. Здесь ничего менять не нужно. На этом настройка закончена. Жмем ОК.

Маску оставляем по умолчанию, а вот в полях для адресов шлюза и DNS-сервера указываем айпи первого ПК и нажимаем ОК.

Настройка IP-адреса и DNS сервера для родключения п локальной сети в Windows 10

В «семерке» и «восьмерке» следует перейти в «Центр управления сетями» из области уведомлений, а затем кликнуть по ссылке «Изменение параметров адаптера». Дальнейшие манипуляции производятся по тому же сценарию.

Заключительная процедура – разрешение совместного доступа к интернету.

    Находим среди сетевых подключений (на шлюзовом компьютере) то, через которое мы подключаемся к интернету. Кликаем по нему правой кнопкой мыши и открываем свойства.

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

Вариант 2: Соединение через роутер

Для такого подключения нам понадобится, собственно, сам роутер, набор кабелей и, разумеется, соответствующие порты на компьютерах. Тип кабелей для соединения машин с роутером можно назвать «прямым», как противоположность кроссовому, то есть жилы в таком проводе соединены «как есть», напрямую (см. выше). Такие провода с уже смонтированными коннекторами можно без проблем найти в розничной продаже.

Сетевой кабель прямого подключения для создания локальной сети

Маршрутизатор имеет несколько портов подключения. Один для получения интернета и несколько для подключения компьютеров. Различить их просто: LAN-разъемы (для машин) группируются по цвету и пронумерованы, а порт для входящего сигнала стоит особняком и имеет соответствующее название, обычно написанное на корпусе. Схема подключения в этом случае также довольно несложная – кабель от провайдера или модема подсоединяется в разъем «Internet» или, в некоторых моделях, «Link» или «ADSL», а компьютеры в порты, подписанные как «LAN» или «Ethernet».

Сетевые порты на задней панели маршрутизатора

Плюсы такой схемы состоят в возможности организации беспроводной сети и автоматическом определении системных параметров.

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

Для настройки нужных параметров в Windows при таком подключении никаких действий предпринимать не требуется – все установки производятся в автоматическом режиме. Нужно только проверить способ получения айпи-адресов. В свойствах протокола IPv4 подключения по локальной сети необходимо поставить переключатель в соответствующее положение. Как добраться до настроек параметров, читайте выше.

Настройка автоматического получения IP-адресов в Windows 10

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

Окно настройки параметров общего дочтупа в Windows 10

Далее мы поговорим о том, как обеспечить работу с общими ресурсами – папками и файлами – в нашей «локалке».

Настройка доступа к ресурсам

Общий доступ подразумевает возможность использования каких-либо данных всеми пользователями локальной сети. Для того чтобы «расшарить» имеющуюся на диске папку, необходимо проделать следующее:

Переход к настройке общего доступа к папке в Windows 10

  1. Кликаем правой кнопкой мыши по папке и выбираем пункт контекстного меню с названием «Предоставить доступ к», а в подменю – «Отдельные люди».
  2. Далее выбираем в выпадающем списке всех пользователей и жмем «Добавить».

Доступ к «расшаренным» директориям осуществляется из области переходов «Проводника» или из папки «Компьютер».

Доступ к расшаренным папкам в Windows 10

В Windows 7 и 8 названия пунктов меню немного отличаются, но принцип действия такой же.

Заключение

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

Пошаговая инструкция по объединению сетей разных провайдеров с помощью L2TP и L2TP/IPSec на оборудовании Mikrotik

! Если кому-то инструкция кажется большой и сложной, попробуйте воспользоваться этой инструкцией по объединению офисов через VPN (l2tp).

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

Объединение сетей мы будем рассматривать на примере оборудования компании Mikrotik. В качестве тестового сервера используется маршрутизатор RB2011UiAS-RM, который является отличным выбором для небольших офисов и компаний, ограниченных в бюджете. В качестве конечного клиента используется одно из самых доступных решений – Mikrotik hAP lite (RB941-2n).

Благодаря своей невысокой, hAP lite можно с легкостью применять в домашних условиях, для подключения сотрудников, работающих удалённо. Хороший показатель производительности позволяет использовать этого «малыша» даже в малых офисах, где нет высоких требований.

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

Одной из самых популярных технологий для таких целей можно считать VPN – Virtual Private Network. Для реализации VPN, можно прибегнуть к нескольким вариантам: PPTP, L2TP, OpenVPN, SSTP и т.д. PPTP морально устарел, а OpenVPN и SSTP поддерживаются далеко не на всех устройствах.

По этим причинам, а также благодаря простоте настройки и доступности на устройствах, работающих под управлением разных ОС, протокол L2TP (Layer 2 Tunnel Protocol) является одним из самых популярных протоколов туннелирования. Проблемы могут возникать в случае нахождения клиента за NAT, когда Firewall блокирует пакеты. Однако даже в этом случае есть решения по обходу блокировки. Один из недостатков L2TP – безопасность, которая решается применением IPSec. Второй и, пожалуй, самый значимый недостаток – производительность. При использовании IPSec происходит двойная инкапсуляция, что снижает производительность – это именно та цена, которую придется заплатить за безопасность передаваемых данных.

Тестовый стенд

Для лучшего понимания настроек, ниже приведена иллюстрация, которая показывает структуру сети.

иллюстрация L2TP соеденения

В качестве интернет-провайдера выступает маршрутизатор RB951Ui-2HnD, который выдает устройствам IP в подсети 192.168.106.0/24. В реальности же у вас будут другие IP-адреса на WAN-интерфейсах.

В качестве интернет-провайдера выступает маршрутизатор RB951Ui-2HnD

Настройка сервера

Итак, на главном сервер должен быть статический белый внешний IP-адрес, в качестве примера у нас это 192.168.106.246. Наличие статики важно т.к. адрес не должен меняться, в противном случае придётся прибегать к лишним действиям и использовать DNS-имя.

статический белый внешний IP-адрес

Создание профилей

Заходим в раздел PPP, открываем вкладку Profiles, здесь необходимо создать профиль, который будет применяться к VPN-подключениям. Отметьте опции Change TCP MSS, Use Compression, Use Encryption. По-умолчанию, будет использоваться шифрования MPPE 128 bit.

создать профиль, который будет применяться к VPN-подключениям

создать профиль, который будет применяться к VPN-подключениям

Переходим на вкладку Interface. Нажимаем L2TP Server, в появившемся окошке ставим галочку Enabled и выбираем профиль по-умолчанию, который мы создали ранее. Тип аутентификации, по желанию – оставить как есть, либо выбрать только MS-CHAP v2.

Опцию IPsec оставляем отключенной.

Опцию IPsec оставляем отключенной

Переходим в Secrets, здесь необходимо создать нового пользователя VPN. В качестве Service указываем L2TP, тут же можно указать используемый профиль.

создать нового пользователя VPN

Локальный адрес указываем 10.50.0.10, удаленный – 10.50.0.11. При необходимости создаём нужно количество пользователей. Для каждого пользователя локальный IP будет одинаковым, удалённый IP увеличиваем на единицу (т.е. 10.50.0.12, 10.50.0.13 и т.д.). Можно конечно прибегнуть к использованию пула адресов, но со статикой вам проще будет писать маршруты.

указываем IP адреса

Создание интерфейса

Для каждого пользователя создаём свой интерфейс. Открываем раздел интерфейсов и нажимаем плюс, в выпадающем меню выбираем L2TP Server Binding, указываем отображаемое название и имя пользователя. При подключении пользователя здесь будет отображаться вся информация.

L2TP Server Binding, указываем отображаемое название и имя пользователя

При подключении пользователя здесь будет отображаться вся информация

Настройки файрволла

Настройки файрволла

Настройки файрволла

Для работы VPN необходимо открыть UDP-порт 1701 (chain input, protocol 17(udp), dst-port 1701, accept). После чего необходимо поднять приоритет правила, перемещаем его выше.

открыть UDP-порт 1701 (chain input, protocol 17(udp), dst-port 1701, accept)

поднять приоритет правила

Далее заходим в NAT и добавляем маскарадинг для VPN (chain srcnat, out interface all ppp, action masquerade), это необходимо делать для того, чтобы компьютеры за роутером видели друг друга.

заходим в NAT

добавляем маскарадинг для VPN

добавляем маскарадинг для VPN

Добавление маршрутов

Прописываем маршрут в удалённую подсеть. Конечная подсеть 192.168.2.0/24, в качестве шлюза выступает IP клиента внутри виртуальной сети, в нашем случае это 10.50.0.11, target scope выставляем единицу, Pref. Source – локальный IP сервера внутри виртуальной сети, 10.50.0.10.

Добавление маршрутов

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

завершение настройки

Настройка клиента

интрефейс

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

добавляем новый L2TP Client

указываем IP-адрес сервера и свои учётные данные

выбираем профиль с шифрованием и снимаем галочку с дефолтного маршрута

Применяем, если всё сделано правильно – соединение должно быть установлено.

пинг

Пробуем пинговать 192.168.1.1… и он, конечно же, отвечать не будет. Добавляем новый статический маршрут – удаленная подсеть 192.168.1.0/24, в качестве шлюза IP сервера в виртуальной сети, Pref. Source – наш IP в виртуальной сети. Т.е. на клиенте все адреса проставляются наоборот.

Пробуем пинговать

Пробуем пинговать

Пробуем повторно выполнить ping 192.168.1.1 – есть.

Пробуем пинговать, есть пинг

Но компьютеры за роутером ещё не видят удалённую сеть.

компьютеры за роутером ещё не видят удалённую сеть

Создаем для них маскарадинг, аналогичный тому, что создан на сервере. В качестве выходного интерфейса указываем наше VPN-подключение.

маскарадинг

маскарадинг

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

есть пинг

В нашем примере, как показало тестирование, удалось получить канал с пропускной способностью около 50 Мбит/сек.

l2tp vpn without ipsec

На этом базовая настройка завершена. При добавлении новых пользователей, необходимо добавлять соответствующие маршруты на устройствах, где вы хотите, чтобы устройства за роутером видели друг друга. При пробросе маршрута между Client1 и Client2, на самом сервере ничего делать не нужно. Достаточно прописать маршруты на клиентах, в качестве шлюза будет выступать IP оппонента в виртуальной сети.

Настройка L2TP + IPSec

Иногда на практике нужно обеспечить должный уровень безопасности. При использовании L2TP целесообразно прибегать к использованию IPSec. В качестве примера используется сеть, настроенная по вышеизложенной инструкции.

Обратите внимание! IPSec создаётся внутри туннеля L2TP между виртуальными адресами 10.50.0.X. Такая реализация позволяет не зависеть от IP клиента.

Если же вы хотите создать IPSec-туннель между WAN сервера и WAN клиента, необходимо, чтобы у клиента был белый внешний IP. Если IP будет динамичным, вам потребуется также использовать разные скрипты для изменения политик IPSec. К тому же, в случае IPSec между внешними IP, необходимость в L2TP вовсе отпадает.

Настройки на сервере

Первым делом заходим в NAT и отключаем маскарадинг для PPP, если этого не сделать, пакеты шифроваться не будут. Необходима перезагрузка маршрутизатора.

заходим в NAT и отключаем маскарадинг для PPP

Заходим в раздел IP – IPSec, открываем вкладку Proposals. Здесь нам необходимо указать тип шифрования и аутентификации. Алгоритм аутентификации выбираем sha1, для шифрования оптимальным будет использовать алгоритм AES 128-бит. При необходимости, можно также указать 3DES (Triple DES), он является алгоритмом по-умолчанию для L2TP/IPSec в Windows 7, в то время, как для мобильных ОС целесообразным может быть применение AES 256-бит.

открываем вкладку Proposals

Во вкладке Peers добавляем новый пир с адресом 0.0.0.0/0, что разрешит маршрутизатору принимать все подключения. По-умолчанию, используется 500-й порт. Метод аутентификации выбираем pre shared key, чуть ниже указываем желаемый пароль. Exchange Mode следует указать main l2tp.

Отмечаем опции Send Initial Contact и NAT Traversal. Последнюю опцию можно и не отмечать, если вы точно уверены, что клиент не находится за NAT провайдера. Generate policy выбираем port strict. Остальные опции вы можете посмотреть на скриншоте.

Во вкладке Peers добавляем новый пир

После добавления пира следует создать политику, для этого открываем вкладку Policies. Политику по-умолчанию можно отключить. Создаем новую политику, где указываем наши 2 локальные сети. Src. Adress (source) – наша локальная подсеть 192.168.1.0/24, Dst. Adress (destination) – удаленная подсеть 192.168.2.0/24. В закладке Action необходимо указать применяемое действие: action – encrypt, level – require. В качестве протокола выбираем ESP и ставим галочку Tunnel. SA Src. Adress – наш локальный адрес в виртуальной сети (10.50.0.10), SA Dst. Adress – адрес удаленного клиента в виртуальной сети.

открываем вкладку Policies

В качестве протокола выбираем ESP

На этом в принципе все, нужно также зайти в Firewall и добавить правила для используемых портов. Порт UDP 1701 используется для начальной инициализации и конфигурации. UDP 500 используется в L2TP/IPSec для инициализации обмена ключами. Протокол 50 – IPSec ESP, который используется для шифрования данных. Иногда необходимо также открывать порт UDP 4500 для обхода NAT.

Настройка клиента

В первую очередь, добавляем правила файрволла и отключаем маскарадинг для нашего VPN-подключения.

добавляем правила файрволла

отключаем маскарадинг для VPN-подключения

В разделе IP – IPSec необходимо настроить Proposal аналогично тому, как это сделано на сервере.

В разделе IP – IPSec необходимо настроить Proposal

В качестве пира будет выступать 10.50.0.10, т.е. адрес сервера в виртуальной сети. Все остальные настройки должны соответствовать тем, которые вы указали при настройке сервера.

адрес сервера в виртуальной сети

При создании политики, все адреса и подсети указываются обратно тому, как они указаны на сервере, т.е. у клиента всё наоборот.

все адреса и подсети указываются обратно тому, как они указаны на сервере

все адреса и подсети указываются обратно тому, как они указаны на сервере

Если вы всё сделали правильно, во вкладке Remote Peers у вас отобразится список пиров и используемые порты.

во вкладке Remote Peers у вас отобразится список пиров и используемые порты

Теперь необходимо открыть вкладку Installed SAs, здесь следует обратить особое внимание на значение Current Bytes – если оно равно нулю, значит, пакеты не шифруются.

открыть вкладку Installed SAs

В файрволле вы можете посмотреть движения трафика.

В файрволле вы можете посмотреть движения трафика

В файрволле вы можете посмотреть движения трафика

Что же касается загрузки процессора, в минимальной нагрузке канала для RB2011UiAS-RM она поднялась до 9-13%.

загрузка процессора до до 9-13%

Проверка производительности L2TP/IPSec

проверка производительности

Пришло время проверить производительность канала, ведь в случае с L2TP/IPSec происходит двойная инкапсуляция, что создаёт нагрузку на центральный процессор.

В однопоточном тесте, производительность нашего канала между RB2011UiAS-RM и RB941-2n упала до 17 Мбит/сек. Если увеличить количество потоков до 10, можно добиться скорости 19 Мбит/сек.

производительность нашего канала между RB2011UiAS-RM и RB941-2n упала до 17 Мбит/сек

Если увеличить количество потоков до 10, можно добиться скорости 19 Мбит/сек

Загрузка процессора обеих устройств при этом составляет 95%, что немало. Это та цена, которую приходится платить за безопасность передаваемых данных.

Загрузка процессора 95%

Загрузка процессора 95%

Для получения высокой производительности по L2TP/IPSec следует покупать оборудование более высокого уровня, либо собирать маршрутизатор на PC + RouterOS. Если вы выбираете вариант покупки производительного маршрутизатора, обратите внимание на наличие аппаратного блока шифрования, что существенно увеличит производительность.

оборудование

! Если кому-то инструкция кажется большой и сложной, попробуйте воспользоваться этой инструкцией по объединению офисов через VPN (l2tp).

Похожие статьи