Vpn (pptpd)

VPN в наши дни крайне нужная вещь. К сожалению, не все провайдеры позволяют обходить блокировки парой строчек в iptables.

  • правила для iptables
  • Для windows
iptables -I INPUT -p tcp —sport 80 -m string —string «Location: http://warning.rt.ru» —algo bm -j DROP

iptables -I INPUT -p tcp —sport 443 —tcp-flags RST RST -j DROP

Есть GoodbyeDPI  
Существуют готовые платные решения проблемы, но смысла в них мало. По цене выигрыша нет, скорее наоборот, на выходе за свои деньги мы получаем только vpn и ничего более. Из плюсов, пожалуй, только количество возможных локаций. Но у нас цель попасть на нужный сайт, а не заходить на него каждый день из новой страны. Значит будем обустраивать свой vpn.

Подготовка сервера

Первое что делаем, это покупаем виртуальный сервер. Для наших целей сгодится почти любой. На чистой ubuntu server 16.04 c запущенным pptpd и двумя подключенными к нему клиентами, количество потребляемых ресурсов выглядит так:

clear ubuntu server + pptpd vpn

Как видно, подойдет действительно любой, самый дешевый сервер. Единственные критичные параметры это трафик и тип виртуализации. С первым всё понятно, а со вторым, что бы не вдаваться в подробности и не заиметь проблем в будущем, просто проходим мимо OpenVZ.

Для себя выбрал OVH. Цена вопроса 197 рублей в месяц. Скорость и пинг вполне устраивают:

speedtest ovh vpn

После того, как мы оплатили наш vps, на почту приходит письмо с ip-адресом сервера, логином и паролем пользователя root.
Далее подключаемся к серверу с помощью putty. Вводим ip, который нам прислали в письме, в поле Host name. Больше ничего не меняем, жмем кнопку open.

При первом подключении получаем предупреждение, соглашаемся нажимая «ДА».
Вводим логин и пароль, которые нам прислали. Не смущаемся при вводе пароля, ввод не отображается, но пароль вводится, просто поверьте. Дальнейший текст подразумевает, что мы выбрали для установки debian или ubuntu, в rpm дистрибутивах команды и пути могут отличаться.

В рамках этой статьи я не буду подробно рассматривать вопросы безопасности, напишу только, что первым делом после подключения требуется создать пользователя под которым мы будем работать, добавить его в группу sudo и запретить пользователю root подключаться через ssh.

Если вы счастливый обладатель статичного ip-адреса, то открываем доступ к ssh для этого адреса, запрещаем подключение всем остальным. Ещё в различных рекомендациях часто встречаю совет поменять порт по умолчанию с 22 на любой другой. Никогда этого не делаю, бессмысленно при условии, что доступ по ключу и ограничен правилами фаервола. В любом случае от таргетной атаки не спасет, а порт вы скорее всего забудете.

Установка

Сама установка и настройка vpn проста и занимает несколько минут.

Обновляем систему
sudo apt-get update && apt-get upgrade

Устанавливаем pptpd
sudo apt-get install pptpd

Редактируем конфиг pptpd
sudo nano /etc/pptpd.conf

Добавляем в конец файла (shift+insert)
localip 192.168.5.1
remoteip 192.168.5.10-200
connections 100

Редактируем pptpd-options
sudo nano /etc/ppp/pptpd-options

Добавляем
ms-dns 8.8.8.8
ms-dns 8.8.4.4

Создадим пользователя и пароль для vpn
sudo nano /etc/ppp/chap-secrets

Добавим
vasya pptpd password *

Разрешим пользователю ходить в интернет через сервер
sudo nano /etc/sysctl.conf

Добавляем
net.ipv4.ip_forward=1

Сохраняем изменения командой
sysctl -p

Перезапускаем pptpd
sudo service pptpd restart

Далее прописываем правила для фаервола
sudo ​​​​​​iptables -t nat -A POSTROUTING -s 192.168.5.0/24 -o ens3 -j MASQUERADE
sudo iptables -t mangle -A FORWARD -p tcp —tcp-flags SYN,RST SYN -j TCPMSS —clamp-mss-to-pmtu

Вместо ens3 может быть другое имя, например eth0, узнать можно командой ifconfig

Всё, вы обладатель своего личного vpn. Можно создавать подключение и пользоваться.

Читайте также:

avatar
890
  Подписаться  
Уведомление о