Ubuntu Server. Форвардинг PPTP средствами iptables.

  • Автор:

pptp-forwarding-iptables-000.png

Мы уже рассказывали о форвардинге (пробросе) портов на роутере под управлением Ubuntu Server, однако рассмотрев общие принципы, оставили без внимания частные реализации. Одним из частных случаев является публикация PPTP VPN сервера, которая вызывает наибольшее количество затруднений, сегодня поговорим об этом более подробно.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Если все сделать по нашей статье, пробросив во внутреннюю сеть порт 1723 (PPTP), то при попытке установить VPN соединение вы получите... Правильно - ошибку. Почему? Самое время сделать небольшое отступление и вспомнить, как работает протокол PPTP.

Прочитали, вспомнили... Становится очевидно, что настроив форвардинг порта 1723, мы обеспечили только работу только управляющей сессии, совершенно забыв о сессии для передачи данных, использующей протокол GRE. Выглядит это так: клиент нормально соединяется с сервером, успешно проходит проверку учетных данных и терпит фиаско при попытке создать канал для данных.

Для нормальной работы PPTP соединения через NAT следует настроить прохождение не только управляющих данных, но и GRE пакетов. Чем мы сейчас и займемся. Будем считать, что читатель знаком с нашими предыдущими материалами и обладает достаточными навыками работы в среде Ubuntu Server. Все изменения будут вносится нами в файл /etc/nat роутера.

Чтобы обеспечить нормальную работу с протоколом GRE следует загрузить дополнительные модули ядра, для этого после секции #Включаем форвардинг пакетов добавим:

#Включаем модули iptables
modprobe ip_gre
modprobe ip_nat_pptp

После секции #Включаем NAT добавляем:

#Разрешаем входящий PPTP
iptables -A FORWARD -p gre -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 1723 -j ACCEPT

Мы разрешили прохождение через NAT как управляющих пактов на порт 1723, так и GRE пакетов в любом направлении. Теперь нужно настроить форвардинг пактов приходящих на порт 1723 роутера к внутреннему VPN серверу. Для условности примем X.X.X.X - IP адрес внешнего интерфейса сервера, 10.0.0.121 - внутренний адрес VPN-сервера, 10.0.90.90-99 блок адресов VPN-сети.

Ниже предыдущей секции продолжим:

# Форвардинг PPTP
iptables -t nat -A PREROUTING -p tcp -d X.X.X.X --dport 1723 -j DNAT --to-destination 10.0.0.121:1723

Сохраняем файл, перезагружаем сервер.

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

pptp-forwarding-iptables-001.jpg

Теперь попробуем получить доступ к какому нибудь внутреннему ресурсу, например общему диску E: на VPN-сервере.

pptp-forwarding-iptables-002.jpg

Как видим, все прекрасно работает. Теперь можете настраивать вашу VPN-сеть согласно ваших потребностей, PPTP сервер будет доступен на внешнем интерфейсе роутера без каких либо ограничений.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Дополнительные материалы:


  1. Настраиваем VPN. Часть 1 - Общие вопросы
  2. Настраиваем VPN. Часть 2 - Cтруктура сети
  3. Настраиваем VPN сервер. Часть 3 - PPTP. Платформа Linux
  4. Настраиваем VPN сервер. Часть 4 - PPTP. Платформа Windows
  5. Настраиваем VPN сервер. Часть 5 - L2TP. Платформа Windows
  6. Ubuntu Server. Форвардинг PPTP средствами iptables
  7. Организация VPN каналов между офисами при помощи OpenVPN
  8. Организация каналов между офисами при помощи OpenVPN с дополнительной парольной защитой
  9. Организация VPN каналов между офисами. Маршрутизация
  10. Организация каналов между офисами при помощи OpenVPN на платформе Linux
  11. Настройка OpenVPN-сервера для доступа в интернет
  12. Настройка двух и более OpenVPN-серверов на одном сервере
  13. Почему тормозит OpenVPN? Размер буферов приема и отправки
  14. Как настроить несколько одновременных OpenVPN подключений в Windows
  15. SSH-туннели на службе системного администратора
  16. Создание ключей и сертификатов для OpenVPN при помощи Easy-RSA 3
  17. Настройка OpenVPN-сервера на роутерах Mikrotik
  18. Настройка VPN-подключения в роутерах Mikrotik
  19. OpenVPN объединяем ключи и конфигурацию клиента в один файл
  20. OpenVPN и инфраструктура открытых ключей (PKI)
  21. Настройка OpenVPN-сервера на роутерах Mikrotik
  22. Настраиваем IKEv2 VPN-сервер на роутерах Mikrotik с аутентификацией по сертификатам
  23. Настраиваем PPTP или L2TP VPN-сервер при помощи RRAS в Windows Server
  24. Автоматическое добавление маршрутов для VPN-соединения в Windows

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал



Loading Comments