Связаться со мной:
1 заметка с тегом

VPN

Установка PPTP VPN-сервера на OpenVZ контейнер

Рассмотрим как настроить PPTP VPN-сервер в контейнере OpenVZ. В контейнере должны быть включены модули ядра iptables и ppp. Если у вы арендуете сервер, то пишете в техподдержку. Если у вас есть доступ к ноде, то включаете их. На ноде выполняем команды, предварительно стопнув контейнер:

# modprobe ppp_async

# modprobe ppp_deflate

# modprobe ppp_mppe

# vzctl set 001 --features ppp:on --save

# vzctl set 001 --devices c:108:0:rw --save

Где 001 номер контейнера. Запускаем контейнер и внутри него выполняем:

# mknod /dev/ppp c 108 0

# chmod 600 /dev/ppp

Мы включили модуль ppp. Теперь нам надо включить модули натирования. Стопим контейнер снова и на ноде выполняем: # vzctl set 001 --save --iptables "ip_conntrack iptable_filter iptable_mangle ipt_state iptable_nat ip_nat_ftp ip_conntrack_ftp"

Запускаем контейнер. Затем настройка будет происходить в самом контейнере. Установим pptpd # apt-get install pptpd

Приводим файл /etc/ppp/pptpd-options примерно к такому содержанию:

name pptpd #имя сервера
refuse-pap #отключаем аутентификацию pap, chap, mschap
refuse-chap
refuse-mschap
require-mschap-v2 #включаем аутентификацию mschap v2
require-mppe-128 #включаем 128 битное шифрование
ms-dns 8.8.8.8 #DNS-сервер
logfile /var/log/pptpd.log #куда писать логи
nodefaultroute
lock
nobsdcomp

Приводим файл /etc/pptpd.conf примерно к такому виду:

option /etc/ppp/pptpd-options
logwtmp
localip 192.168.0.1 #локальный ip vpn-сервера
remoteip 192.168.0.2-254 #ip клиентов
bcrelay venet0:0

Создаём логины и пароли пользователей в файле /etc/ppp/chap-secrets:

# Secrets for authentication using CHAP
# client server secret IP addresses
user pptpd password *

Перезапускаем vpn-сервер:

# /etc/init.d/pptpd restart

Теперь пропишем в файле /etc/rc.local команду натирования, чтобы разрешить нашим клиентам доступ в интернет. Перед exit 0 пишем:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o venet0 -j SNAT —to-source внешний ip контейнера

А в /etc/sysctl.conf разрешим ip-форвардинг, раскомментировав строку:

net.ipv4.ip_forward=1

Пробуем подключиться. Если не удалось, то смотрим лог-файл, который мы указали выше и разбираемся с ошибками.

P.S. Иногда требуется включить модуль nat на ноде, хотя по умолчанию он обычно включен. Для этого выполняем:

# modprobe iptable_nat

2013   iptables   nat   openvz   ppp   PPTP   pptpd   ubuntu   VDS   VPN   VPS