RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


Stylesheet conf/userstyle.css not found, please contact the developer of "dokuwiki_2024" template.
linux:centos:vpn_pptp_centos6

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

linux:centos:vpn_pptp_centos6 [2022/08/03 20:13] – создано dxlinux:centos:vpn_pptp_centos6 [2022/08/03 20:14] (текущий) dx
Строка 1: Строка 1:
 +====== Установка PPTP сервера в CentOS 6 ======
  
 +<note warning>Это копия статьи из моей wiki в Rootwelt. Информация могла устареть. Статья в скором времени будет удалена или перенесена в архив.</note>
 +
 +Тестовое окружение: CentOS 6 x64
 +
 +Перед установкой очистим таблицу postrouting в iptables и удалим пакеты и настройки PPTP
 +
 +<code>
 +# iptables --flush POSTROUTING --table nat
 +# iptables --flush FORWARD
 +# yum remove -y pptpd ppp
 +# rm -rf /etc/pptpd.conf
 +# rm -rf /etc/ppp
 +</code>
 +
 +Пакет ''pptpd'' доступен в репозитории ''[[https://fedoraproject.org/wiki/EPEL|EPEL]]''.
 +
 +Сначала подключаем репозиторий
 +
 +<code># yum -y install epel-release</code>
 +
 +Устанавливаем PPTP сервер
 +
 +<code># yum -y install pptpd</code>
 +
 +Редактируем файл ''/etc/pptpd.conf''
 +
 +<code>
 +# Файл опций, который будет загружен вместо стандартного /etc/ppp/options
 +option /etc/ppp/options.pptpd
 +
 +# IP адрес сервера, НЕ НУЖНО указывать внешний IP VPS
 +localip 172.16.1.1
 +
 +# Диапазон адресов для клиентов
 +remoteip 172.16.1.50-99,172.16.1.253
 +</code>
 +
 +Пример файла ''/etc/ppp/options.pptpd''
 +
 +<code>
 +name pptpd
 +
 +# Запрещаем совсем небезопасные протоколы
 +# Включаем условно безопасные
 +refuse-pap         # Незашифрованный пароль PAP
 +refuse-chap        # Протокол проверки пароля CHAP
 +refuse-mschap      # Протокол проверки пароля MS-CHAP
 +require-mschap-v2  # Протокол проверки пароля MS-CHAP v2
 +require-mppe-128   # Использоавть MPPE128 шифрование при проверке пароля
 +
 +# Первичный и вторичный адрес DNS для Windows клиентов
 +# DNS от Yandex
 +ms-dns 77.88.8.8
 +ms-dns 8.8.8.8
 +
 +nodefaultroute
 +proxyarp
 +lock
 +
 +nobsdcomp          # Отключить сжатие BSD-Compress
 +novj               # Отключить сжатие Вана Якобсона для заголовков
 +novjccomp          # Отключить сжатие идентификатора соединения
 +
 +nologfd
 +noipx
 +</code>
 +
 +Описание опций частично позаимствовано на сайте FIXME
 +
 +Далее нужно включить пересылку пакетов между интерфейсами ([[https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt|IP forwading]])
 +
 +<code>
 +echo 1 > /proc/sys/net/ipv4/ip_forward
 +# либо так sysctl -w net.ipv4.ip_forward=1
 +/etc/sysctl.conf
 +</code>
 +
 +Чтобы изменения не потерялись после перезагрузки сервера необходимо добавить настройку в файл ''/etc/sysctl.conf''
 +
 +Для применения изменений в файле нужно выполнить команду (не требуется если выполнена команда выше)
 +
 +<code># sysctl -p /etc/sysctl.conf</code>
 +
 +Теперь добавим пользователей для подключения к PPTP серверу (файл ''/etc/ppp/chap-secrets'')
 +
 +<code>
 +# Secrets for authentication using CHAP
 +# client        server  secret                  IP addresses
 +Joker           pptpd   H4h4h4FUN               *
 +Batman          pptpd   GothamLegend            *
 +</code>
 +
 +Настройки для firewall'а
 +
 +<code>
 +# Разрешаем входящие соединения на порт 1723
 +iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT
 +# Разрешить GRE протокол
 +iptables -A INPUT -i eth0 -p gre -j ACCEPT
 +# NAT
 +iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 +# Волшебный MTU
 +iptables -A FORWARD -p tcp -s 172.16.1.0/24 -j TCPMSS --syn --set-mss 1356
 +
 +# Подразумевается, что для цепочек FORWARD и OUTPUT установлена политика ACCEPT
 +# Если это не так, то нужно добавить разрешающие правила
 +# iptables -A FORWARD -j ACCEPT
 +# iptables -A OUTPUT -p gre -j ACCEPT
 +</code>
 +
 +Сохраняем правила и перезапускаем iptables
 +
 +<code>
 +# service iptables save
 +# service iptables restart
 +</code>
 +
 +Добавляем сервисы в автозагрузку
 +
 +<code>
 +# chkconfig iptables on
 +# chkconfig pptpd on
 +</code>
 +
 +Перезапускаем iptables и pptpd
 +
 +<code>
 +# service iptables start
 +# service pptpd start
 +</code>
 +
 +Настройка завершена.
 +
 +{{tag>linux centos vpn pptp}}