====== Установка PPTP сервера в CentOS 7 ====== Это копия статьи из моей wiki в Rootwelt. Информация могла устареть. Статья в скором времени будет удалена или перенесена в архив. Всё настраивается [[linux:centos:vpn_pptp_centos6|также, как в CentOS 6]]. Различие только в настройках firewall (в CentOS 7 используется firewalld вместо привычного iptables). Устанавливаем PPTP сервер # yum -y install pptpd Редактируем файл ''/etc/pptpd.conf'' # Файл опций, который будет загружен вместо стандартного /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 Пример файла ''/etc/ppp/options.pptpd'' 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/Google ms-dns 77.88.8.8 ms-dns 8.8.8.8 nodefaultroute proxyarp lock nobsdcomp # Отключить сжатие BSD-Compress novj # Отключить сжатие Вана Якобсона для заголовков novjccomp # Отключить сжатие идентификатора соединения nologfd noipx Далее нужно включить пересылку пакетов между интерфейсами ([[https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt|IP forwading]]) echo 1 > /proc/sys/net/ipv4/ip_forward # либо так sysctl -w net.ipv4.ip_forward=1 Чтобы изменения не потерялись после перезагрузки сервера необходимо добавить настройку ''net.ipv4.ip_forward = 1'' в файл ''/etc/sysctl.conf'' Теперь добавим пользователей для подключения к PPTP серверу (файл ''/etc/ppp/chap-secrets'') # Secrets for authentication using CHAP # client server secret IP addresses Joker pptpd H4h4h4FUN * Batman pptpd GothamLegend * Переходим к настройкам firewall. Открыть порт 1723 можно двумя способами. **Способ первый.** # firewall-cmd --permanent --zone=public --add-port=1723/tcp **Способ второй (рекомендуемый для firewalld)** Добавляем новый сервис PPTP # firewall-cmd --permanent --new-service=pptp Отредактируем файл ''/etc/firewalld/services/pptp.xml'' Добавляем сервис в firewalld # firewall-cmd --permanent --zone=public --add-service=pptp Осталось включить NAT, разрешить GRE и [[https://www.opennet.ru/docs/RUS/LARTC/x2657.html|исправить размер MTU]] # firewall-cmd --permanent --zone=public --add-masquerade # firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT # firewall-cmd --permanent --direct --add-rule ipv6 filter INPUT 0 -p gre -j ACCEPT # firewall-cmd --permanent --direct --add-passthrough ipv4 -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu # firewall-cmd --reload Добавляем сервис в автозагрузку и запускаем его # systemctl enable pptpd.service # systemctl start pptpd При необходимости можно удалить **firewalld** и вернуть привычный **iptables** EOM {{tag>linux centos vpn pptp}}