Установка PPTP сервера в CentOS 6
Тестовое окружение: 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
Описание опций частично позаимствовано на сайте
Далее нужно включить пересылку пакетов между интерфейсами (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
Настройка завершена.
Обсуждение