Налаштовуємо pptp сервер в ubuntu server

Привіт, сьогодні я покажу як можна зробити, мабуть, найпростіший варіант VPN сервера. Робити його я буду на Ubuntu 16.04, і варіант цей - PPTP. Це не найкращий варіант, але зате самий простий і швидкий в налаштуванні, і підтримується дуже багатьма пристроями і системами за замовчуванням, без установки додаткових програм. Підняти його можна, буквально за кілька хвилин.

Перейдемо в режим суперкористувача, якщо ви ще не в ньому:

і встановимо pptpd:

правимо конфиг pptpd:

його вміст має бути таким:

Далі задамо логіни і паролі клієнтів:

# Secrets for authentication using CHAP
# Client server secret IP addresses
test1 pptpd testtest 192.168.6.100

Далі зробимо, щоб користувачі могли ходити в інтернет через наш сервер:

Після чого зробимо маськарадінг з нашої vpn мережі в інтернет, тут, в залежності від того, який фаерволл ви використовуєте, можна робити по-різному, я покажу для голого iptables і для ufw.

У першому випадку, для чистого iptables:

Відповідно eth0 - ваш інтерфейс, що дивиться в інтернет, 192.168.6.0 - мережа vpn.

В кінець файлу додаємо:

pre-up iptables-restore

У другому випадку для ufw:

Знаходимо там DEFAULT_FORWARD_POLICY і робимо його ACCEPT:

* nat
: POSTROUTING ACCEPT [0: 0]
-A POSTROUTING -s 192.168.6.0/24 -o eth0 -j MASQUERADE
COMMIT

Далі для застосування нового правила можна виконати:

Налаштування PPTP сервера в Ubuntu Server 16.04 закінчена, можна пробувати підключитися. Як протоколу перевірки автентичності обов'язково потрібно вказувати mschapv2 і обов'язково потрібно включати шифрування, інакше сервер не дозволить підключення.

За замовчуванням логи пишуться в / var / log / syslog, там ви можете побачити що відбувається при підключенні клієнтів.

Якщо з якихось причин вам потрібно буде розірвати всі ppp з'єднання, то зробити це можна командою:

Зауваження: якщо ви плануєте піднімати сервер на VPS, то є ймовірність, що він не запрацює, в разі, якщо хостер використовує openvz або йому подібні системи віртуалізації. Там, як показала практика, дуже часто, в ядрі відключена підтримка PPP. Якщо це так (а якщо це так, то в логах, при спробі підключення будуть вискакувати помилки, типу - пристрій / dev / ppp, не знайдено чи ні доступу до / dev / ppp і т.п.), то потрібно уточнити у хостера, включені модулі ppp в ядрі віртуальної машини. Якщо вони не включені і хостер не хоче їх включати, то простіше змінити хостера ніж воювати з цією бідою.

Швидко перевірити використовується openvz чи ні, можна так:

Якщо цей файл існує, то віртуальна машина - openvz або virtuozo, і ви потрапляєте в групу ризику =)

Схожі статті