ВНИМАНИЕ: PPTP - ЭТО НЕБЕЗОПАСНЫЙ ПРОТОКОЛ! Мало того, что шифрование было нарушено, но оно отправляет вашу аутентификацию открытым текстом и легко перехватывается. Было подсчитано, что количество времени, необходимое для перебора пароля, примерно эквивалентно времени, необходимому для перебора одного ключа DES. Рассмотрите возможность использования OpenVPN или другой архитектуры VPN вместо PPTP!
Я использовал это руководство чтобы настроить PPTP VPN-сервер на моем сервере Ubuntu 12.04.
Однако, чтобы суммировать основные моменты в ссылке,:
1: Установка pptpd
и ufw
. iptables
может использоваться вместо ufw, но для удобства, ufw
лучше, если вы не знаете iptables
.
sudo apt-get install pptpd ufw
2: Откройте необходимые порты. В руководстве предлагается 22 (SSH) и 1723 для pptp vpn.
sudo ufw разрешить 22sudo ufw разрешить 1723sudo ufw разрешить
3: Редактировать /etc/ppp/pptpd-options
. Откройте файл с помощью вашего любимого редактора (у меня nano, поэтому команда для меня такая sudo nano /etc/ppp/pptpd-options
), и прокомментируйте эти строки, поставив #
перед ними, если вы хотите, чтобы это работало универсально на всех операционных системах:
отказать-paprefuse-chaprefuse-mschap
Вы можете прокомментировать эту строку, если хотите отключить шифрование: require-mppe-128
4: Во время редактирования /etc/ppp/pptpd-options
, добавьте DNS-серверы для VPN. В этом примере используются серверы OpenDNS:
ms-dns 208.67.222.222ms-dns 208.67.220.220
5: Редактировать /etc/pptpd.conf
. Откройте файл с помощью вашего любимого редактора (у меня nano, поэтому команда для меня такая sudo nano /etc/pptpd.conf
). Вам нужно добавить локальные IP-адреса VPN для системы, поэтому добавьте:
localip 10.99.99.99remoteip 10.99.99.100-199
Если ваша система является VPS, используйте общедоступный IP-адрес для "localip". Если это не так и он находится в локальной сети, используйте сетевой IP-адрес вашего компьютера. Используйте разные IP-адреса и диапазоны, если эти IP-адреса существуют в вашей подсети!Если вы не знаете свой общедоступный IP-адрес вашего VPS, найдите его, выполнив dig +short myip.opendns.com @resolver1.opendns.com
6: Редактировать /etc/ppp/chap-secrets
. Откройте файл с помощью вашего любимого редактора (у меня nano, поэтому команда для меня такая sudo nano /etc/ppp/chap-secrets
) и добавьте данные авторизации.
Формат для /etc/ppp/chap-secrets
является:
[Имя пользователя] [Служба] [Пароль] [Разрешенный IP-адрес]
Примером может быть: sampleuser pptpd samplepassword *
7: Перезапустите pptpd. Запустите эту команду в терминале: sudo /etc/init.d/pptpd restart
8: Редактировать /etc/sysctl.conf
. Откройте файл с помощью вашего любимого редактора (у меня nano, поэтому команда для меня такая sudo nano /etc/sysctl.conf
). Отмените комментарий к следующей строке (удалив #
в начале этого) в /etc/sysctl.conf
: net.ipv4.ip_forward=1
Перезагрузите конфигурацию: sudo sysctl -p
9: На этом шаге предполагается, что у вас есть ufw.
Редактировать /etc/default/ufw
и измените параметр DEFAULT_FORWARD_POLICY
от DROP
к ACCEPT
10: На этом шаге предполагается, что у вас есть ufw.
Редактировать /etc/ufw/before.rules
, и добавьте следующее либо в начале /etc/ufw/before.rules
или непосредственно перед тем, как *filter
правила (рекомендуемые):
# Правила таблицы NAT*nat:POSTROUTING ACCEPT [0:0]# Разрешить пересылку трафика на eth0-A POSTROUTING -s 10.99.99.0/24 -o eth0 -j MASQUERADE# Обработать правила таблицы NAT. commit
Если у вас установлена версия ядра 3.18 и новее (вы можете проверить это, запустив uname -r
), также добавьте следующие строки перед # drop INVALID packets ...
линия:
-A ufw-before-input -p 47 -j ACCEPT
11: Перезапустите брандмауэр, чтобы обновить наборы правил и применить правила, которые мы добавили в /etc/ufw/*.rules
файлы: sudo ufw disable && sudo ufw enable
Предупреждение: Если у вас есть другие порты, которые вам нужно открыть, например, для HTTPS, если на вашем сервере размещен веб-сайт, вам необходимо индивидуально добавить эти порты в список разрешенных с помощью sudo ufw allow <PORT>