pptp-linux

Homepage: PPTP Client

Для поднятия и настройки VPN-соединения нам потребуются всего две программы - Протокол PPP (http://samba.org/ppp/) и pptp (http://pptpclient.sourceforge.net/). Программа ppp с вероятностью 99% уже стоит в вашем дистрибутиве, пакет, содержащий pptp, в разных дистрибутивах называется по-разному, в основном pptp-linux. После установки в системе должны присутствовать два исполняемых файла - /usr/sbin/pppd и /usr/sbin/pptp. Вкратце - pptp создает туннель к VPN-серверу, через который ppp соединяется и работает как обычное модемное соединение. Естественно, для поднятия соединения нам необходима рабочая локальная сеть и данные провайдера об IP (или имени) VPN-сервера, VPN-логине и VPN-пароле. Также пригодится информация об используемом протоколе аутентификации и о наличии шифрования траффика. Подавляющее большинство провайдеров используют протокол аутентификации MS-CHAP v2, а о наличии шифрования нам подскажут логи ошибок pppd.

Настройка pptpclient

# aptitude install pptp-linux
# nano /etc/ppp/peers/sparvpnmpd
pty "pptp x.x.x.x --nolaunchpppd"
user VPN_LOGIN 
password "VPN_PASSWORD" 
nodeflate
nobsdcomp
noauth
require-mppe-128
refuse-eap
refuse-chap
refuse-mschap
# pppd call sparvpnmpd debug nodetach
  • Автоматизация

Когда pppd устанавливает соединение, он автоматически выполняет скрипты из директории /etc/ppp/ip-up.d, когда соединение рвется - /etc/ppp/ip-down.d. Создадим файл и впишем туда роутинг.

# touch /etc/ppp/ip-up.d/sparvpnmpd
# chmod +x /etc/ppp/ip-up.d/sparvpnmpd
# nano /etc/ppp/ip-up.d/sparvpnmpd
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.101
route add -net 192.168.35.0 netmask 255.255.255.0 gw 192.168.1.101
route add -net 10.90.90.0 netmask 255.255.255.0 gw 192.168.1.101
route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.1.101
route add -net 10.26.95.0 netmask 255.255.255.0 gw 192.168.1.101
  • Запускать и прерывать соединение можно командами
    pon sparvpnmpd
    poff sparvpnmpd

    Если есть необходимость запускать соединение от простого пользователя, установите программу sudo и в файл /etc/sudoers впишите:

    sergo   myhost = NOPASSWD: /usr/bin/pon, /usr/bin/poff

    Соответственно, замените sergo и myhost на имя вашего пользователя и его машины. Он сможет запускать и прерывать соединение командами

    sudo pon sparvpnmpd
    sudo poff sparvpnmpd
PQ VPS сервера в 28+ странах.