Для перемещения по дереву справки используйте строки заголовка.

Справка по NSG Linux 2.1.6
Дерево команд: tunnel.pptp.…далее…

Что это такое?

Это настройка туннелей PPTP (Point-to-Point Tunneling Protocol).

Зачем это нужно?

Для организации сеансовых соединений, с аутентификацией пользователей и учётом потребления услуг, поверх сетей IP. Количество промежуточных физических сетей и их типы могут быть произвольными. Также может применяться для слабой защиты трафика.

Особенности туннеля PPTP и требования для его создания:

Как это настроить?

Протоколы PPPoE, PPTP и L2TP представляют собой расширения PPP, позволяющие устанавливать соединения "точка-точка", вместо физической среды, через сети Ethernet и IP, соответственно. VPN такого типа обобщённо называются Virtual Private Dial-up Networks — VPDN. Они широко применяются в сетях доступа для аутентификации, авторизации и учёта работы клиентов городских и домовых сетей Ethernet и xDSL. Все три протокола имеют ряд свойств, унаследованных от PPP:

ПРИМЕЧАНИЕ. На сегодняшний день MPPE — весьма слабая защита и не рекомендуется для передачи критически важных данных.

Протокол PPTP передаёт пакеты PPP через сеть IP при помощи общего механизма GRE. Для работы этого протокола, помимо потока датаграмм, содержащих полезную нагрузку PPP-over-GRE, организуется управляющее соединение, устанавливаемое от клиента к серверу на порт TCP 1723. По отношению к PPP оно выполняет такую же роль, как сигнал DCD в физическом соединении.

PPTP удобен для решения задачи обратного доступа из головного офиса в филиалы, которые подключены к сетям общего пользования (как проводным, так и беспроводным) посредством базовой услуги — с динамическими приватными IP-адресами. После подключения к Интернет клиентское устройство доступа инициирует со своей стороны установление туннеля до центрального маршрутизатора корпоративной сети. Через этот туннель хосты, расположенные в головном офисе, уже могут инициировать взаимодействие с филиалом, минуя при этом NAT поставщика услуг. (Задачу можно было бы решить по той же схеме и с помощью других типов туннелей, но PPTP из них наиболее прост и удобен для применений, не требующих высокой степени защищённости.)

ПРИМЕЧАНИЕ. Для прохождения туннеля PPTP через NAT необходимы два дополнительных условия: поддержка NAT для протокола GRE и отслеживание взаимосвязанных потоков (в данном случае — управляющего потока TCP и потока данных PPP-over-GRE). У значительного числа поставщиков услуг эти условия не выполнены по причине неадекватного ПО или некорректной настройки его, поэтому PPTP из их сетей не проходит. Характерный симптом — управляющее TCP-соединение устанавливается нормально, но после этого процедура установления PPP-соединения не выполняется от слова вообще. Бороться с поставщиками таких услуг, как правило — бесполезное занятие; в этом случае следует использовать другие типы туннелей.

Существенное отличие PPPoE, PPTP и L2TP от PPP заключается в том, что эти три протокола — асимметричные, т.е. основаны на чётком разделении ролей клиента и сервера. Клиент всегда инициирует соединение со своей стороны, сервер находится в режиме пассивного ожидания соединений. Как правило, сервер динамически назначает клиенту параметры IP.

На устройстве NSG могут работать одновременно несколько туннелей PPTP. Каждое создаваемое соединение может работать в режиме клиента либо сервера PPTP. Как и для соединений PPP по физической среде передачи, имена IP-интерфейсов назначаются динамически в формате pppN; имя же туннеля, как и имя физического порта (aNUM, mNUM и т.п.), остаётся неизменным, и именно его следует использовать в описаниях маршрутов, фильтров, событий и т.п., когда устройство NSG работает в качестве клиента. При работе в режиме сервера одному имени туннеля соответствует несколько IP-интерфейсов (по числу подключённых клиентов), и отслеживать их можно только динамически.

Для добавления туннелей используйте команды +, _new или _insert. Имя следует вводить в формате pptpНомер или только целочисленный номер. Данный список является именованным и не упорядочивается автоматически. Для удаления используйте команду - или _remove.

Что делать, если это не работает?

  1. Убедиться в доступности сервера PPTP.
  2. Убедиться, что протокол GRE (47) и порт TCP 1723 не закрыты фильтрами, не заняты другими приложениями, не перехватываются NAT на стороне сервера и т.п.
  3. Смотреть журнал работы туннеля.
  4. Проконтролировать процедуру установления соединения с помощью tcpdump.
  5. Убедиться, что маршрутизация в туннель и в удалённый сегмент сети задана правильно не только на шлюзах туннеля, но и на прикладных хостах в том и другом сегменте.
  6. Убедиться, что размер MTU соединения согласован с MTU интерфейса, через который оно должно устанавливаться. MTU соединения должно быть меньше, по крайней мере, на длину заголовка PPTP — 8 байт. В частности, при работе через физический интерфейс Ethernet максимальный размер MTU — 1492 байт.
    Несоблюдение этого условия, в принципе, не препятствует работе большинства приложений, но может приводить к излишней фрагментации пакетов; некоторые же приложения могут быть весьма критичны к нему.
  7. Если TCP-соединения через туннель нормально работают при небольших размерах пакета, но "зависают" на длинных пакетах — уменьшить максимальный размер сегмента TCP для пакетов, отправляемых через данный интерфейс PPPoE (см. действие TCPMSS). Данная проблема относительно часто встречается в некорректно настроенных сетях поставщиков услуг.
  8. При работе с серверами PPPoE, PPTP и L2TP компании Cisco Systems рекомендуется использовать на них следующие настройки для корректного согласования размера MTU и корректной обработки фрагментированных пакетов:
    vpdn-group номер	
      ip mtu adjust
    no ip cef	
    

© Network Systems Group 2015–2024 Отдел документации