Попередження: PPTP - НЕБЕЗПЕЧНИЙ ПРОТОКОЛ! Не тільки було порушено шифрування, але воно надсилає вашу автентифікацію чітким текстом і легко перехоплюється. Було підраховано, що кількість часу, необхідного для грубої сили пароля, приблизно еквівалентна часу, необхідному для грубої сили одного клавіші DES. Подумайте про використання OpenVPN або іншої архітектури VPN замість PPTP!
Це керівництво я використав для налаштування VPTP-сервера PPTP на моєму сервері Ubuntu 12.04.
Щоб узагальнити основні моменти посилання, хоча:
1: Встановити pptpd
та ufw
. iptables
можна використовувати замість ufw, але заради простоти ufw
краще, якщо ви не знаєте iptables
.
sudo apt-get install pptpd ufw
2: Відкрийте потрібні порти. Посібник пропонує 22 (SSH) та 1723 для pptp vpn.
sudo ufw дозволяють 22
sudo ufw дозволяють 1723 рік
sudo ufw enable
3: Редагувати /etc/ppp/pptpd-options
. Відкрийте файл улюбленим редактором (мій нано, тому команда для мене є sudo nano /etc/ppp/pptpd-options
), і прокоментуйте ці рядки, поставивши #
перед ними, якщо ви хочете, щоб це працювало універсально на всіх ОС:
відмовити-пап
відмовитись
відмовити-mschap
Ви можете прокоментувати цей рядок, якщо ви хочете відключити шифрування: require-mppe-128
4: Під час редагування /etc/ppp/pptpd-options
додайте DNS-сервери для VPN. У цьому прикладі використовуються сервери OpenDNS:
ms-dns 208.67.222.222
ms-dns 208.67.220.220
5: Редагувати /etc/pptpd.conf
. Відкрийте файл улюбленим редактором (моє нано, тому команда для мене є sudo nano /etc/pptpd.conf
). Вам потрібно додати локальні IP-адреси VPN для системи, тому додайте:
локаліп 10.99.99.99
дистанційнийп 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
), і додайте дані auth.
Формат для /etc/ppp/chap-secrets
:
[Ім'я користувача] [Сервіс] [Пароль] [Дозволена IP-адреса]
Прикладом може бути: sampleuser pptpd samplepassword *
7: Перезавантажте pptpd. Запустіть цю команду в терміналі:sudo /etc/init.d/pptpd restart
8: Редагувати /etc/sysctl.conf
. Відкрийте файл улюбленим редактором (моє нано, тому команда для мене є 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
* фіз
: ПІДГОТОВКА ПРИЙМАННЯ [0: 0]
# Дозволити переадресацію трафіку до eth0
-А РОЗМІСТАННЯ -s 10.99.99.0/24 -o eth0 -j МАСКВЕРДА
# Обробляйте правила таблиці NAT
КОМІТЕТ
Якщо у вас є версія ядра 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>