Установка PPTP-сервера на Linux

Автор: Гость | от 2016 » Август » 22 | посмотрело: 368

0

PPTP (англ. Point-to-Point Tunneling Protocol) — туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети.

PPTP помещает (инкапсулирует) кадры PPP в IP-пакеты для передачи по глобальной IP-сети, например Интернет. PPTP может также использоваться для организации туннеля между двумя локальными сетями. РРТР использует дополнительное TCP-соединение для обслуживания туннеля.

  • Подключаемся к серверу по SSH с правами root.
  • Добавляем в систему репозиторий PPTP.
Для CentOS 5:

Код
rpm -Uvh http://pptpclient.sourceforge.net/yum/stable/rhel5/pptp-release-current.noarch.rpm

Для CentOS 6:

Код
rpm -Uvh http://pptpclient.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm

Устанавливаем PPTPd командой:

Для CentOS:

Код
yum -y install pptpd

Для Debian используется стандартный репозиторий:

Код
apt-get install pptpd

Открываем файл /etc/pptpd.conf любым текстовым редактором и в его конце добавляем:

Код
localip 10.10.1.1
remoteip 10.10.1.100-200
bcrelay eth0

Где:
  • localip — IP виртуального сетевого интерфейса ppp0. Не нужно прописывать сюда внешний IP сервера, или IP других сетевых интерфейсов сервера;
  • remoteip — диапазон клиентских адресов в количестве ста. Вы можете указать любое приемлемое значение;
  • bcrelay eth0 — позволит передавать VPN клиентам широковещательные пакеты внутренней сети.
Редактируем файл /etc/ppp/pptpd-options:

Код
ms-dns 8.8.8.8
ms-dns 8.8.4.4
noipx
mtu 1400
mru 1400

Создание NAT-правил для iptables

PPTP работает через TCP-порт 1723, он должен быть открыт. Например:

Код
nano run-iptables.sh

В него вставляем:

Код
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 10.10.0.0/24 -i ppp0 -j ACCEPT #подсеть, которая выставлена в /etc/pptpd.conf
iptables --append FORWARD --in-interface eth0 -j ACCEPT

Сохраняем, выходим.

Далее:

Код
chmod +x run-iptables.sh
./run-iptables.sh
service pptpd restart

Проверяем:

Код
netstat -alpn | grep :1723



Если получаем нечто похожее, значит все работает как надо.

Настройка пользователей

Имена пользователей и их пароли хранятся в файле /etc/ppp/chap-secrets. Поэтому добавить пользователя можно следующими способами:

В CentOS командой:

Код
vpnuser add username password

В Debian прямое добавление в файл chap-secrets:

Открываем файл любым текстовым редактором, например, nano:
Код
nano /etc/ppp/chap-secrets


Добавляем в файл через пробел следующие параметры:
Код
user1 pptpd password *
user2 pptpd password 10.10.1.100


user1 получит свободный IP из указанного в /etc/pptpd.conf диапозона, а за user2 закреплен выделенный адрес.

Настройка форвардинга (Forwarding)

Очень важно включить форвардинг IP на Вашем PPTP-сервере. Это позволит Вам пересылать пакеты между публичным IP и приватными IP, которые Вы настроили при помощи PPTP.

Отредактируйте /etc/sysctl.conf.

Добавив следующую строку:

Код
net.ipv4.ip_forward = 1

Для применения изменений выполните команду:

Код
sysctl -p

Запуск PPTPd

Запуск pptp-сервера выполняется командой:

Код
service pptpd start

Если необходимо, чтобы pptpd запускался при старте системы в CentOS, выполняем команду:

Код
chkconfig --level 345 pptpd on


Теги: ubuntu, Debian, PPTP, linux, VPN, CentOS

Категория: Интернет

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться или войти на сайт под своим именем.
Всего комментариев: 0
avatar