Найти тему

Объединяем свои офисы/квартиры единой сетью VPN

Доброго дня, уважаемые! Хочу рассмотреть простенький случай для объединения офисов компании (если вы сисадмин) или нескольких квартир/дачу/родителей (если для домашнего использования) в единую локальную сеть. Использовать мы будем, как обычно, Mikrotik, конфиг я расшифрую и обговорим разные сложные и не очень моменты в настройке.

Я сетевой инженер в большой компании, пишу статьи про сетевое оборудование, сетевые технологии и околоАЙТИшные темы. Рассматриваю возможности разного оборудования, вместе с вами продолжаю изучать разный функционал и привожу конкретные примеры того, что сделано и как сделано. Это не призыв к действию и не точный мануал - в моих статьях бывают ошибки, которые я всегда готов обсудить в комментариях. Прошу следовать правилам платформы, не нарушать законодательство РФ, не оскорблять других людей и все будет норм!
Моя тележка - добро пожаловать!

Если представить графически, что такое VPN (Virtual Private Network - виртуальная частная сеть), то это можно изобразить, как на рисунке выше. Т.е. у вас, например, два офиса или две квартиры с выходом в интернет - их можно объединить в единую "зону", в которой на всех компьютерах первого офиса будет доступ к компьютерам второго, и наоборот, без каких-то дополнительных настроек и шаманства. Фактически, тоже самое можно сделать, если на каждый комп поставить отдельный VPN-клиент или специальный софт, такой как TeamViewer, например, или AnyDesk. Но в этом случае работать придется с каждым компьютером отдельно и сначала нужно получить к нему физический доступ, чтобы настроить эти клиенты. Ну и второе - это все-таки, чьи-то внешние сервера, которые все данные, которые вы пересылаете с одного на другое свое устройства, обрабатывают и пускают через свои системы и мы точно не знаем, что они с ними сделают и как воспользуются в дальнейшем. Эти риски надо понимать.

Если же мы настраиваем VPN-туннели между своими роутерами (кстати, можно использовать разные роутеры, которые работают с IPSEC и в их описании сказано, что они умеют работать с VPN), то данные, которыми мы обмениваемся между своими офисами/квартирами начинают шифроваться сразу в момент выхода ip-пакета из вашего роутера.

-2

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

-3

Что нам потребуется: центральная точка, через которую мы сможем подключать все остальные. Т.е. выбрав, с учетом тарифов и других условий, наш "центр", нам необходимо сделать ему "белый ip-адрес" - это такой адрес, который сразу виден из сети интернет. Например, 8.8.8.8 или 1.1.1.1 - самые простые и известные. У каждого веб-сайта свой внешний адрес. Чтобы у нас все работало, то в центре у нас должно быть видимое для всех остальных роутеров устройство.

Далее, определяемся с адресацией. Предлагаю сразу уйти от 192.168.88.0 (это дефолтная сеть микротиков) и начать, да хоть, сначала: 192.168.0.0/24 будет в нашем "центре". Далее 192.168.1.0/24, 192.168.2.0/24, ну и т.п. А для связи, например, 192.168.255.0/30, 192.168.255.4/30, 192.168.255.8/30... Маска 30 дает нам 2 полноценных адреса, номер сети и бродкастовый адрес.

Выбрать протокол VPN, который будем поднимать между своими точками. Предлагаю не сильно мудрствовать и взять PPTP или L2TP. Первый старенький и простой, второй уже тоже старичок, но еще бодрый и его можно усилить IPSec'ом. Всякие OVPN здорово, но избыточно для наших целей. Мы же там не деньги переводить будем... Поэтому предлагаю L2TP с IPSec.

-4

1. Настроим наш "центр".

Сначала активируем сервер L2TP, в меню PPP -> Interface -> L2TP Server. Ставим галочку Enable, и говорим использовать IPSec с паролем, например, "MySecretVPNKey11"... Без кавычек, конечно.

-5

Далее проверяем, что все нужные порты для нашего ВПНа открыты. Меню IP -> Firewall. Добавляем правила:

/ip firewall filter add action=accept chain=input comment="l2tp\\ipsec" protocol=l2tp
/ip firewall filter add action=accept chain=input protocol=ipsec-esp
/ip firewall filter add action=accept chain=input dst-port=500,4500,1701 protocol=udp
Не обращайте внимание на white_list - просто я люблю ограничивать даже эти порты
Не обращайте внимание на white_list - просто я люблю ограничивать даже эти порты

Ну и добавляем l2tp профили наших удаленных точек. Меню PPP -> Secrets. В данных профилях нужно указывать 2 адреса: локальный и удаленный из диапазона 192.168.255...

#1 vpn
/ppp secret add local-address=192.168.255.1 name=my_vpn001 password="ExaLGreka4epe3Peky" remote-address=192.168.255.2
#2 vpn
/ppp secret add local-address=192.168.255.5 name=my_vpn002 password="ExaLGreka4epe3Peky" remote-address=192.168.255.6
#3 vpn
/ppp secret add local-address=192.168.255.9 name=my_vpn003 password="ExaLGreka4epe3Peky" remote-address=192.168.255.10

Ну и статические роуты до наших основных сетей. Меню IP -> Routes.

#route_192.168.1.0
/ip route add disabled=no distance=15 dst-address=192.168.1.0/24 gateway=192.168.255.2
#route_192.168.2.0
/ip route add disabled=no distance=15 dst-address=192.168.2.0/24 gateway=192.168.255.6
#route_192.168.3.0
/ip route add disabled=no distance=15 dst-address=192.168.3.0/24 gateway=192.168.255.10

Проверяем, что в центре у нас сеть 192.168.0.0/24 и переходим к настройке удаленных точек.

-7

2. Пусть первая удаленная точка будет квартирой родителей, например, с сетью 192.168.1.0/24.

#Создаем коннект L2TP к нашему "центру" с белым адресом
/interface l2tp-client add connect-to=Vash.Beliy.Add.res disabled=no ipsec-secret=MySecretVPNKey11 name=my_vpn001 password=ExaLGreka4epe3Peky use-ipsec=yes user=my_vpn001
#Правила в фаервол
/ip firewall filter add action=accept chain=input comment="l2tp\\ipsec" protocol=l2tp
/ip firewall filter add action=accept chain=input protocol=ipsec-esp
/ip firewall filter add action=accept chain=input dst-port=500,4500,1701 protocol=udp
#route_192.168.0.0 все роуты пойдут через центр
/ip route add disabled=no distance=15 dst-address=192.168.0.0/24 gateway=192.168.255.1
#route_192.168.2.0
/ip route add disabled=no distance=15 dst-address=192.168.2.0/24 gateway=192.168.255.1
#route_192.168.3.0
/ip route add disabled=no distance=15 dst-address=192.168.3.0/24 gateway=192.168.255.1

3. Далее точка 2, например, дача с сетью 192.168.2.0/24.

#Создаем коннект L2TP к нашему "центру" с белым адресом
/interface l2tp-client add connect-to=Vash.Beliy.Add.res disabled=no ipsec-secret=MySecretVPNKey11 name=my_vpn002 password=ExaLGreka4epe3Peky use-ipsec=yes user=my_vpn002
#Правила в фаервол
/ip firewall filter add action=accept chain=input comment="l2tp\\ipsec" protocol=l2tp
/ip firewall filter add action=accept chain=input protocol=ipsec-esp
/ip firewall filter add action=accept chain=input dst-port=500,4500,1701 protocol=udp
#route_192.168.1.0 все роуты пойдут через центр
/ip route add disabled=no distance=15 dst-address=192.168.1.0/24 gateway=192.168.255.1
#route_192.168.0.0
/ip route add disabled=no distance=15 dst-address=192.168.0.0/24 gateway=192.168.255.1
#route_192.168.3.0
/ip route add disabled=no distance=15 dst-address=192.168.3.0/24 gateway=192.168.255.1

4. Ну и третья точка, предположим, гараж с видеонаблюдением и беспроводным интернетом, сеть 192.168.3.0/24.

#Создаем коннект L2TP к нашему "центру" с белым адресом
/interface l2tp-client add connect-to=Vash.Beliy.Add.res disabled=no ipsec-secret=MySecretVPNKey11 name=my_vpn003 password=ExaLGreka4epe3Peky use-ipsec=yes user=my_vpn003
#Правила в фаервол
/ip firewall filter add action=accept chain=input comment="l2tp\\ipsec" protocol=l2tp
/ip firewall filter add action=accept chain=input protocol=ipsec-esp
/ip firewall filter add action=accept chain=input dst-port=500,4500,1701 protocol=udp
#route_192.168.1.0 все роуты пойдут через центр
/ip route add disabled=no distance=15 dst-address=192.168.1.0/24 gateway=192.168.255.1
#route_192.168.2.0
/ip route add disabled=no distance=15 dst-address=192.168.2.0/24 gateway=192.168.255.1
#route_192.168.0.0
/ip route add disabled=no distance=15 dst-address=192.168.0.0/24 gateway=192.168.255.1
Выдыхай!
Выдыхай!

Это самый простой и быстрый пример, чтобы объединить несколько удаленных точек в единую сеть. Не вдаваясь в подробности, не занудствуя и разжевывая каждый пункт, постарался дать вам возможность настроить себе единое пространство. А если вы уже читали мою статью Домашний VPN сервер на роутере, то у вас вообще все будет красиво! Пользуйтесь на здоровье. Если появятся вопросы - постараюсь в комментах помочь. А от вас, как обычно: лайк подписка и хорошее настроение! Не болейте и удачи!