Установка pptpd-server на Debian 8 с автоматическим прописыванием маршрутов
===Устанавливаем и настраиваем pptpd===
apt-get install ppp pptpd
В следующих файлах проверяем\дописываем строки:
/etc/pptpd.conf
option /etc/ppp/pptpd-options
logwtmp
localip 172.16.77.254
- внутренний адрес сервера
remoteip 172.16.77.100-253
- адреса, выдаваемые клиентам
/etc/ppp/pptpd-options
name pptpd
- имя сервера
refuse-eap
- запрещаем авторизацию по старым протоколам
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
- аутентификация по самому защищенному протоколу
require-mppe-128
- максимально возможный механизм шифрования
ms-dns 8.8.8.8
- передача клиенту DNS серверов
ms-dns 8.8.4.4
#proxyarp
- комментируем, что-бы клиенты могли работать с внутренней сетью
lock
- блокировка соединений
nobsdcomp
- отключаем BSD компрессию
novj
- отключаем компрессию, используемую в старых windows
novjccomp
nologfd
- блокируеv запись в системный журнал через системную функцию stderr
auth
require-mppe
Создаем лог\пасс для клиентов в файле /etc/ppp/chap-secrets
user pptpd password 172.16.77.1
- для выдачи конкретного адреса
user pptpd password *
- для выдачи свободного адреса из диапазона, прописанного в /etc/pptpd.conf
перезапускаем pptpd командой
/etc/init.d/pptpd restart
Для добавления pptpd в автозагрузку надо выполнить следующие команды:
cd /etc/systemd/system/multi-user.target.wants/
ln -s /lib/systemd/system/pptpd.service
Для того, чтобы клиенты смогли выходить в интернет через наш сервер:
Создадим файл /etc/nat, и запишем в него строки:
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t filter -A INPUT -p gre -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -t filter -A FORWARD -i ppp+ -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source [IP сервера]
Сделаем файл исполняемым:
chmod +x /etc/nat
Добавим в конец файла /etc/network/interfaces строку:
post-up /etc/nat
Для прописывания маршрутов после подключения клиентов создадим файл /etc/ppp/ip-up.local и запишем след. строки
#!/bin/bash
- $5 это адрес, выданный pptp клиенту, $1 это имя интерфейса
if [ "$5" = "172.16.77.1" ]; then
route add -net 172.16.7.0 netmask 255.255.255.0 gw $5 $1
chmod +x /etc/ppp/ip-up.local
- Делаем файл исполняемым
/etc/init.d/pptpd restart
- перезагружаем pptpd