пошаговая настройка pptp-соединения (aka vpn) (пока в процессе разработки)

Полезные советы и программы от пользователей нашего форума.

Модератор: Модераторы разделов

Аватара пользователя
Unicorn
Сообщения: 689
Статус: Бригадир мучеников Аль-Аксы
ОС: Gentoo 100% fresh, Archlinux

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение Unicorn »

polachok

Done.
http://ru.posix.wikia.com/wiki/PPTP

all
Кушать подано. Садитесь жрать, пожалуйста! :D
Gentoo, Archlinux / Athlon2600+ / SATA RAID 0 LVM / GNOME
Спасибо сказали:
Аватара пользователя
Unicorn
Сообщения: 689
Статус: Бригадир мучеников Аль-Аксы
ОС: Gentoo 100% fresh, Archlinux

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение Unicorn »

sash-kan

Помнится, ты обещал добавить в руководство параллельное использование команды ip
Это еще в силе?

P.S. С твоей подачи начал изучать возможности ip. Впечатлен.
Gentoo, Archlinux / Athlon2600+ / SATA RAID 0 LVM / GNOME
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение sash-kan »

(Unicorn @ Dec 25 2006, в 10:15) писал(а):Помнится, ты обещал добавить в руководство параллельное использование команды ip
Это еще в силе?
ну как сказать. не то, чтобы обещал добавить. просто предлагал вывод давать в двух вариантах.
и тут получается, что по выводу того же route (а это для меня не то чтобы темный лес, но с _очень_ большим трудом поддается пониманию) надо из головы нарисовать вывод ip r ):
могу, конечно, и пофантазировать… (:
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Olden Gremlin
Сообщения: 365
Статус: RAP22-RIPE
ОС: Debian GNU/Linux Wheezy

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение Olden Gremlin »

sash-kan писал(а):
25.12.2006 14:52
(Unicorn @ Dec 25 2006, в 10:15) писал(а):Помнится, ты обещал добавить в руководство параллельное использование команды ip
Это еще в силе?
ну как сказать. не то, чтобы обещал добавить. просто предлагал вывод давать в двух вариантах.
и тут получается, что по выводу того же route (а это для меня не то чтобы темный лес, но с _очень_ большим трудом поддается пониманию) надо из головы нарисовать вывод ip r ):
могу, конечно, и пофантазировать… (:


можно пофантазировать вместе... благо за соседним столом сидишь ;)
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
nic-hdl: RAP22-RIPE
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение sash-kan »

(Unicorn @ Dec 25 2006, в 10:15) писал(а):Помнится, ты обещал добавить в руководство параллельное использование команды ip
в основном, добавил. после варианта ifconfig/route добавил слово «или» а затем — вариант с ip. возможно, не очень доступно выглядит. если у кого есть время и идеи, как сделать покрасивее, — you are welcome.
http://ru.posix.wikia.com/wiki/PPTP
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение sash-kan »

(polachok @ Dec 19 2006, в 20:38) писал(а):как насчет закинуть сюда - ru.posix.wikia.com/PPTP и совместными усилиями редактировать?
не подскажешь, почему мой ник sash-kan мог не понравиться движку и он переименовал меня в Sash-kan (с большой буквы)?
а главное — нельзя ли _не_ переименовывать?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение sash-kan »

огромная просьба не постить здесь вопросы про поднятие соединения. создавайте, пожалуйста, отдельные темы. например, в администрировании или в дистрибутивном разделе. естественно, после поиска по форуму на предмет проблемы, схожей с Вашей.
здесь предлагаю обсуждать именно руководство, в данный момент расположенное по этому адресу.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение TuLiss »

Для тестирование VPN соединения из под linux:

В системе должен быть ppp-2.4.4-r4 с поддержкой mppe-mppc (если требует провайдер, тогда добавте при вызове pptp посмотреть опции в man pptp)

так же пакет pptpclient (у меня версия 1.7.1-r1 )

Добавте VPN сервер в роутинг
route add -host $VPNSERVER gw $INET_GW

Далее запускаем сам VPN

pptp $VPNSERVER noauth nobsdcomp nodeflate refuse-eap refuse-pap user YOUR_USERNAME password YOUR_PASSWORD &

P.S если происходит ошибка, возможно что надо подключить, отключить некоторые параметры. Это можно сделать именно в этой строке.
Например у меня без refuse-cap и refuse-pap все соединялось но не було интернета.

ifconfig - смотрим есть ли ppp0, если да то

route add default dev ppp0

и смотрим, добавился ли роутинг

route -n

если все есть, пропуем ping (= (рекомендую в виде ip, иначе проверяйте прописан ли DNS в /etc/resolv.conf)
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Civil
Сообщения: 199
ОС: Gentoo Current

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение Civil »

sash-kan
А не лучше ли в ip-up сделать:

Код: Выделить всё

. /etc/ppp/config.vpn
IP_LIST="${IP_LIST}
`${HOST_CMD} ${VPN_SERVER} | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+'`"
ROUTE_FAILED="0"

for ADDRESS in `echo "${IP_LIST}"`
 do
        route add -host ${ADDRESS} gw ${DEF_GATEWAY} || ROUTE_FAILED="1"
 done

в config.vpn указывать:

Код: Выделить всё

HOST_CMD="host"
VPN_SERVER="vpn.corbina.net"
DEF_GATEWAY="10.184.0.17"
IP_LIST="games1.corbina.net \
        games2.corbina.net \
        games3.corbina.net \
        dc.corbina.net \
        search.corbina.net \
        irc.corbina.net \
        corbina.tv \
        homenet.corbina.net \
        torrent.corbina.net \
        files.corbina.net \
        ftpg.corbina.net \
        video.corbina.tv \
        megafilms.ru \
        mara.corbina.net"

Например? В ip-down соответственно удалять ИПы из списка. Помоему так куда легче вносить изменения и более наглядно выглядит ip-up и ip-down.
"Кто управляет прошлым, тот управляет будущим; кто управляет настоящим, тот управляет прошлым" (Д. Оруэлл "1984")
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение sash-kan »

Civil, не совсем понял — а при чем тут какая-то corbina? это имя Unicorn использовал в инструкции в качестве «рыбы».
а задумана инструкция как универсальное руководство.
и размещена она на http://ru.posix.wikia.com/wiki/PPTP , а не в локальной сети какого-нибудь провайдера.
если имеете возможность и желание разместить копию руководства (с предложенными Вами дополнениями) в какой-нибудь локальной сети — я лично ничего против не имею.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Civil
Сообщения: 199
ОС: Gentoo Current

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение Civil »

не совсем понял — а при чем тут какая-то corbina? это имя Unicorn использовал в инструкции в качестве «рыбы».

Собственно говоря не просто использовал в качестве "рыбы", но и по сути под неё делал, но это не важно. А так - я прекрасно понимаю и тоже взял ту-же корбину в качестве "рыбы" с целью предложить путь для ещё большей универсализации. Благо на примере, как в инструкции данной, куда удобнее рассматривать.

а задумана инструкция как универсальное руководство.

Я преркарстно понимаю, что привязка к корбине делается просто так, поэтому и сам сделал аналогичным образом.
Суть предложенных изменений:
1) Ввести переменную, которая будет содержать название комманды по которой можно получить список ИП адрессов ВПН-сервера (т.к. их обычно несколько) - т.е. по сути содержит либо host, либо hostx.
2) Вынести адресс ВПН-сервера в переменную.
3) Сделать переменную-список, содержащую адресса серверов, к которым можно унифицированно прописать маршруты
4) Для удобства вынести в отдельный фаил, который включать в ip-up и ip-down
5) Делается ${HOST_CMD} ${VPN_SERVER} | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+' и дописывается к списку адрессов, к которым мы будем прописывать маршруты - по сути этой коммандой мы получаем аккуратненький списочек ИП-адрессов. В цикле проходимя по ним route'ом и добалвяем (ну или удаляем, если скрипт ip-down) эти маршруты.
Таким образом получается более куда более универсальный механизм (пользователю достаточно изменить список ресурсов, поменять в 2-х местах адресс ИП сервера и вбить пароль). Плюс возрастает читабельность по сравнению с:

Код: Выделить всё

route -n add -host IP_ADDRESS1
route -n add -host IP_ADDRESS2
route -n add -host IP_ADDRESS3
....
route -n add -host IP_ADDRESSN

Который в данный момент предложен в том руководстве (читабельность которого при наличии десятка ВПН серверов заметно падает, да и крайне лень вбивать их все вручную).
Вот в чём суть.
А корбина удобна в качестве примеров, т.к. имеет как группу полу-интернет серверов, траткующихся для её пользователей как локальные, так и кучу ВПН-серверов, к которым уже крайне лень прописывать маршруты фактически вручную.
"Кто управляет прошлым, тот управляет будущим; кто управляет настоящим, тот управляет прошлым" (Д. Оруэлл "1984")
Спасибо сказали:
Аватара пользователя
Unicorn
Сообщения: 689
Статус: Бригадир мучеников Аль-Аксы
ОС: Gentoo 100% fresh, Archlinux

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение Unicorn »

Civil
Не согласен. Это сильно усложнит и так не самую простую для новичков тему. Когда я сам решал для себя эту проблему, выражения типа ${HOST_CMD} ${VPN_SERVER} | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+' приводили меня в ужас.
Цель руководства простая - дать универсальный инструмент новичку и не отпугнуть его командной строкой. Потом, когда он освоится, он может дописать скрипты по своему вкусу.
Gentoo, Archlinux / Athlon2600+ / SATA RAID 0 LVM / GNOME
Спасибо сказали:
Civil
Сообщения: 199
ОС: Gentoo Current

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение Civil »

Это сильно усложнит и так не самую простую для новичков тему.

Если так считать, то нужно стремится к простому и универсальному установщику, который сам всё сгенерирует наиболее эффективным и универсальным образом. ИМХО.
Да и лучше, помоему, сразу объяснить (хотя-бы отдельной главой) как можно скрипт усовершенствовать, т.е. рассмотреть несколько вариантов. Т.к. большая часть пользователей врядли захотят вникать, а разжевать данную конструкцию вполне по силам в рамках методички по настроке ВПНа. Я имею в виду, что помимо текущего раздела "Автоматизация" может быть имеет смысл добавить что-нибудь по имени "Окончательная шлифовка скриптов" и т.д., где написать краткое (очень) введение в баш на пример данных конструкций - объяснить про переменные, про циклы, и про то, что-же делает данный ужасный греп, затем предложить подобный вариант усовершенствования, как куда более комплексный и лёгкий. А для самых ленивых можно сделать архив с уже готовым скриптом, где нужно лишь в двух фаилах вбить нужные данные, а затем просто пользоваться.
"Кто управляет прошлым, тот управляет будущим; кто управляет настоящим, тот управляет прошлым" (Д. Оруэлл "1984")
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение sash-kan »

Civil, так может быть, Вам стоит написать статейку по этому поводу?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Civil
Сообщения: 199
ОС: Gentoo Current

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение Civil »

так может быть, Вам стоит написать статейку по этому поводу?

Ну если такой подход Вы считаете неприемлимым в рамках вашего howto, то не легче ли сказать прямым текстом, что-бы не продолжать дальше эту бессмысленную дискуссию? Или я Вас неправильно понял?
"Кто управляет прошлым, тот управляет будущим; кто управляет настоящим, тот управляет прошлым" (Д. Оруэлл "1984")
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение sash-kan »

Civil, да, я, как мелкий соавтор, полностью разделяю уже озвученную основным автором мысль о том, что руководство мы хотим видеть как можно более простым и компактным. (Unicorn, надеюсь, я правильно излагаю от твоего имени? ;) )
я лично, например, считаю, что кое-где можно было бы сократить и имеющуюся редакцию. но это так, к слову.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение sash-kan »

и опять-таки повторюсь. я буду только за, если Вы создадите более расширенное руководство. включающее и начальный курс shell-программирования и вообще все, что Вы захотите изложить. и, естественно, за основу можете взять обсуждаемое здесь howto.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1137
ОС: fedora

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение AlexYeCu »

Я делал так...

Рецепт никоим образом не претендует на универсальность, однако все предельно просто...
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение sash-kan »

AlexYeCu, это совсем из другой оперы. диаметрально противоположной с точки зрения подхода.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Unicorn
Сообщения: 689
Статус: Бригадир мучеников Аль-Аксы
ОС: Gentoo 100% fresh, Archlinux

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение Unicorn »

sash-kan писал(а):
10.07.2007 09:50
Unicorn, надеюсь, я правильно излагаю от твоего имени? ;) )


Абсолютно правильно, Александр! Мы верны заветам KISS :)
Если у тебя есть желание сократить сей опус без потери его функциональности -- смело сокращай.
Gentoo, Archlinux / Athlon2600+ / SATA RAID 0 LVM / GNOME
Спасибо сказали:
Аватара пользователя
Gaspar
Сообщения: 4
ОС: Debian GNU/Linux Etch

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение Gaspar »

На мой взгляд, следовало бы упомянуть, что шифрация может быть как 128-ми битная, так и 40-ка битная.

Соответственно require-mppe-128 или require-mppe-40.

В статье нету логов ошибок, если шифрация настроена неправильно. А выглядит оно так:

Случай первый - шифрация вообще не настроена:

Код:

using channel 1 Using interface ppp0 Connect: ppp0 <--> /dev/pts/1 sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x13267c26> <pcomp> <accomp>] rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0xf2fb411c> <pcomp> <accomp>] sent [LCP ConfAck id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0xf2fb411c> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x13267c26> <pcomp> <accomp>] sent [LCP EchoReq id=0x0 magic=0x13267c26] rcvd [LCP EchoReq id=0x0 magic=0xf2fb411c] sent [LCP EchoRep id=0x0 magic=0x13267c26] rcvd [CHAP Challenge id=0xc8 <f123af8ae1f4b9dd3d9b44d3c49f5436>, name = "titan"] sent [CHAP Response id=0xc8 <69feaba8e45ae5769fcc2ea645d2c55600000000000000000ff3eafcd3e0918489dd78f6ef3bf fcb5aae77ffded8651200>, name = "supersecret"] rcvd [LCP EchoRep id=0x0 magic=0xf2fb411c] rcvd [CHAP Success id=0xc8 "S=3D91DBDD5FC76FB80B29B4F9BD852D3AC42A4BFC"] CHAP authentication succeeded sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0>] rcvd [CCP ConfReq id=0x1 <mppe +H -M -S +L -D -C>] sent [CCP ConfReq id=0x1] sent [CCP ConfRej id=0x1 <mppe +H -M -S +L -D -C>] rcvd [IPCP TermAck id=0x1] rcvd [CCP ConfAck id=0x1] rcvd [LCP TermReq id=0x2 "MPPE required but peer refused"] LCP terminated by peer (MPPE required but peer refused) sent [LCP TermAck id=0x2] Connection terminated. Script pptp 172.24.8.5 --nolaunchpppd finished (pid 3348), status = 0x0


Случай второй - шифрация настроена, но неправильно (вместо 40-ка бит указано 128 бит):

Код:

using channel 8 Using interface ppp0 Connect: ppp0 <--> /dev/pts/1 sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x866e2345> <pcomp> <accomp>] rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0xc84e8bc5> <pcomp> <accomp>] sent [LCP ConfAck id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0xc84e8bc5> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x866e2345> <pcomp> <accomp>] sent [LCP EchoReq id=0x0 magic=0x866e2345] rcvd [LCP EchoReq id=0x0 magic=0xc84e8bc5] sent [LCP EchoRep id=0x0 magic=0x866e2345] rcvd [CHAP Challenge id=0xd3 <846c26d14ebeb56a070413f6ada8591f>, name = "titan"] sent [CHAP Response id=0xd3 <d18b73092c89033c53c0f7469ededa8400000000000000003398a7750fb598698d3ad392ca3b1 3fa0f5e1fb128564f1500>, name = "supersecret"] rcvd [LCP EchoRep id=0x0 magic=0xc84e8bc5] rcvd [CHAP Success id=0xd3 "S=8D97B9F1D972DA5A22D8B475CB5DA95DD0197869"] CHAP authentication succeeded sent [CCP ConfReq id=0x1 <mppe +H -M +S -L -D -C>] rcvd [CCP ConfReq id=0x1 <mppe +H -M -S +L -D -C>] MPPE required but peer negotiation failed sent [LCP TermReq id=0x2 "MPPE required but peer negotiation failed"] sent [CCP ConfRej id=0x1 <mppe +H -M -S +L -D -C>] rcvd [LCP TermReq id=0x2 "MPPE required but peer negotiation failed"] sent [LCP TermAck id=0x2] rcvd [LCP TermAck id=0x2] Connection terminated.


И наконец, как должно выглядеть, если всё настроено правильно:

Код:

using channel 12 Using interface ppp0 Connect: ppp0 <--> /dev/pts/1 sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x2e1d63ab> <pcomp> <accomp>] rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x516f03d0> <pcomp> <accomp>] sent [LCP ConfAck id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x516f03d0> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x2e1d63ab> <pcomp> <accomp>] sent [LCP EchoReq id=0x0 magic=0x2e1d63ab] rcvd [LCP EchoReq id=0x0 magic=0x516f03d0] sent [LCP EchoRep id=0x0 magic=0x2e1d63ab] rcvd [CHAP Challenge id=0x96 <c80b0d6f75cabcd599de5e0dd66ef040>, name = "titan"] sent [CHAP Response id=0x96 <7d0902b09c3db55bc34f84298e65cae40000000000000000c72205b7bd3319759924735111688 c4b1cb8082d330dfae600>, name = "supersecret"] rcvd [LCP EchoRep id=0x0 magic=0x516f03d0] rcvd [CHAP Success id=0x96 "S=6D6AF9CF0897E0BF75C55C1AEEDBD77877F515D9"] CHAP authentication succeeded sent [CCP ConfReq id=0x1 <mppe +H -M -S +L -D -C>] rcvd [CCP ConfReq id=0x1 <mppe +H -M -S +L -D -C>] sent [CCP ConfAck id=0x1 <mppe +H -M -S +L -D -C>] rcvd [CCP ConfAck id=0x1 <mppe +H -M -S +L -D -C>] MPPE 40-bit stateless compression enabled sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0>] rcvd [IPCP ConfReq id=0x1 <addr 172.24.0.1>] sent [IPCP ConfAck id=0x1 <addr 172.24.0.1>] rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>] sent [IPCP ConfReq id=0x2 <addr 0.0.0.0>] rcvd [IPCP ConfNak id=0x2 <addr 213.148.24.88>] sent [IPCP ConfReq id=0x3 <addr 213.148.24.88>] rcvd [IPCP ConfAck id=0x3 <addr 213.148.24.88>] local IP address 213.148.24.88 remote IP address 172.24.0.1 Script /etc/ppp/ip-up started (pid 3532) Script /etc/ppp/ip-up finished (pid 3532), status = 0x0


Т.е. должна проскочить строчка MPPE 40-bit stateless compression enabled если с шифрацией всё в порядке.


Еще по вопросу автоматизации. "Теперь, когда соединение оттестировано, можно подумать и об автоматизации." Мне сразу подумалось, что сейчас речь пойдет о том, как сделать, чтобы соединение само поднималось, и переподнималось при разрыве... А в статье только вопросы роутинга.

Можно дополнить чем-нибудь типа этой строчки иниттаба:

Код: Выделить всё

ppp:2345:respawn:/usr/sbin/pppd nodetach call provider


Для универсальности статьи хорошо бы в двух словах про пап-авторизацию. Что если не сработало с чап, то надо попробывать пап, ну и как в пап-секретс логин и пасс вбить.
Спасибо сказали:
grinder
Сообщения: 49

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение grinder »

Не знаю может это это и это как то поможет.
Спасибо сказали:
promov
Сообщения: 384
Статус: Участник
ОС: Debian GNU/Linux

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение promov »

Инструкция не написана ещё? Тогда напишите в ней про pon! У меня вручную соединение поднимается, а по pon нет. Значит, о неё и нужно плясать.
Зачем хорёк пошел в ларёк, зачем барсук полез на сук...
Мораль легко уразуметь: зачем на бал пришёл медведь?
Спасибо сказали:
Аватара пользователя
Gaspar
Сообщения: 4
ОС: Debian GNU/Linux Etch

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение Gaspar »

promov писал(а):
09.02.2008 17:16
Инструкция не написана ещё? Тогда напишите в ней про pon! У меня вручную соединение поднимается, а по pon нет. Значит, о неё и нужно плясать.


Смысл последнего предложения вообще не понятен... Во-первых скрипты pon и poff это Debian-like стиль, в других дистрибутивах их нет. Зачем о них упомянать в статье, которая сейчас более-менее универсальна и не привязана к конкретному дистрибутиву. Да и к тому же они ничего интересного из себя не представляют:

pon:

Код:

#!/bin/sh while [ $# -ge 1 ]; do case "$1" in --quick|-q) QUICK=true shift ;; -*) echo "\ Usage: pon [OPTIONS] [provider] [arguments] -q|--quick pppd hangs up after all ip-up scripts are run If pon is invoked without arguments, /etc/ppp/ppp_on_boot file will be run, presuming it exists and is executable. Otherwise, a PPP connection will be started using settings from /etc/ppp/peers/provider. If you specify one argument, a PPP connection will be started using settings from the appropriate file in the /etc/ppp/peers/ directory, and any additional arguments supplied will be passed as extra arguments to pppd. " exit 0 ;; *) break ;; esac done if [ ! -r /etc/ppp/peers/ ]; then echo "Error: only members of the 'dip' group can use this command." exit 1 fi if [ "$1" ]; then PROVIDER=$1 shift fi if [ -z "$PROVIDER" ]; then if [ -x /etc/ppp/ppp_on_boot ]; then [ "$QUICK" ] && touch /var/run/ppp-quick exec /etc/ppp/ppp_on_boot fi # try the default script PROVIDER=provider fi if [ ! -e "/etc/ppp/peers/$PROVIDER" ]; then echo "\ The file /etc/ppp/peers/$PROVIDER does not exist. Please create it or use a command line argument to use another file in the /etc/ppp/peers/ directory." exit 1 fi [ "$QUICK" ] && touch /var/run/ppp-quick exec /usr/sbin/pppd call $PROVIDER "$@"


poff:

Код:

#!/bin/sh # $Id: poff,v 1.8 1999/08/28 16:34:51 phil Exp $ # Written by John Hasler <john@dhh.gt.org> and based on work # by Phil Hands <phil@hands.com>. Distributed under the GNU GPL if [ -x /usr/bin/kill ]; then KILL="/usr/bin/kill" else KILL="/bin/kill" fi SIG=TERM DONE="stopped" MODE="" usage () { cat <<!EOF! usage: $0 [option] [provider] options: -r Cause pppd to drop the line and redial. -d Toggle the state of pppd's debug option. -c Cause pppd to renegotiate compression. -a Stop all pppd's. 'provider' will be ignored. -h Print this help summary and exit. -v Print version and exit. none Stop pppd. Options may not be combined. If 'provider' is omitted pppd will be stopped or signalled if and only if there is exactly one running unless the '-a' option was given. If 'provider' is supplied the pppd controlling the connection to that provider will be stopped or signalled. !EOF! } # Get option. If there are none replace the "?" that getopts puts in # FLAG on error with "null". getopts rdcavh FLAG if [ "$?" -ne 0 ]; then FLAG="null" fi # Check for additional options. Should be none. getopts :rdcavh DUMMY if [ "$?" -eq 0 ]; then echo "$0: Illegal option -- ${OPTARG}." exit 1 fi case $FLAG in "r") SIG=HUP; DONE=signalled; shift ;; "d") SIG=USR1; DONE=signalled; shift ;; "c") SIG=USR2; DONE=signalled; shift ;; "a") MODE="all"; shift ;; "v") echo "$0$Revision: 1.8 $_TrickToPrint_RCS_Revision"; exit 0 ;; "h") usage; exit 0 ;; "?") exit 1; esac # Get the PIDs of all the pppds running. Could also get these from # /var/run, but pppd doesn't create .pid files until ppp is up. PIDS=$(pidof pppd) # poff is pointless if pppd isn't running. if [ -z "$PIDS" ]; then echo "$0: No pppd is running. None ${DONE}." exit 1 fi # Find out how many pppd's are running. N=$(echo "$PIDS" | wc -w) # If there are no arguments we can't do anything if there is more than one # pppd running. if [ "$#" -eq 0 -a "$N" -gt 1 -a $FLAG != "a" ]; then echo "$0: More than one pppd running and no "-a" option and no arguments supplied. Nothing ${DONE}." exit 1 fi # If either there are no arguments or '-a' was specified kill all the # pppd's. if [ "$#" -eq 0 -o "$MODE" = "all" ]; then $KILL -$SIG $PIDS || { echo "$0: $KILL failed. None ${DONE}." exit 1 } exit 0 fi # There is an argument, so kill the pppd started on that provider. PEER=$(echo $1 | sed -e 's#/#\\/#g') PID=$(ps -o pid,cmd axw | awk "/^ *[0-9]* *(\/usr\/sbin\/)?pppd call $PEER( |\$)/ {print \$1}") if [ "$PID" ]; then $KILL -$SIG $PID || { echo "$0: $KILL failed. None ${DONE}." exit 1 } else echo "$0: I could not find a pppd process for provider '$1'. None ${DONE}." exit 1 fi exit 0


Как видно - это тот же самый вызов /usr/sbin/pppd с небольшим обработчиком возможных косяков. Притом запуск через pon не избавляет пользователя от процесса конфигурирования pptp и не облегчает его. А вот чисто ручной запуск pppd позволяет использовать именно те параметры запуска, которые нужны пользователю. При желании пользователь сам уже может сделать на свое усмотрение скрипт, который тем или иным образом будет запускать pppd.
Спасибо сказали:
Аватара пользователя
HomeCraft
Сообщения: 220
ОС: Lubuntu 18.04, Lubuntu 14.04

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение HomeCraft »

Надо еще FAQ в конец добавить. А про автоматизацию грузить не надо. Я вот, например написал три скрипта:

Код: Выделить всё

[lexa@lexa bin]$ cat start-pptp
#!/bin/bash
echo "Starting pptp client..."
LOG="/var/log/start-pptp.log"
echo "==============================">>$LOG
echo -n "start-pptp at ">>$LOG
date "+%d.%m.%Y %T">>$LOG
echo "Adding routes to the routing table..."
route add -net xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx gw xxx.xxx.xxx.xxx
route add -host xxx.xxx.xxx.xxx gw xxx.xxx.xxx.xxx
route add -host xxx.xxx.xxx.xxx gw xxx.xxx.xxx.xxx
echo "Deleting default route..."
route del default
echo "Connecting to pptp server..."
pptp providername.ru >>$LOG
#echo "Stopping shorewall..."
#shorewall stop
[lexa@lexa bin]$ cat stop-pptp
#!/bin/bash
LOG="/var/log/start-pptp.log"
echo -n "Stop at ">>$LOG
date "+%d.%m.%Y %T">>$LOG
echo "Disconnecting from internet..."
#echo "Starting shorewall..."
#shorewall start
echo "Killing pptp and pppd..."
killall pptp
killall pppd
echo "To restart internet connection call restart-pptp"
[lexa@lexa bin]$ cat restart-pptp
#!/bin/bash
echo "Restarting internet connection"
echo "Start pptp client..."
pptp providername.ru
#echo "Stopping shorewall..."
#shorewall stop

Так, что подход тут может быть разный, лучше дать ссылку на руководство по программированию в bash | shell.
Спасибо сказали:
Rohan
Сообщения: 170

Re: пошаговая настройка pptp-соединения (aka vpn)

Сообщение Rohan »

Объясните каким макаром pptp участвует в процессе установки соединения?
Мы же запускаем
pppd call corbina debug nodetach
А pptp в это время просто так чтоли лежит?

Кажется разобрался - при старте будет произведено обращение к /system/config/ppp/peers/corbina? так

Еще скажите в каком файле метод аутентификации можно поменять?
Спасибо сказали: