Объединение двух офисов по VPN на Mikrotik.
Задача стоит “подключить два удаленных офиса между собой по VPN”.
В обоих офисах стоят маршрутизаторы Mikrotik.
Адресация офисов.
Адресация Офиса 1 (MSK), который будет у нас VPN-сервером:
WAN 88.53.44.1
LAN 192.168.10.0/24
VPN 192.168.60.1
Адресация Офиса 2(SPB), который будет VPN-клиентом:
WAN 88.53.55.2
LAN 192.168.20.0/24
VPN 192.168.60.2
Настройка VPN-server.
1. Первый маршрутизатор в офисе MSK.
Включаем VPN-Server.
2. Создаем пользователя, который к нам будет подключаться.
3. Добавляем интерфейс сервера.
Настройка VPN-клиента.
Второй маршрутизатор в офисе SPB, создаем клиентское подключение к головному офисе в Москве. Пользователь с именем User, пароль 1225555
Маршрутизация офисов.
Теперь, после создания подключений на маршрутизаторах, нам нужно прописать статически маршруты в локальные сети через VPN на Mikrotik в обоих офисах.
Начнем с первого офиса в MSK:
dst-address – указываем локальную сеть офиса в SPB, к которой будем подключаться.
gateway – шлюз через который будем подключаться к сети, ip VPN клиента.
pref. source – указываем свою локальную сеть, с которой будем выходить.
Второй офис в SPB:
Заключение
Таким образом мы объединили два офиса между собой позволив пользователям чувствовать себя в одной сети и использовать внутренние общие ресурсы.
Если вы не видите общие ресурсы компьютеры офисов между собой или не проходит ping – отключите на обоих машинах firewall и проверьте открытость UDP порта 1701.
ADSL 2/2+ маршрутизатор и IPSEC PPTP и L2TP VPN-сервер со встроенной беспроводной точкой доступа стандарта IEEE 802.11g D-Link DSL-G804V
В прошлой части обзора были рассмотрены настройки устройства и производительность его базовых функций. В этой части обзора будут рассмотрены настройки и производительность VPN-сервера, а также возможности шейпинга трафика устройства.
Устройство содержит в себе сразу 3 VPN-сервера: PPTP, IPSec, L2TP.
PPTP-сервер поддерживает PAP/CHAP-аутентификацию, а также 40-битное и 128-битное MPPE-шифрование. IPSec VPN-сервер позволяет производить авторизацию только по предварительному ключу и использовать DES, 3DES, AES128, AES192, AES256 шифрование. L2TP VPN-сервер позволяет использовать PAP/CHAP аутентификацию и использовать те же алгоритмы шифрования, что и IPSec VPN-сервер.
Все тесты проводились при использовании режима ADSL2+ как позволяющего развить максимальную скорость.
IPSec VPN-сервер
Как уже говорилось выше, IPSec VPN-сервер позволяет использовать 5 видов шифрования: DES, 3DES, AES128, AES192, AES256. Так как ОС Windows XP не поддерживает AES-шифрования, для тестирования были использованы стендовые компьютеры под управлением ОС Gentoo Linux 2.6.11. В спецификации на устройство на сайте компании D-Link сказано, что оно имеет аппаратное ускорение алгоритма 3DES. О количестве возможных одновременных VPN-соединений ничего не говорится. Также устройство не позволяет устанавливать ключи в ручном режиме — их получение возможно только через механизм IKE (Internet Key Exchange).
Туннели создавались между роутером и компьютером под управлением Gentoo Linux, находящимся в WAN-сегменте роутера. Тесты проводились с использованием 3DES, AES128 и AES256 шифрования. DES-шифрование считается уже недостаточно криптостойким, поэтому тесты с его использованием не проводились. AES128 — AES-шифрование со стандартной длиной ключа, равной 128 битам. AES256 — AES-шифрование с удвоенной длиной ключа, равной 256 битам. Тестирование производительности при использовании шифрования AES192 также не проводилось — результаты скорости должны быть средней величиной между результатами при использовании AES128 и AES256 шифрования.
Производительность IPSec, 1 туннель.
Посмотрим на полученные результаты: по тестам в полудуплексном режиме видно, что реализация аппаратного 3DES ускорения в устройстве действительно присутствует и прекрасно работает. При его использовании скорость прямого канала составляет 7,765 Мбит/с. Скорость трафика при использовании AES-шифрования значительно ниже и составляет 3,164 Мбит/с при использовании AES128 и 2,536 Мбит/с при использовании AES256 шифрования.
Производительность IPSec, 2 туннеля
Судя по графику, 3DES-шифрование снова занимает лидирующие позиции по скорости. Максимальная скорость при его использовании: 8.23 Мбит/с. Остальные скорости остаются примерно на том же уровне.
Производительность IPSec, 3 туннеля
Судя по данным диаграммы, скорость трафика распределяется между туннелями достаточно равномерно.
Максимальная скорость трафика при использовании 3DES-шифрования составляет
PPTP VPN-сервер
PPTP VPN-сервер устройства позволяет устанавливать PPTP-соединения с использованием как PAP, так и CHAP аутентификации. Возможно использование MPPE (Microsoft Point-to-Point Encryption) шифрования с ключом длиной 40 и 128 бит.
Однако при создании аккаунта, указание типа аутентификации никак не влияет на устанавливаемое соединение. То есть при попытке установить соединение из-под Windows XP с параметрами по умолчанию, постоянно использовалась MS-CHAPv2 аутентификация, даже если в параметрах аккаунта четко было сказано использовать только PAP-аутентификацию. Использовать именно PAP-аутентификацию можно, только отключив CHAP на стороне клиента. Возможно также использование сервера в качестве PPTP-клиента. При использовании PAP-аутентификации, невозможно использование шифрования.
После создания аккаунта, его можно включить и выключить. Параметры включенного аккаунта нельзя изменять.
Тестирование проводилось только при использовании 128-битного MPPE-шифрования.
Список включенных аккаунтов и установленных соединений можно увидеть в окне статуса PPTP-соединений
В качестве клиентов выступали стендовые компьютеры под управлением ОС Windows XP.
1 PPTP туннель, MPPE128-шифрование
Максимальная скорость: 6,062 Мбит/с
2 PPTP туннеля, MPPE128-шифрование
Максимальная скорость немного повысилась по сравнению с аналогичным тестом с использованием 1-го PPTP-туннеля.
3 PPTP туннеля, MPPE128-шифрование
Максимальная скорость при использовании PPTP-сервера — 6,663 Мбит/с.
При использовании PPTP-сервера без использования шифрования, скорость трафика существенно возрастает и составляет 13,625 Мбит/с.
L2TP VPN-сервер
L2TP VPN-сервер использует для шифрования IPSec (с использованием алгоритмов DES, 3DES, AES128, AES192, AES256), а аутентификация производится при использовании протоколов PAP/CHAP.
При использовании встроенных в Windows XP средств VPN, использование любого алгоритма из набора AESxxx-алгоритмов шифрования невозможно (Windows XP попросту не поддерживает AES-шифрование). По этой причине тестирование проводилось только при использовании 3DES-шифрования.
В качестве клиентов использовались стендовые компьютеры под управлением Windows XP SP2.
1 L2TP-туннель, 3DES-шифрование
Максимальная скорость: 13,436 Мбит/с.
2 L2TP-туннеля, 3DES-шифрование
Максимальная скорость: 15,097 Мбит/с. Максимальная скорость несколько выросла по сравнению с аналогичным тестом с одним L2TP-туннелем.
3 L2TP-туннеля, 3DES-шифрование
В полудуплексном режиме
В полнодуплексном режиме
Максимальная скорость: 15,488 Мбит/с — при использовании трех туннелей максимальная скорость возросла по сравнению со скоростью, полученной при использовании двух туннелей.
При отключении шифрования, максимальная скорость трафика составила 13,377 Мбит/с (при использовании первого туннеля). Явно видно, что аппаратное ускорение 3DES шифрования прекрасно работает и практически не влияет на скорость трафика, однако не ясно, почему при использовании 3DES-шифрования в IPSec VPN сервере не удается достичь столь высоких скоростей.
Теперь перейдем к возможностям шейпинга трафика устройства.
IP QoS
Рассматриваемый роутер позволяет производить шейпинг трафика в зависимости от адресов источника и назначения, протоколов (tcp/udp/icmp/gre) и портов (в случае использования протоколов tcp или udp). Шейпинг трафика можно производить дискретно с шагом в 32 кбит/с. Правила шейпинга задаются отдельно для входящего и исходящего трафика.
Рассмотрим настройку шейпинга трафика более подробно:
Каждому правилу шейпинга можно сопоставить расписание.
Помимо этого есть возможность приоритезации пакетов, и возможность проставлять биты ToS в зависимости от адресов источника/назначения, протоколов и портов (в случае использования TCP или UDP протокола). Приоритезацию можно проводить только для исходящего трафика — это сделано для того, чтобы при полной загрузке обратного канала один поток не занял всю ширину обратного канала (которая в технологии ADSL значительно меньше ширины прямого канала).
Для трафика с высоким приоритетом резервируется 60% ширины канала, для нормального приоритета — 30% и для трафика с низким приоритетом — 10% ширины канала.
Проведем для начала тесты с дискретным указанием ширины канала. Начнем с шейпинга трафика прямого канала.
Тест 1: ширина прямого канала устанавливалась в 32 кбит/с (значение Rate Limit равнялось 1). Тест проводился на пакетах максимального размера. Посмотрим, насколько точно результат соответствует установленным параметрам.
Как можно увидеть, скорость трафика достаточно точно соответствует заданным параметрам. Скорость трафика составляет 0,031 Мбит/с (30,272 Кбит, при учете, что 1 Кбит/с = 1024 бит/с).
Тест 2: Теперь увеличим ширину прямого канала в 10 раз по сравнению с предыдущим тестом до 320 кбит/с (значение Rate Limit составляет 10).
Скорость трафика возросла в 10 раз по сравнению с предыдущим тестом и составила 0,312 Мбит/с.
Тест 3: Теперь посмотрим, насколько изменится скорость трафика при изменении ширины канала на малую величину. Изменим значение параметра Rate Limit на 1 по сравнению с предыдущим тестом (теперь оно равно 11). Ширина канала должна измениться на 32 кбит/с.
Скорость трафика составляет 0.338 Мбит/с — то есть скорость трафика изменилась на 0,026 Мбит/с (по идее должна была измениться на 0,032 Мбит/с, ошибка составляет около 15%). Видимо, при увеличении ширины канала, точность исполнения правил шейпера несколько падает.
Далее я попробовал провести тесты с несколькими потоками, задав им различную ширину канала, но столкнулся с некоторыми сложностями в настройке. При попытке создать 2 правила, со значениями Rate Limit равными 10 и 50, я получил следующую картину:
То есть создавая первое правило (с названием «abc») все прошло нормально, но при создании второго правила (с названием «djn»), значение параметра Rate Limit устанавливалось в значение 32, вместо заданных 50. Если те же операции проделать в обратном порядке (сначала создать поток с Rate Limit равным 50, а затем с Rate Limit равным 10), то получится следующая картина
В ряде случаев мне удавалось получить даже такую картину
и честно говоря, мне не особо понятно, чем вызвано такое расхождение задаваемых с установившимися параметрами (на последнем рисунке задаваемые значения Rate Limit составляют 50 и 70 соответственно). Не всегда задавая одни и те же значения, я получал одинаковые значения установившихся значений.
Тест 4: Было создано 2 правила. Ширина канала, заданная в первом правиле составляет 10 * 32 кбит/с (значение Rate Limit равно 10), а во втором правиле — 40 * 32 кбит/с (значение Rate Limit равно 40). Установившиеся значения Rate Limit показаны на скриншоте
Как видим, на заданные значения Rate Limit 10 и 40, установившиеся значения составили 10 и 25. Посмотрим на результаты теста
Как видно из графика, различия в скоростях потока больше схожи с установившемся распределением значений Rate Limit (10/25), нежели с заданным (10/40).
В случае с обратным каналом, тесты с использованием одного потока, практически полностью повторяют картину, полученную при тестировании прямого канала. При создании нескольких правил шейпинга, таких проблем как с прямым каналом (когда заданные значения Rate Limit не соответствуют установившимся параметрам) не наблюдалось — любые значения устанавливались без проблем
При тестировании шейпинга трафика при использовании нескольких потоков, результат наблюдался только на одном потоке, второй поток почему-то не подвергался шейпингу. В итоге при задании для каждого потока одинаковой ширины канала равной 160 кбит/с (значение Rate Limit равнялось 5), получалась следующая картина
Видно, что первый поток подвергается шейпингу (коричневая кривая), а второму потоку (зеленая кривая) почему-то достается вся оставшаяся ширина канала.
Теперь рассмотрим возможности приоритезации исходящего трафика.
Так как в технологии ADSL скорость обратного канала значительно ниже скорости прямого, то может возникнуть ситуация, что вся его пропускная способность будет полностью использована. При этом менее чувствительные к скорости трафика приложения (закачка файлов на FTP) могут парализовать более чувствительные (IP-телефония). Данная возможность также позволяет проставлять биты ToS (Type of Service), что позволяет правильнее обрабатывать их другими маршрутизаторами.
По умолчанию всему исходящему трафику назначается нормальный приоритет. Создание правила позволяет установить только высокий или низкий приоритет трафика
В документации сказано, что на потоки с низким приоритетом выделяется 10% ширины канала, со средним — 30%, с высоким — 60%. Судя по всему, такое распределение должно быть только при полной загрузке обратного канала.
Проведем несколько тестов:
Тест 1: запустим 2 потока, которым назначим высокий и низкий приоритеты, чтобы посмотреть, как распределяется ширина полосы межу ними.
По графику видно, что потокам с различными приоритетами выделяется различная ширина канала. Скорость трафика потоков отличается примерно в 2 раза.
Тест 2: запустим 3 потока трафика с высоким, нормальным и низким приоритетом — это позволит увидеть отличается ли распределение ширины полосы пропускания от указанных в документации (60%/30%/10%)
Все приоритеты назначаются верно. Распределение полосы между потоками отличается от 60/30/10 (для потоков с высоким/нормальным/низким приоритетами соответственно) совсем незначительно и составляет 54,3/31,4/14,3.
Тест 3: запустим 3 потока последовательно с интервалом между запусками в 1 минуту. Сначала запустим поток с низким приоритетом, минуту спустя — со средним, еще минуту спустя — с высоким, и посмотрим, как перераспределяется ширина канала при запуске потока с другим приоритетом
Как видно из графика, при наличии только одного потока, вся ширина полосы пропускания отдается ему вне зависимости от установленного приоритета. При включении потоков с более высокими приоритетами, практически сразу происходит перераспределение скоростей в соответствии с установленными приоритетами.
Выводы:
Подводя итоги, сразу отмечу, что присутствуют как положительные, так и отрицательные стороны — что-то работает хорошо, а что-то — хуже, чем хотелось бы.
IPSec VPN-сервер поддерживает AES-шифрование с различной длиной ключа (128 бит, 192 бит, 256 бит). Устройство имеет аппаратную поддержку ускорения 3DES-шифрования, что четко прослеживается в результатах тестов. При увеличении числа VPN-туннелей (в пределах трех туннелей), суммарного падения скорости не наблюдается.
PPTP VPN-сервер поддерживает MPPE-шифрование с длиной ключа 40 и 128 бит. Использование PAP или CHAP — аутентификации не зависит от настроек сервера (то есть если на сервере задано использование CHAP-аутентификации, а на клиенте установлено использование PAP-аутентификации, то подключение все равно будет установлено с настройками клиента).
L2TP VPN-сервер может передавать данные без использования шифрования, а может использовать для шифрования IPSec.
Шейпинг трафика может производиться дискретно с шагом в 32 кбит/с, однако при задании правил для входящего трафика, заданные значения ширины канала отличаются от установившихся (то есть если я создаю 2 правила и ставлю значения Rate Limit равные 10 и 40, то установившимися значениями будут 10 и 25 и работать правила будут именно по установившимся значениям). При задании правил для исходящего трафика установившиеся значения соответствуют заданным, но при создании более чем одного правила, работает только одно, а остальные как будто игнорируются.
Задание приоритетов для потоков исходящего трафика работает практически так, как и должно работать.
Mppe128 stateless что это
Microsoft Point-to-Point Encryption (MPPE) — протокол шифрования данных, используемый поверх соединений PPP. Использует алгоритм RSA RC4. MPPE поддерживает 40-, 56- и 128-битные ключи, которые меняются в течение сессии (частота смены ключей устанавливается в процессе хэндшейка соединения PPP, есть возможность генерировать по новому ключу на каждый пакет).
MPPE не сжимает данных, но часто используется совместно с Microsoft Point-to-Point Compression, предназначенным для этих целей.
MPPE поддерживается далеко не всеми бытовыми маршрутизаторами и, на текущий момент, является частым источником несовместимости оборудования при работе в российских локальных домовых сетях. Такое устройство не сможет пройти аутентификацию на сервере, если в настройках соединения последнего активировано шифрование.
Метод MPPE (Microsoft Point-to-Point Encryption) используется для шифрования данных в подключениях удаленного доступа на базе протокола PPP (Point-to-Point Protocol) или подключениях к виртуальной частной сети (VPN — virtual private network) по протоколу PPTP (Point-to-Point Tunneling Protocol). Поддерживаются схемы шифрования MPPE с 128-разрядным ключом (усиленная), с 56-разрядным ключом и с 40-разрядным ключом (стандартная). MPPE обеспечивает безопасность данных для подключений PPTP между VPN-клиентом и VPN-сервером.
MPPE требует использования ключей шифрования, генерируемых в процессе проверки подлинности по протоколу MS-CHAP (Microsoft Challenge Handshake Authentication Protocol), MS-CHAP v2 (Microsoft Challenge Handshake Authentication Protocol версии 2) или EAP-TLS (Extensible Authentication Protocol-Transport Level Security).
Чтобы включить шифрование данных с использованием MPPE на подключениях VPN, необходимо активизировать проверку подлинности по протоколу MS-CHAP, MS-CHAP v2 или EAP-TLS. Все эти методы проверки подлинности генерируют ключи, используемые в процессе шифрования.
Методы шифрования, используемые в виртуальных частных сетях (VPN), зависят от типа сервера, к которому они подключаются. Если подключение VPN настроено на связь через сервер PPTP, применяется шифрование MPPE. Если подключение VPN устанавливается через сервер L2TP, используются методы шифрования IPSec. Если VPN-подключение настроено на автоматический выбор типа сервера (по умолчанию), то сначала предпринимается попытка использовать протокол L2TP и связанное с ним шифрование IPSec, а затем — PPTP и шифрование MPPE.
Windows 7/10 подключение по PPTP MPPE-128
После серии объяснений о том как же подключиться к PPTP использующему MPPE-128 я решил написать ещё одну заметочку. Для того, чтобы создать новое подключение необходимо возле системных часов найти иконку в виде мониторчика с сетевым кабелем. На ней необходимо нажать правой кнопкой мышки.
После нажатия левой кнопкой мышки появится вот такое меню:
В этом меню необходимо выбрать «Центр управления сетями и общим доступом». После чего откроется следующее окно:
В этом окне выбирать «Создание и настройка нового подключения или сети», Откроется окно:
Теперь в этом окне выбираем «Подключение к рабочему месту». Откроется ещё одно окно:
Возможно у вас не будет этого окошка, но если оно плявится, то необходимо выбрать пункт: «Нет, создать новое подключение». Далее откроется окно:
Выбираем пункт: «Использовать мое подключение к Интернету (VPN)» и попадаем в следующую форму:
В этой форме необходимо заполнить два поля. Адрес в Интернете и название подключения. Адрес берём у администратора (на форуме указано как server). Жмём Создать. Всё, подключение создано, теперь надо немного подредактировать это подключение. Для этого, находясь в окне «Центр управления сетями и общим доступом» в левой колонке выбираем пункт: «Изменение параметров адаптера». Откроется следующее окно:
Теперь на созданном нами подключении нажимаем правой кнопкой мышки и в выпавшем меню выбираем пункт Свойства. В открывшемся окне выбрать вклвдку Безопасность.
В открывшемся окошке необходимо установить:
Тип VPN: Туннельный протокол точка-точка (PPTP)
Шифрование данных: обязательное
Установить галочку на: Разрешить следующие протоколы
Установить галочку на: Протокол Microsoft CHAP версии 2
После этого настройку подключения мозно считать законченной. При двойном нажатии на подключении у вас будет запрошел логин и пароль для подключения к сети. Соответственно логин и пароль необходимо спросить у администратора.
Если подключиться не получается, то скорей всего проблема заключается в том, что вы подключены через роутер.
Update: небольшое дополнение о том как запустить подключение в Windows 10. Чтобы в десятке запустить подключение необходимо возле системных часов найти иконку в виде мониторчика с сетевым кабелем. На ней необходимо нажать левой кнопкой мышки. После этого откроется список подключений.
Выбираем созданное нами подключение. После этого откроется окно с подключениями. В семёрке бы после этого началось подключение, а в десятке мы опять попадаем в список подключений.
Жмём на нужное нам подключение. Появится несколько кнопок:
Жмём кнопку «Подключить» и у нас спросят логин/пароль.
Опять же эти данные необходимо спросить у администратора сети (указан на форуме). Если всё было сделано правильно, ваш роутер пропускает GRE и не блокирует определённые порты, то вы увидите, что соединение подключено:
Для разъединения необходимо нажать на кнопочку «Отключиться».
Этот сайт использует файлы cookies, чтобы упростить вашу навигацию по сайту, предлагать только интересную информацию и упростить заполнение форм. Я предполагаю, что, если вы продолжаете использовать мой сайт, то вы согласны с использованием мной файлов cookies. Вы в любое время можете удалить и/или запретить их использование изменив настройки своего интернет-браузера.












































