$sudo apt-get install pptpd
Ок. Демон установился и запустился. По-умолчанию, демон слушает TCP-порт 1723 и использует протокол GRE (он же протокол 47) . Разрешаем на фаерволе входящие подключения на этот порт по этому протоколу (IPTABLES =/sbin/iptables, если кто забыл:)) ):
$IPTABLES -A INPUT -p gre -s 0/0 -j ACCEPT $IPTABLES -A OUTPUT -p gre -m state --state RELATED,ESTABLISHED -j ACCEPT $IPTABLES -A INPUT -p tcp -s 0/0 --dport 1723 j ACCEPTили через shorewall, /etc/shorewall/rules добавляем:
ACCEPT net fw tcp 1723 GRE(ACCEPT) net fw
Далее ковыряем конфиг /etc/pptpd.conf, чтобы получилось вот такое:
option /etc/ppp/pptpd-options #noipparam logwtmp bcrelay eth0options - путь, где лежит конфиг опций; ВАЖНО!!! должно быть закаментировано! noipparam - если опция активна, то клиенту не будет передаваться его IP; logwtmp - позволяет передавать PPTP-серверу лог аутентификации пользователей через стандартную функцию logwtmp (нужна для отладки); bcrelay - разрешить передачу VPN-клиентам широковещательных пакетов с внутреннего интерфейса eth0; localip - ip нашего VPN сервера; remoteip - диапазон ip, выдаваемых клиентам.localip 10.177.36.3 remoteip 10.177.36.10-15
Теперь ковырнем конфиг опций /etc/ppp/pptpd-options:
name pptpd auth refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 proxyarp nodefaultroute logfile /var/log/pptpd.log lock nobsdcompname - имя сервера (должно совпадать с параметром server в /etc/ppp/chap-secrets см. описание ниже); auth - требовать от клиента обязательной аутентификации; refuse-pap,refuse-chap,refuse-mschap - не принимать подключения от клиентов использующих ненадежные протоколы проверки пароля (pap, chap, ms chap v1); require-mschap-v2 - требовать от клиентов наиболее (на сегодняшний день) надежный протокол проверки пароля; require-mppe-128 - использовать механизм шифрования с 128-битным ключем; proxyarp - директива серверу работать с локальной сетью не используя маскарадинг (используется если клиентам выдаются ip-адреса из локальной подсети); nodefaultroute - не менять клиентам маршрут по-умолчанию (что б при установки соединения не отваливались интернеты) ВАЖНО!!!!! Не смотря на nodefaultroute, под Windows при установке VPN все равно маршрут по-умолчанию становиться на VPN, чтобы этого не происходило идем в свойства VPN соединения → Сеть → Протокол TCP/IP → Свойства → Дополнительно, там снимаем галку "Использовать основной шлюз в удаленной сети". logfile - куда писать логи; nobsdcomp - явное указание серверу, что компьютер работает под осью отличной от BSD (OpenBSD, FreeBSD).
Добавляем пользователей в /etc/ppp/chap-secrets:
# client server secret IP addresses test pptpd testpass test1 pptpd test1pass 10.177.36.10
Таким образом мы создали пользователя "test" с паролем "testpass" и пользователя "test1" с паролем "test1pass" c явным указанием ему получать ip-адрес "10.177.36.10".
Перезапускаем демона:
$sudo /etc/init.d/pptpd restart
Все! VPN-сервер готов к работе.
Если VPN-сервер работает за NAT-том, то еще необходимо организовать к нему проброс. На VPN-сервере разрешаем форвард пакетов:
$sudo mcedit /proc/sys/net/ipv4/ip_forwardи туда пишем:
net.ipv4.ip_forward=1
потом выполняем:
$sudo sysctl -p
Ну и, собственно проброс... На шлюзе в /etc/shorewall/rules добавляем:
DNAT net loc:10.177.36.3 tcp 1723 DNAT net loc:10.177.36.3 47
На этом настройка завершена...
А если все подключается, но ничего не работает, то вполне возможно нужно изменить размер MTU, таким образом, чтобы он был меньше MTU соединения с провайдером. Например, вы подключаетесь к провайдеру с MTU=1400 (см. в настройках роутера), тогда для своего VPN сервера нужно задать меньшее значение, например 1300. Для этого идем в /etc/ppp/pptpd-options и дописываем:
mru 1300 mtu 1300
ПОЛЕЗНЫЕ ССЫЛКИ:
Жопиздан:) (с) Job Is Done
Комментариев нет:
Отправить комментарий