PPTP VPN сервер на базе Linux

Иногда приходится бывать в странах, где власти слишком уж любят контролировать своих граждан и недолюбливают всякие “твиттеры и фейсбуки”. Да и мало что там они по пути отфильтровывают и проверяют? VPN (Virtual Private Network) в таком случае – самое лучшее решение. В моем случае – до домашней сети.

Из всех протоколов VPN, используемых в настоящее время, PPTP считается самым уязвимым, но уязвим именно к серьезной атаке. Однако, он самый распространенный (клиенты поставляются практически со всеми операционными системами, включая мобильные) и очень легко настраивается.

Кофигурация сети:
1. Аппаратный маршрутизатор + WiFi AP – 10.0.0.1 (in, 10.0.0.0/24), DHCP (ext). В стандартной прошивке VPN нет.
2. PPTP сервер – 10.0.0.2 (eth2, 10.0.0.0/24) – старенький ноутбук с Ubuntu 8.04LTS Server, потоянно включен.
Маршрутизатор раздает IP по DHCP (10.0.0.100-10.0.0.199) во внутреннюю сеть, порт 1723/tcp прокинут внутрь на 10.0.0.2.

Базовая настройка

1. Установим PPTP сервер

$ sudo apt-get update
$ sudo apt-get install pptpd

2. В конфигурацию сервера добавим диапазон выделяемых IP (простой вариант), localip – это внешний адрес интерфейса, в моем случае eth2. Диапазоны 192.168.0.0/24 и 192.168.1.0/24 лучше избегать, так как они чаще всего оказываются на удаленных точках доступа.

$ sudo nano /etc/pptpd.conf
localip 10.0.0.2
remoteip 10.0.0.200-210

3. Пропишем DNS для удаленных компьютеров

$ sudo nano /etc/ppp/options
# Specify which DNS Servers the incoming Win95 or WinNT Connection should use
# Two Servers can be remotely configured
ms-dns 10.0.0.1 # мой маршрутизатор
ms-dns 8.8.8.8 # Google Open DNS

4. Пропишем логины и пароли (для себя и друзей)

$ sudo nano /etc/ppp/chap-secrets
# client server secret IP addresses
login1 pptpd password1 *
login2 pptpd password2 *
login3 pptpd password3 *
login4 pptpd password4 *

5. Перегружаем сервер PPTP
$ sudo /etc/init.d/pptpd restart

Все должно работать. Если не работает, смотрим в /var/log/messages на сервер и смотрим включена ли у нас маршрутизация в /etc/sysctl.conf (net.ipv4.ip_forward=1).

Share/Bookmark

Leave a comment

Your comment