====== l2tp ====== {{l2tp.odt|Original file}} {{настройка_l2tp_соединений_в_netshe._с_примерами_Image_0.gif?80}} **NETSHe Lab** - - - - - - - - **Настройка ****L****2****TP**** соединений средствами NETSHe OS** (c) 2020, NETSHeLabLtd Ярославль Данное руководство не включает в себя описания настройки подключений к сети Интернет или иным IP-сетям, теоретические вопросы протокола L2TP и настройку маршрутизации. Предполагается, что данные вопросы известны пользователю по соответствующим разделам документации NETSHe OS, а так же прочим общедоступным источникам. ====== Теоретическая часть ====== NETSHe OS, поддерживает возможность организации L2TP сервера, а так же клиентского подключения к серверам L2TP, в том числе реализованных на серверах под управлением других операционных систем или на телекоммуникационном оборудовании других производителей. Традиционно наиболее часто L2TP применяется для туннелирования соединений через публичную сеть Интернет с целью безопасной передачи приватного трафика между сегментами своей сети или дружественными локальными сетями. Приятным бонусом в этой схеме является то, что со стороны клиента L2TP не требует статического и даже динамического публичного IP адреса, успешно устанавливая соединение из-за NAT (NetworkAddressTranslation), применяемого на оборудовании периметра частной сети или на оборудовании оператора связи. Фактически, L2TPсоединение - это туннель для передачи пакетов третьего уровня модели OSI поверх четвертого уровня (UDP). Для каждого такого туннеля существует нижележащий локальный интерфейс и удаленный серверный интерфейс, образующие пару внешних адресов туннеля. L2TP соединение может быть установлено только после получения IP-адреса нижележащим интерфейсом, и только при наличии рабочего маршрута до серверного адреса через нижележащий интерфейс (случай с прохождением маршрута по-умолчанию через L2TP интерфейс будет рассмотрен ниже). L2TP соединение не может автоматически устанавливать маршруты: * на клиенте за исключением маршрута по-умолчанию * на сервере — маршрут по-умолчанию; иные маршруты могут быть установлены через специальный RADIUS-аттрибут для конкретного соединения. **Пожалуйста, обратите внимание!** Для нормального функционирования L2TP соединения адрес удаленной стороны туннеля (сервера для клиента; клиента для сервара) должен быть доступен через нижележащий интерфейс. Возможности авторизации подключения к серверу, автоматической замены маршрута по-умолчанию на новый сделали L2TP (наряду с PPTP) популярным средством подключения к сетям Интернет сервис провайдеров. Довольно быстро подключения к серверам L2TP стали использоваться как сервисы в Интернете и использоваться для разных нужд: как VPN туннели для обхода корпоративных или национальных стандартов, в целях сокрытия источника трафика от сервисов GeoIP и прочих. Клиентские L2TP соединения в NETSHe OS имеют названия l2tp, l2tp1 и т. д. Серверные L2TP соединения имеют имена типа pppX, где X- положительное целое число. В другом руководстве от нашей лаборатории «Настройка объединения сегментов Ethernet-сетей через IP-сети средствами NETSHe OS» рассматривается более сложный пример применения L2TP в качестве одной ступени в каскаде последовательного применения разных сетевых протоколов. ===== Ограничения реализации ===== - Применение L2TP в серверной части требует наличия центрального устройства (сервера или шлюза), имеющего постоянное подключение к IP сети (например, Интернет) и постоянный IP-адрес (либо настроенное разрешение символьного имени в IP-адрес). ====== Общие программно-аппаратные требования ====== ===== Требования, предъявляемые к серверу ===== Серверная часть L2TP может быть настроена почти во всех реализациях NETSHeOS: на физическом сервере, в облачном окружении на виртуальной машине, в составе встроенного программного обеспечения большинства телекоммуникационных устройств с ролью маршрутизатора. Единственным обязательным условием является наличие соответствующего программного пакета в составе прошивки. Сервер должен иметь, как минимум, один внешний интерфейс, соединенный с IP сетью, через которую осуществляется соединение с конечными устройствами, например, Интернет. Настройки внешнего интерфейса (встроенного МСЭ) должны допускать UDP пакеты на порт 1701. При планировании аппаратной или виртуальной части стоит исходить из: * минимальных нагрузок в части дисковой подсистемы; * незначительных запросов в части оперативной памяти (один активный клиент — примерно 1 мегабайт памяти); * значительной нагрузки в процессорной части (не менее 1 процессорного ядра на 50-100 активных клиентов (зависит от объема трафика) и одно дополнительное ядро на каждые 200 пользователей. Рекомендуются производительные процессорные ядра). ===== Требования, предъявляемые к клиенту ===== Клиентское L2TP-соединение не является ресурсоемким и не предъявляет каких-либо существенных требований. Единственным требованием является наличие маршрута до сервера через нижележащий интерфейс при использовании маршрута по-умолчанию через L2TP соединение. При использовании L2TP для клиентского доступа в Интернет операторами связи, указанное выше требование реализуется передачей маршуртов до L2TP сервера(ов) в составе DHCP настроек. В ином случае следует озаботиться настройкой такого маршрута самостоятельно, согласно руководства по статической маршрутизации NETSHe. **Пожалуйста, обратите внимание!**В случае использования символьного имени для L2TP сервера и разрешении имени в более чем один IP-адрес, **следует настроить маршруты до каждого адреса**. ====== Настройка клиентаL2TP ====== ===== Настройка интерфейса ===== Перейдите в меню «Сеть→Интерфейсы / Network→Interfaces», введите имя нового интерфейса l2tp, как показано ниже, и нажмите кнопку «Новый/New». {{настройка_l2tp_соединений_в_netshe._с_примерами_Image_1.png?388}} Рисунок 3. Создание нового интерфейса Встроенное программное обеспечение некоторых устройств с NETSHe OS может иметь шаблон конфигурации, имеющий предварительно (полностью или частично) настроенные L2TP-соединение и Ethernet-порт (интерфейс), что может облегчить настройку. Также, подобные настройки могут быть автоматически установлены на устройство через NETSHe NMMS. Тем не менее, рассмотрим настройку режима в полном объеме. На данном этапе мы рассматриваем наличие проводного подключения к сети Интернет через вышестоящий маршрутизатор; доступность настроенного сервера L2TP, адресуемого по символьному имени или IP-адресу; наличия у пользователя пары «имя пользователя/пароль» для L2TP подключения. Чуть позже опишем, какие коррективы нужно внести, чтоб использовать вариант непосредственного подключения к Интернет через сотовую сеть. После нажатия кнопки «New» Вы будете переадресованы на страницу ввода настроек L2TP-подключения, как показано на рисунке ниже. {{настройка_l2tp_соединений_в_netshe._с_примерами_Image_2.png?642}} Рисунок 4. Пример настройки L2TP соединения Заполните: * поля «Имя пользователя / Username», «Пароль / Password; * поле «L2TP сервер / L2TP server» именем или адресом L2TP сервера; * поле «Устройство или интерфейс, который будет использован(о) для установки соединения / Device or interface used to establish connection» именем WAN интерфейса клиентского устройства. * Если Вам необходимо, чтобы весь трафик шел от устройства через L2TP сервер, очистите поля «Не заменять текущий маршрут по умолчанию / Do not replace existing default route» и «Не заменять серверы имен от провайдера» и не забудьте настроить (проверить получение) маршрут до сервера через нижележащий интерфейс. Перейдите на вкладку «Дополнительно / Additional » и выберите зону WAN для интерфейса, как показано ниже, и нажмите кнопку «Сохранить / Save». {{настройка_l2tp_соединений_в_netshe._с_примерами_Image_3.png?527}} Рисунок 5. Задание зоны WAN для L2TP-соединения. ===== Настройка маршрута до L2TP-сервера ===== Еще раз отметим, что существует два варианта построения маршрутизации через L2TP туннель: направление в туннель маршрута по умолчанию либо создание на обеих сторонах туннеля маршрутов в удаленную сеть. Если по условиям задачи, нам необходимо направить маршрут по-умолчанию через L2TP соединение, а маршрут до сервера не получен автоматически, нам предстоит озаботиться этим самостоятельно. Маршрут по-умолчанию будет устанавливаться после снятия галки «Не заменять текущий маршрут по умолчанию» в настройках интерфейса l2tp. Создадим статический маршрут до сервера. Для этого нужно выбрать пункт меню «Маршрутизация→Статические маршруты / Routing→Staticroutes», и добавить соответствующую строку с маршрутом. {{настройка_l2tp_соединений_в_netshe._с_примерами_Image_4.png?618}} Рисунок 6. Задание статического маршрута до L2TP-сервера. ===== Пример. Настройка L2TP-клиента через сотовое соединение ===== Если наше устройство имеет сотовый модем, то от схемы с проводным Ethernet-подключением изменения будут минимальны, а именно: * В настройках интерфейса l2tp следует указать имя интерфейса, использующегося для соединения, как wwan0 или cellular. * Маршрут по умолчанию и статический маршрут до сервера L2TP должны проходить через сотовый интерфейс. Отметим, что интерфейсы wwan0 и cellular не оперируют ARP-запросами, а адрес шлюза в такой сети определить не представляется возможным. Следовательно, поле «шлюз» у маршрутов должно быть пустым. Прежде всего следует убедиться, что модем работает, а СИМ-карта зарегистрировалась в сети Оператора. Затем заменить интерфейс привязки в настройках интерфейса l2tp и в списке статических маршрутов. После изменения маршрутов устройство лучше перезагрузить. {{настройка_l2tp_соединений_в_netshe._с_примерами_Image_5.png?495}} Рисунок 7. Статус интерфейса wwan0. {{настройка_l2tp_соединений_в_netshe._с_примерами_Image_6.png?642}} Рисунок 8. Настройки интерфейса l2tp. {{настройка_l2tp_соединений_в_netshe._с_примерами_Image_7.png?642}} Рисунок 9. Статические маршруты. ====== Результат. Проверка работоспособности. ====== В качестве проверки работоспособности туннеля L2TP решим две задачи доступа: * к веб-интерфейсу для управления клиентским устройством, * к удаленному рабочему столу компьютера, находящемуся в LAN клиентского устройства. После проведенных настроек туннель L2TP должен подняться, а у интерфейса l2tp должны быть показаны текущий выданный туннельный адрес и статистика трафика. {{настройка_l2tp_соединений_в_netshe._с_примерами_Image_8.png?466}} Рисунок 10. Интерфейс l2tp в активном состоянии. ===== Пример. Доступ к WebUI устройства, подключенного кL2TP-серверу ===== Данная задача — это проброс какого-то порта через адрес в сети Интернет, ассоциированного с L2TP-сервером на порт клиентского устройства или устройство/адрес за клиентским устройством. Доступ к его веб-интерфейсу – частный случай этой задачи. Веб-интерфейс управления устройства с NETSHeOS привязывается к любому из его интерфейсов, а так же возможна привязка ко всем интерфейсам. Стандартным портом для WebUI является TCP 80. Однако есть возможность изменить этот порт. ПустьL2TP-сервер пробрасывает порты 11600-11700 через L2TP туннель. Выберем порт 11601 для доступа к веб-интерфейсу. Мы должны заменить порт 80 на 11601 для веб-интерфейса, а так же убедиться, что удаленный доступ привязан к интерфейсу l2tp. Для этого следует выбрать пункт меню «Система→Базовые настройки системы / System→Basesettings» и далее вкладку «Удаленный доступ к устройству / Remoteaccess», установить параметры, как показано на картинке: {{настройка_l2tp_соединений_в_netshe._с_примерами_Image_9.png?642}} Рисунок 11. Настройка удаленного доступа. Далее следует перейти в пункт меню «Сеть→Межсетевой экран / Network→Firewall» и разрешить пропуск TCP:11601 для зоны WAN. Перегрузить службу сетевого экрана. {{настройка_l2tp_соединений_в_netshe._с_примерами_Image_10.png?642}} Рисунок 12. Настройка сетевого экрана. Для интерфейса l2tp требуется установить галки «Не заменять маршрут по-умолчанию» и «Не использовать сервера имен провайдера». Задавать маршрут до сервера не нужно. Останется на любом компьютере, имеющем доступ в Интернет, открыть WebUI устройства, находящегося за туннелем L2TP. Для этого в браузере следует ввести URL-адрес: [[http://185.x.y.151:11601/|http]][[http://185.x.y.151:11601/|://185.]][[http://185.x.y.151:11601/|x]][[http://185.x.y.151:11601/|.]][[http://185.x.y.151:11601/|y]][[http://185.x.y.151:11601/|.151:11601]] , где 185.x.y.151 адрес L2TP-сервера. ===== Пример.Доступ к компьютеру за туннелем L2TP ===== Задача доступа к любым устройствам за туннелем решается пробросом портов (DNAT или PAT в разных терминологиях) на устройстве – клиенте L2TP. В данном случае нам придется для проброса использовать TCP-порт 11602, который в процессе сопоставления NAT будет заменен на 3389 (стандартный порт MicrosoftRDP). Для этого в пункте меню «Сеть→Межсетевой экран/ Network→Firewall» нужно настроить правило пересылки и разрешить пропуск TCP:11602 для зоны WAN. После чего перегрузить службу МСЭ, выставив соответствующую галку рядом с кнопкой «Сохранить / Save». **{{настройка_l2tp_соединений_в_netshe._с_примерами_Image_11.png?642}}** Рисунок 13. Настройка сетевого экрана. Далее мы можем убедиться, что проброс порта 11602 внутрь сети за клиентским устройством работает: {{настройка_l2tp_соединений_в_netshe._с_примерами_Image_12.png?642}} Рисунок 14. Два работающих подключения к WebUI клиента-L2TP и RDP к удаленному компьютеру. ====== Заключение. ====== В виду очевидной простоты и удобства в работе, L2TP может использоваться в комбинации с различными протоколами качестве средства обхода NAT, туннелирования трафика уровней L2-L7, а так же во многих других случаях. Для выяснения всех деталей применения пользователю следует обратиться в нашу техподдержку или на сайт «Нетше лаб»: [[http://www.netshe-lab.ru/|http]][[http://www.netshe-lab.ru/|://]][[http://www.netshe-lab.ru/|www]][[http://www.netshe-lab.ru/|.]][[http://www.netshe-lab.ru/|netshe]][[http://www.netshe-lab.ru/|-]][[http://www.netshe-lab.ru/|lab]][[http://www.netshe-lab.ru/|.]][[http://www.netshe-lab.ru/|ru]][[http://www.netshe-lab.ru/|/]] Специалисты нашей компании помогут Вам по любым вопросам, в том числе связанным с криптографической защитой L2TP соединений, если такое предусмотрено и урегулировано в ваших проектах.