PPTP не является эталоном безопасности и плохо дружит с фаерволами, но является одним из самых простых способов построения изолированной локальной сети и установки защищённого соединения с ней. При том, что протокол PPTP достаточно дырявый, чтоб не использовать его в корпоративных сетях и там, где нужна гарантия конфиденциальности, он вполне приемлем для построения частных сетей для обмена информацией, либо выхода в Интернет через такие сети. В любом случае, уязвимость протокола не останавливает многих интернет-провайдеров от подключения своих клиентов именно через PPTP.
При определённых настройках между клиентом и сервером устанавливается прямое шифрованное соединение в стандартной, незащищённой сети. Таким образом данный тип соединения может быть использован для выхода в Интернет из публичных Wi-Fi сетей и интернет-кафе.
Я настоятельно не рекомендую без острой необходимости использовать 32-х битные дистрибутивы современных операционных систем в виду устаревшей архитектуры и того, что сами разработчики уделяют им гораздо меньшее внимание, по сравнению с 64-х битными.
И так, после того как с сервером мы определились, то приступаем к установке.
aptitude install pptpd
Разрешаем IP-forwarding. Для этого редактируем файл /etc/sysctl.conf и в нём либо расскоментируем, либо добавляем следующую строку, если таковая отсутствует:
net.ipv4.ip_forward = 1
Для принятия изменений в терминале командуем:
sysctl -p
Правим файл /etc/pptpd.conf и приводим его к следующему виду:
Где localip — IP виртуального сетевого интерфейса ppp0. Не нужно прописывать сюда внешний IP сервера, или IP других сетевых интерфейсов сервера. Remoteip — диапазон клиентских адресов в количестве десяти (от 10.30.1.30 и до 10.30.1.40), а так же (через запятую) выделенные адреса (если таковые необходимы). В моём случае выделенный адрес один. Вы можете указать здесь любое приемлемое значение. Например:
В файле у нас два пользователя user1 и user2, password — пароли пользователей, звёздочка в кавычках говорит о том, что user1 получит свободный IP из указанного в /etc/pptpd.conf диапозона, а за user2 закреплён выделенный адрес. Соблюдение синтаксиса обязательно.
Где ms-dns — DNS сети. Указаны публичные адреса Google, но можно выставить свои, если таковые имеются. MTU и MRU по умолчанию установлены в значение 1500. Если удалить эти две строки, то будет использоваться значение по умолчанию. В моём случае при значениях по умолчанию наблюдается большая потеря пакетов. То есть к этим строкам подход индивидуальный. Всё зависит от настроек клиентской стороны и от скорости соединения в целом.
Перезагружаем pptp сервер
service pptpd restart
Проверяем.
netstat -alpn | grep :1723
Если получаем нечто похожее на то, что на скриншоте, то всё работает как надо. Создаём правила NAT для iptables