Настраиваем простейший VPN сервер для дома

Сейчас, многие провайдеры предоставляют доступ в интернет по технологии PPTP, или проще говоря VPN. Т.е. пользователи объеденены в одну локальную сеть доступ к которой обычно бесплатен, а выход в интернет осуществляется путём подключения к VPN серверу. Всё бы замечательно, но у многих провайдеров до сих пор просто грабительски цены на безлимитные тарифы, что и заставляет людей объединятся и делить интернет на всех. Провайдер которым я пользуюсь не такой, но и его цены на безлимиты раньше были отнюдь не маленькими. Тогда я на свой небольшой домашний сервер решил поставить VPN сервер и с друзьями скидывались на безлимитный тариф. Сейчас уже конечно всё более радужно и у каждого из нас свой отдельный безлимит на 8Мбит\с, однако есть и другие провайдеры в других городах. Думаю людям которые подключены к подобным провайдерам, данная статья будет полезна.

На домашнем сервере, так же как собственно и на всех остальных серверах которые под моим руководством, традиционно установлен Debian stable.

Первое что нам нужно, это включить IP forwarding в ядре. Включим прямо сейчас. Так сказать "на лету":

sudo -i
sysctl -w net.ipv4.ip_forward=1

И добавим в /etc/sysctl.conf чтобы он был включен всегда:

net.ipv4.ip_forward=1

Теперь установим собственно нужный пакет:

sudo aptitude install pptpd

Приводим конфиг к такому виду:

name pptpd #имя сервера
auth # Требуем авторизацию у клиентов
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
nodefaultroute
lock
nobsdcomp

Далее изменим ip адрес сервера и выдаваемые им внутренние ip адреса. Они совпадали с ip адресами серверов моего провайдера, поэтому требовалось изменить. Открываем /etc/pptpd.conf и в самом конце изменяем строки:

localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

Например на такие:

localip 192.168.5.1
remoteip 192.168.5.2-24

localip - адрес сервера, remoteip - диапазон адресов которые он будет выдавать.

Добавим пользователей в /etc/ppp/chap-secrets

user1 pptpd user1pass *
user2 pptpd user2pass 192.168.5.3

Первое имя пользователя, второе имя сервера, далее пароль и выдаваемый pptpd сервером ip адрес. В данном примере у user1 пароль user1pass и выдаваться любой ip адрес из свободных, а у user2 пароль user2pass и ему всегда будет выдаваться адрес 192.168.5.3

Последний шаг - настройка firewall'а.

iptables -t nat -I POSTROUTING -s 192.168.5.0/255.255.255.0 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Не забудьте сменить 192.168.5.0/255.255.255.0 на свой диапазон адресов который указан в /etc/pptpd.conf


Понравилась статья? Поделись с друзьями!




Комментарии на этом сайте требуют включенного Javascript в вашем браузере. Вероятно, ваш браузер не поддерживает Javascript, или он был отключен по каким-то причинам. Если вы хотите прокомментировать пост, или просто почитать комментарии, то пожалуйста, включите Javascript или попробуйте открыть эту страницу другим браузером.