MPD MSCHAP V2. При подсоединении к PPTP серверу ИНТЕРНЕТ провайдера клиентский
компьютер пытается аутентифицировать сервер провайдера.
ЗАДАЧА:ПОДСОЕДИНИТЬСЯ К PPTP СЕРВЕРУ ИНТЕРНЕТ ПРОВАЙДЕРА.
OC FREEBSD 6.0
MPD версия MPD4-4.0B4внешний ip адрес 192.168.23.102/255.255.255.0
шлюз 192.168.23.1
ip адрес PPTP сервера провайдера 192.168.0.9При соединении нужно использовать MSCHAP V2.
Шифрование не использовать.Обозначения:
{С} пакет с моего компьютера
{S} пакет с сервера провайдераПри установке соединения через MPD:
(Когда дошли до протокола MSCHAP М2)
(для удобства я сгруппировал пакеты)1. {CS} идет запрос со стороны MPD на аутентификацию сервера провайдера.
2. {SC} на запрос моего компьютера сервер провайдера выдает свои идент. данные
3. {CS} mpd не находит в своей базе идентификатора клиента, который выдал сервер провайдера, и процесс завершается с ошибками.4. {SC} идет запрос со стороны сервера провайдера на аутентификацию клиента
(моего компьютера).
5. {CS} На запрос провайдера выдает пакет со своими идентификационными данными.
6. {SC} выдает результат аутентификации ok.Далее PD повторяет весь процесс снова.
То есть mpd считает себя сервером и требует аутентификации сервера провайдера, что в моем
случае не нужно.
Конфиги были окорректированы по документации и с учетом информации, которую почерпнул из
конференций.MPD.CONF
default:
load vpn
vpn:
new -i ng0 vpn vpn
set iface disable on-demand
set iface idle 0
set iface route default
set bundle disable multilink
set bundle authname "mIF15hn0"
set bundle password "BnFGMPsp"
set link yes acfcomp protocomp
set link no pap
set link no chap
set link no chap-md5
set link no chap-msv1
set link yes chap-msv2
set link mtu 1500
# If remote machine is NT you need this..
set link enable no-orig-auth
set link keep-alive 10 75
set ipcp yes vjcomp
set ipcp ranges 0.0.0.0/0.0.0.0
#
# The five lines below enable Microsoft Point-to-Point encryption
# (MPPE) using the ng_mppc(8) netgraph node type.
#
set bundle enable compression
set ccp yes mppc
set ccp yes mpp-e40
set ccp yes mpp-e128
set bundle enable crypt-reqd
set ccp yes mpp-stateless
openMPD.LINKS
vpn:
set link type pptp
set pptp peer 192.168.0.9
set pptp enable originate outcall
set pptp disable windowing
MPD.LOGJun 7 21:28:28 sun mpd: [vpn] LCP: SendConfigAck #2
Jun 7 21:28:28 sun mpd: ACCMAP 0x00000000
Jun 7 21:28:28 sun mpd: AUTHPROTO CHAP MSOFTv2
Jun 7 21:28:28 sun mpd: MAGICNUM 184044ae
Jun 7 21:28:28 sun mpd: PROTOCOMP
Jun 7 21:28:28 sun mpd: ACFCOMP
Jun 7 21:28:28 sun mpd: [vpn] LCP: state change Ack-Rcvd --> Opened
Jun 7 21:28:28 sun mpd: [vpn] LCP: phase shift ESTABLISH --> AUTHENTICATE
Jun 7 21:28:28 sun mpd: [vpn] LCP: auth: peer wants CHAP, I want CHAP
Jun 7 21:28:28 sun mpd: [vpn] CHAP: sending CHALLENGE len:25
Jun 7 21:28:28 sun mpd: [vpn] LCP: LayerUp
Jun 7 21:28:28 sun mpd: [vpn] CHAP: rec'd CHALLENGE #142
Jun 7 21:28:28 sun mpd: Name: "vpn2"
Jun 7 21:28:28 sun mpd: Using authname "mpF15hn8"
Jun 7 21:28:28 sun mpd: [vpn] CHAP: sending RESPONSE len:58
Jun 7 21:28:28 sun mpd: [vpn] CHAP: rec'd RESPONSE #1
Jun 7 21:28:28 sun mpd: Name: "vpn2"
Jun 7 21:28:28 sun mpd: [vpn] AUTH: Auth-Thread started
Jun 7 21:28:28 sun mpd: [vpn] AUTH: ran out of backends
Jun 7 21:28:28 sun mpd: [vpn] AUTH: Auth-Thread finished normally
Jun 7 21:28:28 sun mpd: [vpn] CHAP: ChapInputFinish: status failed
Jun 7 21:28:28 sun mpd: [vpn] CHAP: sending FAILURE len:29
Jun 7 21:28:28 sun mpd: [vpn] LCP: authorization failed
Jun 7 21:28:28 sun mpd: [vpn] device: CLOSE event in state UP
Jun 7 21:28:28 sun mpd: pptp0-0: clearing call
TCPDUMPАУТЕНТИФИКАЦИЯ МОЕГО КОМПЬЮТЕРА ПЕРЕД СЕРВЕРОМ ПРОВАЙДЕРА:
21:28:16.239981 IP vpn2.znet > sun.home.net: GREv1, call 9806, seq 7, length 39: CHAP,
Challenge (0x01), id 191, Value 82cb7c4a343eb673d9ec90678163da34,
Name vpn221:28:16.242302 IP sun.home.net > vpn2.znet: GREv1, call 25608, seq 7, ack 8, length 82: CHAP,
Response (0x02), id 191, Value 7b1e68c23424dbb79ae48f444aead6ed0000000000000000
5b7838efe392d3261eaeac9450[|chap]21:28:16.253312 IP vpn2.znet > sun.home.net: GREv1, call 9806, seq 9, length 60: CHAP,
Success (0x03), id 191, Msg S=47F1B47D4A3505DF8582B549E739B20BCEAF329FАУТЕНТИФИКАЦИЯ СЕРВЕРА ПРОВАЙДЕРА ПЕРЕД МОИМ КОМПЬЮТЕРОМ:
21:28:16.240547 IP sun.home.net > vpn2.znet: GREv1, call 25608, seq 5, ack 7, length 49: CHAP,
Challenge (0x01), id 1, Value 7b1e68bd6d343888046ada0db9a21aae, Name mpF15hn821:28:16.241862 IP vpn2.znet > sun.home.net: GREv1, call 9806, seq 8, length 72: CHAP,
Response (0x02), id 1, Value 4126a71070f8a0b097bdcf112072c79e00000000000000004
54af3e1f4d6b75746805da9122ae5e87b794a[|chap]21:28:16.244088 IP sun.home.net > vpn2.znet: GREv1, call 25608, seq 8, length 49: CHAP,
Fail (0x04), id 1, Msg E=691 R=0 M=Login incorrect\015\012
6 ПАКЕТОВ.
ПОДСОЕДИНЕНИЕ ТОГО ЖЕ КОМПЬЮТЕРА С WINDOWS XP К СЕРВЕРУ ПРОВАЙДЕРА:ОБМЕН ПАКЕТАМИ ПО ПРОТОКОЛУ CHAP V2 МЕЖДУ КЛИЕНТОМ (WINDOWS XP) И PPTP СЕРВЕРОМ ПРОВАЙДЕРА.
40 8.796875 vpn.znet 192.168.23.102 CHAP CHAP: Challenge, ID = 101, Length = 30 , Name = 'vpn2'
48 8.796875 192.168.23.102 vpn.znet CHAP CHAP: Response, ID = 101, Length = 29 , Name = 'mpF15hn8'
50 8.812500 vpn.znet 192.168.23.102 CHAP CHAP: Success, ID = 101, Length = 4ЗДЕСЬ ВСЕ НОРМАЛЬНО РАБОТАЕТ. ВСЕГО 3 ПАКЕТА.
КАК ЗАСТАВИТЬ MPD НЕ ВЫДАВАТЬ CHALLENGE СЕРВЕРУ ПРОВАЙДЕРА?
НУЖНО ЛИ ЧТО-ТО ДЕЛАТЬ С ЯДРОМ?
>КАК ЗАСТАВИТЬ MPD НЕ ВЫДАВАТЬ CHALLENGE СЕРВЕРУ ПРОВАЙДЕРА?
>НУЖНО ЛИ ЧТО-ТО ДЕЛАТЬ С ЯДРОМ?Внимательно прочесть документацию в части описания разницы между yes/no, enable/disable и accept/deny.
>>КАК ЗАСТАВИТЬ MPD НЕ ВЫДАВАТЬ CHALLENGE СЕРВЕРУ ПРОВАЙДЕРА?
>>НУЖНО ЛИ ЧТО-ТО ДЕЛАТЬ С ЯДРОМ?
>
>Внимательно прочесть документацию в части описания разницы между yes/no, enable/disable и accept/deny.
>
В ДОКУМЕНТАЦИИ НА MPD НАПИСАНО:The yes command is the same as enable and accept. The no command is the same as disable and deny.
ЕСЛИ МОЖНО, УТОЧНИТЕ В КАКОМ ДОКУМЕНТЕ МОЖНО ПРОЧИТАТЬ О РАЗНИЦЕ В ЭТИХ КОМАНДАХ.
>В ДОКУМЕНТАЦИИ НА MPD НАПИСАНО:
>
>The yes command is the same as enable and accept. The no
>command is the same as disable and deny.
>
>
>ЕСЛИ МОЖНО, УТОЧНИТЕ В КАКОМ ДОКУМЕНТЕ МОЖНО ПРОЧИТАТЬ О РАЗНИЦЕ В ЭТИХ
>КОМАНДАХ.В этом же документе. Может с английским трудности ?
4.9. Link layer commands
...
set link accept option ...
set link deny option ...
set link enable option ...
set link disable option ...
set link yes option ...
set link no option ...These commands configure various link options. Most options are bi-directional in that they can be independently enabled and disabled in each direction.
The enable and disable commands determine whether we want the corresponding option. The accept and deny commands determine whether we will allow the peer to request the corresponding option.
Note that when talking about the authentication options PAP and CHAP, when you enable an option you're saying you are going to require a login and password from the peer. When you accept an option you're saying you will allow the peer to require a login and password from us.
The yes command is the same as enable and accept. The no command is the same as disable and deny.
...
Спасибо за ответ на мой вопрос. Не из того места взял цитату.
Установилset link disable chap-msv2
set link accept chap-msv2chalenge стал выдаваться только сервером.
Есть проблема с установкой маршрута по умолчанию.
Destination Gateway Flags Refs Use Netif Expire
default 192.168.23.1 UGS 0 29 sis0
10.10.0.9 10.10.15.169 UH 0 0 ng0
10.10.15.169 lo0 UHS 0 0 lo0
127.0.0.1 127.0.0.1 UH 0 0 lo0
192.168.23 link#1 UC 0 0 sis0
192.168.23.1 00:19:5b:12:f4:46 UHLW 2 0 sis0 1178===
Если я даю команду
route add 10.10.15.169 default
то выдается
route: writing to routing socket: File exist
add host 10.10.15.169: gateway default: route already in table===
Если я сначала удаляю маршрут по дефолту, а затем даю команду
route add 10.10.15.169, то на консоль выдается:
route: writing to routing socket: Network is unreachable
add host 10.10.15.169: gateway default: network is unreachable===
Если mpd выполняет скрипт io-up.sh следующего содержания:
route delete $4
route delete default
route -nq add default $4
route $4 $3маршрут по умолчанию все равно остается 192.168.23.1
Взято из конференции.
===Так как в клиентском компьютере несколько интерфейсных плат, не понятно с какой интерфейсной
карты будут уходить пакеты в интернет.sis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet6 fe80::211:5bff:fe61:2bf0%sis0 prefixlen 64 scopeid 0x1
inet 192.168.23.102 netmask 0xffffff00 broadcast 192.168.23.255
ether 00:11:5b:61:2b:f0
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
ed0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:00:e8:62:11:fd
media: Ethernet autoselect (10base2/BNC)
ed1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:00:e8:44:57:36
media: Ethernet autoselect (10base2/BNC)
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
inet 127.0.0.1 netmask 0xff000000
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
inet 10.10.15.169 --> 10.10.0.9 netmask 0xffffffff
inet6 fe80::211:5bff:fe61:2bf0%ng0 prefixlen 64 scopeid 0x7В windows таблица маршрутизации после соединения с сервером:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 10.10.15.169 10.10.15.169 1
0.0.0.0 0.0.0.0 192.168.23.1 192.168.23.102 21.....
КАК ПРАВИЛЬНО ИЗМЕНИТЬ МАРШРУТ ПО УМОЛЧАНИЮ?
Спасибо за ответ на мой вопрос. Не из того места взял цитату.
Установилset link disable chap-msv2
set link accept chap-msv2chalenge стал выдаваться только сервером.
Есть проблема с установкой маршрута по умолчанию.
Destination Gateway Flags Refs Use Netif Expire
default 192.168.23.1 UGS 0 29 sis0
10.10.0.9 10.10.15.169 UH 0 0 ng0
10.10.15.169 lo0 UHS 0 0 lo0
127.0.0.1 127.0.0.1 UH 0 0 lo0
192.168.23 link#1 UC 0 0 sis0
192.168.23.1 00:19:5b:12:f4:46 UHLW 2 0 sis0 1178===
Если я даю команду
route add 10.10.15.169 default
то выдается
route: writing to routing socket: File exist
add host 10.10.15.169: gateway default: route already in table===
Если я сначала удаляю маршрут по дефолту, а затем даю команду
route add 10.10.15.169, то на консоль выдается:
route: writing to routing socket: Network is unreachable
add host 10.10.15.169: gateway default: network is unreachable===
Если mpd выполняет скрипт io-up.sh следующего содержания:
route delete $4
route delete default
route -nq add default $4
route $4 $3маршрут по умолчанию все равно остается 192.168.23.1
Взято из конференции.
===Так как в клиентском компьютере несколько интерфейсных плат, не понятно с какой интерфейсной
карты будут уходить пакеты в интернет.sis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet6 fe80::211:5bff:fe61:2bf0%sis0 prefixlen 64 scopeid 0x1
inet 192.168.23.102 netmask 0xffffff00 broadcast 192.168.23.255
ether 00:11:5b:61:2b:f0
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
ed0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:00:e8:62:11:fd
media: Ethernet autoselect (10base2/BNC)
ed1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:00:e8:44:57:36
media: Ethernet autoselect (10base2/BNC)
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
inet 127.0.0.1 netmask 0xff000000
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
inet 10.10.15.169 --> 10.10.0.9 netmask 0xffffffff
inet6 fe80::211:5bff:fe61:2bf0%ng0 prefixlen 64 scopeid 0x7В windows таблица маршрутизации после соединения с сервером:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 10.10.15.169 10.10.15.169 1
0.0.0.0 0.0.0.0 192.168.23.1 192.168.23.102 21.....
КАК ПРАВИЛЬНО ИЗМЕНИТЬ МАРШРУТ ПО УМОЛЧАНИЮ?