The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Тематический каталог: FreeBSD Пример построения VPN на базе PPTP сервера mpd (freebsd vpn pptp ppp win), auto_topic (?), 04-Мрт-03, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


144. "FreeBSD Пример построения VPN на базе PPTP сервера mpd (freebsd vpn pptp ppp win)"  +/
Сообщение от albertoemail (?), 07-Июн-05, 14:24 
Не работает. mpd запускается, ng01-ngxx создаются. При попытке установить соединение WinXP говорит, что VPN сервер не найден. Логов сервер не ведет. Всю бошку разбил, не знаю в чем дело
Ответить | Правка | Наверх | Cообщить модератору

145. "FreeBSD Пример построения VPN на базе PPTP сервера mpd (free..."  +/
Сообщение от Артемemail (??), 18-Июн-05, 01:55 
Потратил 4 часа! прочел всю ветку но решения не нашел...
проблема:
freebsd+mpd (client)(13.13.13.13)->Linux RH9+poptop(server) (12.12.12.12)

запускаю mpd, проходит аутентификация, поднимается интерфейс ng0

mpd.conf:
default:
        load vpn

vpn:
        new -i ng0 vpn vpn
        set iface disable on-demand
        set iface addrs 10.10.7.1 10.10.6.1
        set iface idle 0
        set iface route default
        set bundle disable multilink
        set bundle authname "user"
        set bundle password "pass"
        set link yes acfcomp protocomp
        set link disable chap pap
        set link accept chap pap
#       set link no pap
#       set link yes chap
# 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.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
        open
-----------------------------------------------------------

в консоли mpd выводит:
.......................
[vpn] IFACE: Up event
[vpn] setting interface ng0 MTU to 1496 bytes
[vpn] exec: /sbin/ifconfig ng0 10.10.6.102 12.12.12.12 netmask 0xffffffff -link0
[vpn] exec: /sbin/route add 10.10.6.102 -iface lo0
[vpn] exec: /sbin/route add 0.0.0.0 12.12.12.12
[vpn] exec: command returned 256
[vpn] IFACE: Up event
[vpn] error writing len 12 frame to bypass: Resource deadlock avoided
[vpn] LCP: no reply to 1 echo request(s)
[vpn] error writing len 12 frame to bypass: Resource deadlock avoided
[vpn] LCP: no reply to 2 echo request(s)

при попытке pinga на дальний конец туннеля:

ping: sendto: Resource deadlock avoided
ping: sendto: Resource deadlock avoided
ping: sendto: Resource deadlock avoided
ping: sendto: No buffer space available
ping: sendto: No buffer space available
ping: sendto: No buffer space available
ping: sendto: No buffer space available
ping: sendto: No buffer space available

silur# tcpdump -n -i xl0 proto gre
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on xl0, link-type EN10MB (Ethernet), capture size 96 bytes
00:43:54.961784 IP 12.12.12.12 > 13.13.13.13: call 3739 seq 0 ack 4294967295 gre-ppp-payload
00:43:54.963635 IP 13.13.13.13 > 12.12.12.12 : call 28928 seq 0 ack 0 gre-ppp-payload
00:43:54.968519 IP 13.13.13.13 > 12.12.12.12 : call 28928 seq 1 gre-ppp-payload
00:43:54.976378 IP 12.12.12.12  > 13.13.13.13: call 3739 seq 1 ack 0 gre-ppp-payload
00:43:54.982301 IP 12.12.12.12  > 13.13.13.13: call 3739 seq 2 ack 1 gre-ppp-payload
00:43:54.985634 IP 13.13.13.13> 12.12.12.12 : call 28928 seq 2 ack 2 gre-ppp-payload
00:43:55.001771 IP 12.12.12.12  > 13.13.13.13: call 3739 seq 3 ack 2 gre-ppp-payload

=================================
уже все глаза просмотрел...
может встречался кто-то с подобной проблемой?
подскажите...

Ответить | Правка | Наверх | Cообщить модератору

146. "FreeBSD Пример построения VPN на базе PPTP сервера mpd (free..."  +/
Сообщение от armemail (?), 18-Июн-05, 19:35 
Данная проблема возникает когда сервер VPN в качестве IP для дальнего конца тоннеля использует свой реальный IP.

в таком случае до запуска MPD в таблице маршрутизации есть запись о том через какой шлюз идти к VPN-серверу.
После поднятия интерфейса добавляется маршрут к этому же VPN-серверу, но только уже через IP ближнего конца тоннеля(виртуальный интерфейс)
таким образом пакет на реальный IP-адрес пытается уйти через виртуальный интерфейс и судя по всему образуется петля... и ошибки соответственно!

Проверенное решение:

создаем скрипт /usr/local/etc/mpd/up_ng.sh
#!/bin/sh
route delete <real_ip.of.vpn.server>
route add -net <internal network behind vpn server> -interface ng0 #
( в первой строке этот маршрут создается mpd, и обычто вместо Ip стоит DNS имя. потому нужно конкрутизировать удаляемый маршрут)


В mpd.conf добавляем
         set iface up-script "/usr/local/etc/mpd/up_ng.sh"
и комментируем
         # set iface route

И после этого все заводится нормально, кроме позиции когда с сервера пингуют ближний к нам конец тоннеля, пакеты к нам приходят через тоннель а уходят к серверу через физический, так как приходят они с ip отправителя (т.е. реального ip vpn-servera) и уйти могут только по физическому интерфейсу, в соответствии с таблицей маршрутизации.

p.s.: извиняюсь за возможный каламбур :-), если непонятно распишу поподробнее.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру