PPTP – это Point-to-Point Tunelling Protocol, используется чаще всего для организации защищенного подключения удаленных пользователей во внутреннюю сеть компании через публичные сети, такие как Интернет, а также некоторыми Интернет-провайдерами с ограниченным адресным пространством для экономии честных IP-адресов при предоставлении услуги доступа в Интернет. Порядок настройки vpn-сервера:
- Качаем и устанавливаем пакет pptpd, подходящий для нашей системы. Для моей CentOS 5.3 это выглядело так:
-
rpm -ivh http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm
-
- В файл /etc/ppp/chap-secrets дописываем информацию о пользователях, которым необходим удаленный доступ:
-
$ cat /etc/ppp/chap-secrets
-
# Secrets for authentication using CHAP
-
# client server secret IP addresses
-
user1 pptpd passwOrD1 10.0.10.2
-
user2 pptpd qWeRPDW2a 10.0.10.3
-
- Проверяем, что в ядре включен форфардинг пакетов между интерфейсами, если нет – включаем:
-
echo 1 > /proc/sys/net/ipv4/ip_forward
-
sysctl -w net.ipv4.ip_forward=1
-
- Проверяем, что в firewall-е открыты подключения извне на TCP-порт 1723 и что разрешен протокол #47:
-
/sbin/iptables -I INPUT -p tcp --dport 1723 -j ACCEPT
-
/sbin/iptables -I INPUT -p 47 -j ACCEPT
-
- Проверяем, что в файле /etc/ppp/options.pptpd присутствуют следующие опции:
-
name pptpd
-
refuse-pap
-
refuse-chap
-
refuse-mschap
-
require-mschap-v2
-
require-mppe-128
-
ms-dns 10.0.0.253
-
ms-dns 10.0.0.252
-
proxyarp
-
lock
-
nobsdcomp
-
novj
-
novjccomp
-
nologfd
Опции ms-dns – это те DNS-сервера, которые выдаются клиенту. Нужно изменить на те, которые реально используются в Вашей сети. Если клиент в состоянии использовать DNS-сервера (по умолчанию клиент получит в качестве шлюза свой IP-адрес, который прописан в файле chap-secrets и DNS-сервера по этой причине могут стать недоступны), которые он использовал до установки vpn-подключения, эти опции можно убрать.
-
- Редактируем /etc/pptpd.conf, нужно чтобы в нем были следующие строки:
-
option /etc/ppp/options.pptpd
-
logwtmp
-
localip 10.0.0.1
-
remoteip 10.0.0.2-20
Параметры localip и remoteip изменяем в соответствии с IP-адресацией в Вашей сети.
-
- Запускаем сервис:
-
/etc/init.d/pptpd start
-
- Включаем автозагрузку сервиса при старте системы:
-
/sbin/chkconfig pptpd on
-
- Пробуем подключаться. Если в качестве клиента Windows XP и имеются проблемы с подключением, то в настройках подключения на вкладке «Безопасность» нужно снять галочку «Требуется шифрование данных».
Если какая-то машинка за NAT-ом испытывает трудности с подключением к внешнему VPN-серверу и винда показывает ошибку №619, то стоит попробовать включить модуль ядра ip_nat_pptp на linux-роутере, который исполняет NAT:
-
modprobe ip_nat_pptp
Комментариев: 1
Чтобы быть всегда в курсе здесь происходящего, Вы можете подписаться на RSS feed для комментариев на эту заметку.
А настройка VPN-клиента описана тут: http://www.posix.ru/network/vpn_linux/