Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: U8.04-pptp-linux <=VPN=> Windows 2k3 + ISA+ MS-CHAPv2 (только v2)  (Прочитано 1575 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн rbvadim

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
 :P
Уже вибился из сил. Перечитал кучу постов, но вопрос так и не решет.

Связка сервер VPN MS Windows Server 2003 - шифрование канала только MS-CHAPv2
Клиент Ubuntu 8.04 pptp-linux
Кабельный интернет постоянное соединение.

=== /etc/ppp/peers/node ===

remotename vpn.node.com
noauth
name "DOMAIN\\M.Name"
require-mschap-v2
refuse-mschap
debug
nodetach
lock
usepeerdns
defaultroute
replacedefaultroute
noccp
pty "pptp --loglevel 1 vpn.node.com --nolaunchpppd"
=== EOF ===

=== chap-secret ===
# Secrets for authentication using CHAP
# cliens                    server                    secret             IP addresses
"DOMAIN\\M.Name"   vpn.node.com        "password"      11.22.33.44
=== EOF ===

Проблемы:
1. При попытке сменить в пире noauth на auth:
   /usr/sbin/pppd: The remote system (vpn.node.com) is required to authenticate itself
   /usr/sbin/pppd: but I couldn't find any suitable secret (password) for it to use to do so.

Читаю pptp.sourceforge.net и настораживаюсь: Solution 1 - Make sure that require-mschap-v2 require-mschap require-chap require-pap require-eap options are not used.

Ладно, думаю ...

2. Возвращаю назад noauth и получаю забавную картину:

Connect: ppp0 <--> /dev/pts/1
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xd01d0bf0> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x0 <mru 1400> <auth chap MS-v2> <magic 0x37317ade> <pcomp> <accomp> <callback CBCP> <mrru 1614> <endpoint [local:05.58.e9.cc.91.70.4d.e8.8a.a4.c3.0d.38.31.f8.76.00.00.00.00]> < 17 04 01 68>]
........ пропускаю для краткости ........
CHAP authentication succeeded
........ пропускаю для краткости ........
Unsupported protocol 'Compression Control Protocol' (0x80fd) received
sent [LCP ProtRej id=0x2 80 fd 01 03 00 0a 12 06 01 00 00 e1]
rcvd [IPCP ConfReq id=0x4 <addr 1.2.3.4>]
sent [IPCP ConfAck id=0x4 <addr 1.2.3.4>]
rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01> <ms-dns3 0.0.0.0>]
sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1 0.0.0.0>]
rcvd [LCP TermReq id=0x5 09 e0 52 bb 00 3c cd 74 00 00 02 e6]
LCP terminated by peer (        M-`RM-;^@<M-Mt^@^@^BM-f)
sent [LCP TermAck id=0x5]
Connection terminated.
Modem hangup
Waiting for 1 child processes...
  script pptp --loglevel 1 vpn.node.com --nolaunchpppd, pid 5703
Script pptp --loglevel 1 vpn.node.com --nolaunchpppd finished (pid 5703), status = 0x0


Как будто бы не зватает этого самого MS-CHAPv2 но при этом проходит первичная авторизация LCP (на сервере запрещено все, кроме MS-CHAPv2). Дальше, когда начинает работать IPCP, неизвестный протокол и обрыв конекта. Замечу, что 1.2.3.4 - это IP ppp интерфейса удаленной системы и в логах мелькает ее внутренне сетевое имя в удаленной сети.

3. Когда на сервере понижаю шифрование до MSCHAP - картинка таже. Но вот когда понижаю шифр, ещё, до CHAP - все в шоколаде. Мы соединяемся и работаем.

Можно ли как то научить именно pptp-linux (да и Ubuntu в общем) нормлаьно работать с MS-CHAPv2 или это недостижимая вещь? Может я что-то не так делаю????  :-\

Оффлайн Alatar

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
У меня файл дозвона к ВПН выглядит так:
pty "pptp 10.3.11.3 --nolaunchpppd"
user <тут мой ник>
password "<тут мой пароль>"
require-mppe-128
mtu 1420
defaultroute
noipv6
nobsdcomp
noauth

Что самое интересное, великолепно проходит идентификацию ЧАП-2
C chap-secret особо не мучался потому что первым мне попался хау-ту без него :)
П.С. Экспериментально установлено, что заданное значение mtu будет на 8 едениц выше, чем реально получаемое (проверял через ifconfig). Т.е. в моем случае реальное значение mtu будет 1412. С чем это связано, не знаю  ???
« Последнее редактирование: 28 Мая 2008, 00:39:59 от Alatar »

Оффлайн rbvadim

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Спасибо. Все почти заработало, но немного в другой конфигурации файла дозвона. Привожу:

=========peer=========
pty "pptp --loglevel 1 SERVER --nolaunchpppd"
remotename SERVER
name "ИМЯ ИЗ CHAP-SECRET"
require-mppe-128
mtu 1420
noipv6
nobsdcomp
defaultroute
noauth
debug
nodetach
=========eof=========

Без nodetach вообще звонить никуда не хотел. Просто вываливался назад в коммандную строку после энтера команды pon.  Тоже самое происходило у меня, когда я скопировал одинг к одному Ваш файл. Пример:

root@DragonGT:/etc/ppp/peers# pon мзт
root@DragonGT:/etc/ppp/peers#

-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~

Что значит почти. Это значит, что я вижу в логе сообщение:

  not replacing existing default route via 10.5.7.250  # Это IT текущего шлюза, не удаленного
  Cannot determine ethernet address for proxy ARP

Удаленный DNS не работает. По удаленной сетке пинги не ходят.
Устанавливается соединение и пингуется только IP ppp интерфейса сервера.

Полез в ман :) Если не хватит английского накопать самому, может подбросите еще идейку для закрытия темы ;)

Оффлайн Alatar

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
Опция nodetach, насколько я понял, отвечает за то, что пппд попробует работать как демон, т.е. делать все фоном. Именно поэтому ничего в консоль и не выводится. У меня тоже раньше выскакивали ошибки о том, что пппд не устанавливает новый маршрут по умолчанию, но
ping google.ru -I ppp0 обычно успешно пинговало. Попробуй удалить loglevel 1 из pty и посмотри на подробный вывод.

П.С. Только теперь, занимаясь такой, казалось бы простой настройкой, понимаю, что такое "танцы с бубном" :)

Оффлайн rbvadim

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Вывод, как бы тот же. По крайней мере по количеству строк и сообщениям. nodetach - факт. Действительно после того, как все, какбы, пропало, появляется ppp0.

Ищу автоподключение удаленных ДНС с сохранением локальных и лакального шлюза интернет трафика. Короче говоря, чтобы сеть была и та и эта, а интернет рулил через локальный шлюз, а не удаленный...

Опция usepeerdns показала мне удаленный DNS в логах и в ifconfig, но пингать удаленные ПК по имени никак не хотит.
« Последнее редактирование: 28 Мая 2008, 23:41:46 от rbvadim »

Оффлайн rbvadim

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: U8.04-pptp-linux <=VPN=> Windows 2k3 + ISA+ MS-CHAPv2 (только v2)
« Ответ #5 : 04 Июня 2008, 00:17:31 »
Люди, подскажите, плиз в тему, как сделать так, что бы при поднятии pptp автоматом прописывался роутинг на этот интерфейс?
Типа route add -net 10.5.7.0/24 pppN, где N - номер текущего интерфейса.

DNS отрабатывает локальный,  а не удаленный. usepeerdns - не помогает. Роут не работает.
Приходится каждый раз ручками прописывать роут и гулять по IP, а не по имени.

Сменил defaultroute на nodefaultroute... После установки соединения таблица маршрутизации выглядит так:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.99.50.76     *               255.255.255.255 UH    0      0        0 ppp0
localnet        *               255.255.255.0   U     0      0        0 eth0
default         10.5.7.250      0.0.0.0         UG    100    0        0 eth0

но пинги все равно на сеть 10.99.50.0/24 не ходят. Понятно из маски.

Что делать - не вкурю.  ???
« Последнее редактирование: 04 Июня 2008, 00:55:06 от rbvadim »

 

Страница сгенерирована за 0.099 секунд. Запросов: 23.