Главная » VPS/VDS и выделенные серверы

Установка и настройка VPN с использованием протокола PPTP в Debian.

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

Входим на сервер по SSH и устанавливаем:

apt-get install ppp pptpd

Переходим к настройке.

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

# IP-адрес сервера в VPN-сети:
localip 192.168.1.1
# Диапазон адресов для выдачи VPN-клиентам:
remoteip 192.168.1.102-154,192.168.1.101

Остальное не трогаем, закрываем файл и сохраняем изменения. После соединения с сервером Вам будет присвоен IP из указанного диапазона, а локальный IP сервера станет 192.168.1.1

Переходим к правке файла /etc/ppp/pptpd-options:

# Требуем авторизацию у клиентов:
auth

# Используем шифрование
require-mppe

# Укажем файл, в который писать лог:
logfile /var/log/pptpd.log

# Адрес DNS-сервера, указываемого клиентам:
ms-dns 8.8.8.8
ms-dns 192.168.1.1

# Чтобы не сбивался маршрут по умолчанию:
nodefaultroute

# Не пытаться восстановить соединение после отключения клиента
# Если не указать эту опцию - pptpd будет безуспешно восстанавливать соединение и ругаться в логи:
nopersist

# Опция proxyarp имеет смысл только если Вы VPN-клиентам выделяете адреса
# из Вашей реальной Ethernet-сети. У нас все VPN-клиенты находятся в 
# другой VPN-подсети, поэтому эту опцию закомментируем:
#proxyarp
  • 8.8.8.8 – FREE DNS от Google.
  • 192.168.1.1 – локальный DNS.

Сохраняем конфигурационный файл и создаем файл лога командой:

touch /var/log/pptpd.log

Переходим к настройке паролей в файле /etc/ppp/chap-secrets. Добавляем по примеру:

# Если пользователь получает динамический IP-адрес из диапазона remoteip(102-154), 
# что находится в конфигурационном файле pptpd.conf, добавляем:
user1    pptpd    passworduser1    "*"

# Если мы привязываем определённый IP  к логину клиента, добавляем:
user2    pptpd    passworduser2    "192.168.1.102"

Сохраняем изменения в файле. После этого перезапускаем pptpd:

/etc/init.d/pptpd restart

Предоставляем нашим клиентам доступ в интернет

Теперь, необходимо настроить на сервере доступ в интернет подключившимся клиентам. Допустим, что IP-адрес внешнего интерфейса 123.123.123.123 (вы можете узнать какой у вас в ifconfig) и так как у нас Debian, то создадим правила в iptables:

  • разрешаем VPN-щикам обращаться в интернет:
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
  • разрешаем интернету отдавать пакеты VPN-щикам:
iptables -A FORWARD -d 192.168.1.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT
  • ethX заменить на внешний интерфейс, 123.123.123.123 заменить на внешний IP (с этого IP пользователи будут ходить в интернет):
iptables -t nat -A POSTROUTING -s  192.168.1.0/24 -o ethX -j SNAT --to-source 123.123.123.123

:!: Если Вы впервые используете iptables, то создайте файл /etc/iptables.rules и поместите туда инструкции приведенные выше. После чего сделайте симлинк:

sudo ln -s /etc/iptables.rules /etc/network/if-up.d/iptables

И при загрузке ОС будут активироваться ваши правила в /etc/iptables.rules

Активируем iptables-правила:

chmod +x /etc/iptables.rules
/etc/iptables.rules

Включаем форвардинг в ядре, в файле /etc/sysctl.conf раскомментируем строчку:

net.ipv4.ip_forward=1

Чтобы не перезагружаться сообщаем ядру о включении форвардинга:

echo 1 > /proc/sys/net/ipv4/conf/all/forwarding

Поздравляем! На этом настройка VPN сервера на PPTP закончена.

Подключение к серверу PPTPD из Windows происходит стандартно.


Вместе с этим смотрят: