Настройка PPTP в Debian Ubuntu сервера и клиента

Среда, 23 июня 2010 г.
Рубрика: *NIX_*BSD сиcтемы -> В помощь сисадмину
Метки: | | | | |
Просмотров: 61506
Подписаться на комментарии по RSS

В качестве исходных данных будем использовать:

Debian Lenny 5.0.4 с адресом в локальной сети 192.168.0.10.

Для начала устанавливаем всё необходимое:

apt-get install ppp pptpd

Далее приступаем к настройке. Всё достаточно просто.

Первым делом открываем в редакторе файл /etc/pptpd.conf и дописываем в конец следующие строки:

$ nano /etc/pptpd.conf
... .. ..
# IP-адрес сервера в локальной сети
localip 192.168.0.10
# Диапазон адресов для клиентов PPTP-сервера
remoteip 192.168.0.200-235
... .. ..

Так же добавляем в /etc/ppp/pptpd-options следующие строчки:

$ nano /etc/ppp/pptpd-options
... .. ..
# требуем авторизацию у клиентов
auth
# Используем шифрование
require-mppe
... .. ..
# Укажем файл, в который писать лог:
logfile /var/log/pptpd.log
$ touch /var/log/pptpd.log

Добавляем наших пользователей в /etc/ppp/chap-secrets, таким видом:

$ nano /etc/ppp/chap-secrets

# Если пользователь должен динамически получать IP-адрес

# из диапазона remoteip в pptpd.conf:

user1 pptpd password "*"

# Если мы хотим привязать определённый IP к логину:

user2 pptpd password2 "192.168.0.205"

Быстрое и удобное добавления пользователей из консоли:

$ echo "test1 pptpd 11111 * " >> /etc/ppp/chap-secrets

Рестанем pptpd:

$ /etc/init.d/pptpd restart

Настройка PPTP-клиента в Debian/Ubuntu

$ apt-get install pptp-linux

Для простоты введем переменные:

название нашего соединения ($NameVPN)

IP address(host) нашего сервера - ($SERVER),

наше имя пользователя (username)($USERNAME),

наш пароль (password)($PASSWORD),

так же если есть домен (domain)($DOMAIN)

Приводим наши файлы до следующего вида:

$ nano /etc/ppp/options.pptp
lock
nodetach
noauth
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate
$ nano /etc/ppp/chap-secrets

Внимание: параметр nodetach, выводит в стандартный поток вывода ошибок — stderr, выводится на терминал. Это удобно для отладки соединения. После того, как Вы убедились, что скрипт работает, как задумано, параметр nodetach можно убрать и pppd при запуске будет уходить в фоновый режим, перенаправляя stderr скрипта в файл /etc/ppp/connect-errors.

# Secrets for authentication using CHAP
# client server secret IP addresses
($USERNAME) PPTP ($PASSWORD) *
Замечания: если вы используете домен, то используете косые черты и имя домена.
$DOMAIN\\$USERNAME PPTP $PASSWORD *

Создаем файл $NameVPN в /etc/ppp/peers/:

$ nano /etc/ppp/peers/$NameVPN
pty "pptp $SERVER --nolaunchpppd"
name $DOMAIN\\$USERNAME
remotename PPTP
require-mppe-128
defaultroute
file /etc/ppp/options.pptp
ipparam $TUNNEL

Если нам ни нужна поддержка MPPE,то удаляем строчку из require-mppe-128 из файла.

Подключения:

$ pon $NameVPN

Разрыв связи:

$ poff $NameVPN

Если нужно увидеть отладочную информацию:

pon $NameVPN debug nodetach

Если нужен автоматический запуск при загрузке системы, добавьте в файл /etc/network/interfaces следующие строки:

$ nano /etc/network/interfaces
auto tunnel
iface tunnel inet ppp
provider $NameVPN
up route del default
up route add default dev ppp0

Заметка: мне пришлось поставить апперанд & после ($NameVPN&), иначе загрузка шла до подключения ppp и на этом останавливалась.

Добавлено:

так же можно прописать в rc.local pon [$NameVPN]
sleep 5
route add default dev ppp0
# если надо другие роуты
route add -net 192.0.0.0 netmask 255.255.0.0 gw 192.168.0.7

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru pikabu.ru blogger.com liveinternet.ru google.com

Комментариев: 3

  1. Спасибо за статью. Но что писать взамен $TUNNEL? о_О

  2. Я в $TUNNEL пишу названия, т. е myvpn, все работает.

  3. Мой рабочий конфиг c автоматическим поднятием шлюза по умолчанию через ppp :

    $ cat /etc/ppp/peers/vpn
    pty "pptp 192.168.100.6 --nolaunchpppd"
    name $USER
    remotename PPTP
    require-mppe-128
    defaultroute
    replacedefaultroute
    # Восстановить связь в случае разрыва
    persist
    file /etc/ppp/options.pptp
    ipparam vpn
    $ cat /etc/network/interfaces
    .... .....
    iface tunnel inet ppp0
    provider vpn
    auto tunnel
    up route add default dev ppp0
    ....
    $ route
    Kernel IP routing table
    Destination Gateway Genmask Flags Metric Ref Use Iface
    ...... ....
    default * 0.0.0.0 U 0 0 0 ppp0

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)