RTFM.WIKI

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

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

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


linux:centos:vpn_pptp_centos7

Установка PPTP сервера в CentOS 7

Это копия статьи из моей wiki в Rootwelt. Информация могла устареть. Статья в скором времени будет удалена или перенесена в архив.

Всё настраивается также, как в 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

Далее нужно включить пересылку пакетов между интерфейсами (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

<?xml version="1.0" encoding="utf-8"?>
<service>
  <port protocol="tcp" port="1723"/>
</service>

Добавляем сервис в firewalld

# firewall-cmd --permanent --zone=public --add-service=pptp

Осталось включить NAT, разрешить GRE и исправить размер 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

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
 
linux/centos/vpn_pptp_centos7.txt · Последнее изменение: 2022/08/03 20:13 — dx