RTFM.WIKI

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

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

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


linux:centos:vpn_pptp_centos6

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

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

Тестовое окружение: CentOS 6 x64

Перед установкой очистим таблицу postrouting в iptables и удалим пакеты и настройки PPTP

# iptables --flush POSTROUTING --table nat
# iptables --flush FORWARD
# yum remove -y pptpd ppp
# rm -rf /etc/pptpd.conf
# rm -rf /etc/ppp

Пакет pptpd доступен в репозитории EPEL.

Сначала подключаем репозиторий

# yum -y install epel-release

Устанавливаем 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
ms-dns 77.88.8.8
ms-dns 8.8.8.8

nodefaultroute
proxyarp
lock

nobsdcomp          # Отключить сжатие BSD-Compress
novj               # Отключить сжатие Вана Якобсона для заголовков
novjccomp          # Отключить сжатие идентификатора соединения

nologfd
noipx

Описание опций частично позаимствовано на сайте FIXME

Далее нужно включить пересылку пакетов между интерфейсами (IP forwading)

echo 1 > /proc/sys/net/ipv4/ip_forward
# либо так sysctl -w net.ipv4.ip_forward=1
/etc/sysctl.conf

Чтобы изменения не потерялись после перезагрузки сервера необходимо добавить настройку в файл /etc/sysctl.conf

Для применения изменений в файле нужно выполнить команду (не требуется если выполнена команда выше)

# sysctl -p /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
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

Сохраняем правила и перезапускаем iptables

# service iptables save
# service iptables restart

Добавляем сервисы в автозагрузку

# chkconfig iptables on
# chkconfig pptpd on

Перезапускаем iptables и pptpd

# service iptables start
# service pptpd start

Настройка завершена.

Обсуждение

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