Установка PPTP сервера в CentOS 7
Всё настраивается также, как в 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
Обсуждение