The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Freebsd8.0 mpd-5.4 в качестве pptp-client"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на сервере (Public)
Изначальное сообщение [ Отслеживать ]

"Freebsd8.0 mpd-5.4 в качестве pptp-client"  +/
Сообщение от Slyer (ok) on 07-Янв-10, 22:43 
Доброго времени суток. Есть у нас чудо провайдер, который использует DHCP(с привязкой к MAC адресу)+ PPTP аутентификацию.
Настройки с которыми windows XP подключается к провайдеру:
Тип сервера: PPP
Транспорты: TCP/IP
Проверка подлинности: PAP
Сжатие:(нет)
IP-адресе сервера:10.128.4.3
IP-адресе клиента:10.64.77.81

Freebsd:  FreeBSD 8.0-RELEASE-p1, ядро с options NETGRAPH  и прочим NETGRAPH_*
mpd-5.4, mpd.conf:
startup:
        # configure mpd users
        set user foo bar admin
        set user foo1 bar1
        # configure the console
        set console self 127.0.0.1 5005
        set console open
        # configure the web server
        set web self 0.0.0.0 5006
        set web open

default:
        load pptp_client

pptp_client:
        create bundle static B1
        set mppc no compress
        set bundle no compression
        set iface up-script /usr/local/etc/mpd5/if-up.sh
        set iface down-script /usr/local/etc/mpd5/if-down.sh
        create link static L1 pptp
        set link action bundle B1
        set auth authname LOGIN
        set auth password PASS
        set link yes acfcomp protocomp
        set link disable chap pap
        set link accept chap pap
        set link enable no-orig-auth
        set link max-redial 0
        set link mtu 1460
        set link keep-alive 20 75
        set pptp peer matrix.vpn
        set pptp disable windowing
        open

  cat /usr/local/etc/mpd5/if-up.sh
#!/bin/sh

default_route_old=`route -n get default 2>&1 | grep gateway | awk '{print $2}'`
if [ $default_route_old ]; then
echo $default_route_old > /var/tmp/default_route_old
route -nq change default $4
else
rm -f /var/tmp/default_route_old
route -nq add default $4
fi

  cat /usr/local/etc/mpd5/if-down.sh
#!/bin/sh
# Returning old default gateway from file /var/tmp/default_route_old
if [ -r /var/tmp/default_route_old ]; then
    default_route_old=`cat /var/tmp/default_route_old`
    rm -f /var/tmp/default_route_old
    route -nq change default $default_route_old
else
    route -nq delete default
fi


При запуске mpd5, происходит подключение:
[B1] IPCP: LayerUp
[B1]   10.64.77.81 -> 10.128.4.7
[B1] IFACE: Up event

при этом интернета нету, 10.128.4.7 не пингуеться.

ifconfig:
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1460
        inet 10.64.77.81 --> 10.128.4.7 netmask 0xffffffff

$netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            10.128.4.7         UGS         0    27374    ng0
10.0.25.0/24       link#1             U           0        0    re0
10.0.25.71         link#1             UHS         0        0    lo0
10.64.77.81        link#5             UHS         0        0    lo0
10.128.4.7         link#5             UH          0       42    ng0
127.0.0.1          link#4             UH          0        0    lo0
192.168.203.0/24   link#2             U           3    23174    em0
192.168.203.7      link#2             UHS         0        0    lo0

Проходит 1-3 минуты и соединение в mpd отваливаться:
[L1] LCP: rec'd Terminate Request #2 (Opened)
[L1] LCP: state change Opened --> Stopping
[L1] Link: Leave bundle "B1"
[B1] Bundle: Status update: up 0 links, total bandwidth 9600 bps
[B1] IPCP: Close event
[B1] IPCP: state change Opened --> Closing
[B1] IPCP: SendTerminateReq #8
[B1] IPCP: LayerDown
[B1] IFACE: Down event
[B1] IPCP: Down event
[B1] IPCP: LayerFinish
[B1] Bundle: No NCPs left. Closing links...
[B1] IPCP: state change Closing --> Initial
[L1] LCP: SendTerminateAck #6
[L1] LCP: LayerDown
[L1] LCP: state change Stopping --> Stopped
[L1] LCP: LayerFinish
[L1] PPTP call terminated
[L1] Link: DOWN event
[L1] LCP: Down event
[L1] LCP: state change Stopped --> Starting
[L1] LCP: LayerStart

И пошел реконект. Подключился, подержал канал 1-3 минуты и отвалился, и так в цикле.


Буду благодарен за любые идеи.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

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


1. "Freebsd8.0 mpd-5.4 в качестве pptp-client"  +/
Сообщение от QuAzI (??) on 08-Янв-10, 15:31 
Выключили PAP, но разрешили?
set link disable chap pap
set link accept chap pap
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Freebsd8.0 mpd-5.4 в качестве pptp-client"  +/
Сообщение от Slyer (ok) on 12-Янв-10, 00:43 
>Выключили PAP, но разрешили?
>set link disable chap pap
>set link accept chap pap

исправил на

set link enable chap pap
set link accept chap pap

не помогло.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Freebsd8.0 mpd-5.4 в качестве pptp-client"  +/
Сообщение от bI (??) on 12-Янв-10, 01:41 
>
>$netstat -rn
>Routing tables
>

Где там роутинг на 10.128.4.3(pptp-сервер)?
У Вас получается такая ситуация:
Прописан дефолт в rc.conf - до момента инициализации pptp-сессии Ваш роутер видит 10.128.4.3, после успешной авторизации и отработки usr/local/etc/mpd5/if-up.sh Ваш роутер не видит уже pptp-сервер. Логику улавливаете? Как он будет держать тунель при таком раскладе?

1. Если DHCP, и если ваш поставщик услуг правильный - он должен Вам присылать роуты по DHCP.
2. Я вообще не вижу смысла в default-gateway до поднятия сессии Вашим mpd. Ну пропишите все фейковые/реальные подсети Вашего провайдера ручками и добавьте эти маршруты в rc.conf коли они Вам не приходят по DHCP. Ваш mpd будет сам дефолт просто добавлять и удалять.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Freebsd8.0 mpd-5.4 в качестве pptp-client"  +/
Сообщение от Slyer (ok) on 13-Янв-10, 12:17 
>[оверквотинг удален]
>10.128.4.3, после успешной авторизации и отработки usr/local/etc/mpd5/if-up.sh Ваш роутер не видит
>уже pptp-сервер. Логику улавливаете? Как он будет держать тунель при таком
>раскладе?
>
>1. Если DHCP, и если ваш поставщик услуг правильный - он должен
>Вам присылать роуты по DHCP.
>2. Я вообще не вижу смысла в default-gateway до поднятия сессии Вашим
>mpd. Ну пропишите все фейковые/реальные подсети Вашего провайдера ручками и добавьте
>эти маршруты в rc.conf коли они Вам не приходят по DHCP.
>Ваш mpd будет сам дефолт просто добавлять и удалять.

Логику понял. Спасибо! Сегодня попробую.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Freebsd8.0 mpd-5.4 в качестве pptp-client"  +/
Сообщение от Dima (??) on 22-Янв-10, 08:12 
>1. Если DHCP, и если ваш поставщик услуг правильный - он должен
>Вам присылать роуты по DHCP.
>2. Я вообще не вижу смысла в default-gateway до поднятия сессии Вашим
>mpd. Ну пропишите все фейковые/реальные подсети Вашего провайдера ручками и добавьте
>эти маршруты в rc.conf коли они Вам не приходят по DHCP.
>Ваш mpd будет сам дефолт просто добавлять и удалять.

Вам не приходится бегать с ноутом между 4 подсетями, включая домашнюю.
Ни о каком прописывании маршрутов ручками и речи быть не может.

У mpd есть и другие проблемы - при первом запуске некорректно инициализирует netgraph node.
При остановке - не возврашает на место default, как он был.

как следствие - ppp+pptpclient рулят.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Freebsd8.0 mpd-5.4 в качестве pptp-client"  +/
Сообщение от bI (ok) on 02-Фев-10, 22:23 
>Вам не приходится бегать с ноутом между 4 подсетями, включая домашнюю.
>Ни о каком прописывании маршрутов ручками и речи быть не может.

Тут может Вы и правы в том что mpd не позволяет заменять текущий default на свой, а потом вернуть его аккуратно назад.

>У mpd есть и другие проблемы - при первом запуске некорректно инициализирует
>netgraph node.

Первый раз слышу. Никогда такого не наблюдал. Работаю с ним давно. Как в качестве клиента так в качестве серверной части для терминирования абонентов под большими нагрузками.

>При остановке - не возвращает на место default, как он был.
>как следствие - ppp+pptpclient рулят.

Ну на вкус и цвет как говорится. Привык с ним работать, да и трансляция в mpd из коробки и netflow, ... =) Мне ничего не мешает написать один раз скрипт для сохранения default и последующего его "возвращения". И забыть про эту проблему. Как вариант, пришедший сразу в голову, динамически создавать down-скрипт после запуска up-скрипта.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

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

Индекс форумов | Темы | Пред. тема | След. тема




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

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