URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 81737
[ Назад ]

Исходное сообщение
"опции ядра FreeBSD для mpd"

Отправлено billybons2006 , 28-Авг-08 09:52 
Не подскажете, какие именно опции ядра необходимы для mpd5? Мануалов по настройке куча, к тому же и настройка-то вроде простая, но в итоге получаю в логе следующие сообщения:
...
[L-1] LCP: authorization successful
[L-1] LCP: phase shift AUTHENTICATE --> NETWORK
[L-1] No link actions defined
[L-1] No bundle specified
[L-1] link did not validate in bundle
[L-1] link: CLOSE event
[L-1] LCP: Close event
[L-1] LCP: state change Opened --> Closing
[L-1] LCP: phase shift NETWORK --> TERMINATE
...

А клиент сообщает об ошибке 734: Протокол управления PPP-связью был прерван.

Как я считаю, лог сервера говорит о том, что сервер не может поднять интерфейс (no bundle specified). Но точно сказать не могу, потому что информации маловато.

Наверняка кто-то сталкивлся с подобным, помогите советом (или линком на совет)!


Содержание

Сообщения в этом обсуждении
"опции ядра FreeBSD для mpd"
Отправлено A Clockwork Orange , 28-Авг-08 09:53 
>[оверквотинг удален]
>[L-1] LCP: phase shift NETWORK --> TERMINATE
>...
>
>А клиент сообщает об ошибке 734: Протокол управления PPP-связью был прерван.
>
>Как я считаю, лог сервера говорит о том, что сервер не может
>поднять интерфейс (no bundle specified). Но точно сказать не могу, потому
>что информации маловато.
>
>Наверняка кто-то сталкивлся с подобным, помогите советом (или линком на совет)!

конфигурационные файлы?


"опции ядра FreeBSD для mpd"
Отправлено billybons2006 , 28-Авг-08 10:00 
startup:
        set console user admin adminpwd admin
        set console self 127.0.0.1 5005
        set console open
        set web self 127.0.0.1 5006
        set web open
default:
        load pptp_server
pptp_server:
# Define dynamic IP address pool.
        set ippool add pool1 192.168.1.50 192.168.1.99
        log +ALL +SQL +AUT
# Create clonable bundle template named B
        create bundle template B
        set iface enable proxy-arp
        set iface idle 1800
        set iface enable tcpmssfix
        set ipcp yes vjcomp
# Specify IP address pool for dynamic assigment.
        set ipcp ranges 192.168.1.1/32 ippool pool1
        set ipcp dns 192.168.1.3
        set ipcp nbns 192.168.1.4
# 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 ccp yes mpp-stateless
# Create clonable link template named L
        create link template L pptp
# Multilink adds some overhead, but gives full 1500 MTU.
        set link enable multilink
        set link yes acfcomp protocomp
        set link no pap chap
        set link enable chap
        set link keep-alive 10 60
# We reducing link mtu to avoid GRE packet fragmentation.
        set link mtu 1460
# Configure PPTP
        set pptp self 10.8.0.1
# Allow to accept calls
        set link enable incoming

mdp.secret:

user1   "sdfsdfsd234hh"
user2   "27346hhjhsuds"        10.9.0.60

mpd.links:

pptp0:
        set link type pptp

Да, и еще, на всякий случай, tun0 - поднят интерфейс OpenVPN (я как раз с него хочу перейти на mpd).


"опции ядра FreeBSD для mpd"
Отправлено A Clockwork Orange , 28-Авг-08 10:12 
>[оверквотинг удален]
>        set ccp yes mppc
>
>        set ccp yes mpp-e40
>
>        set ccp yes mpp-e128
>
>        set ccp yes mpp-stateless
>
># Create clonable link template named L
>        create link template L pptp

# Set bundle template to use
        set link action bundle B


>[оверквотинг удален]
>
>
>mpd.links:
>
>pptp0:
>        set link type pptp
>
>
>Да, и еще, на всякий случай, tun0 - поднят интерфейс OpenVPN (я
>как раз с него хочу перейти на mpd).


"опции ядра FreeBSD для mpd"
Отправлено billybons2006 , 28-Авг-08 10:32 
Здорово, процесс пошел, только недалеко :(

У клиента: Ошибка 738: сервер не назначил адрес.
У сервера: ifconfig не отображает интрефейс ng0 (я так понимаю, что этот интерфейс должен быть поднят в системе?).

В ядре надо какие-либо опции NETGRAPH делать или это меня уже клинит? mpd5, FreeBSD 7.0

PS: прочел (http://www.lissyara.su/?id=1258), что люди аж столько добавляют:
в ядро
options         NETGRAPH
options         NETGRAPH_ETHER
options         NETGRAPH_SOCKET
options         NETGRAPH_TEE
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_MPPC_COMPRESSION
options         NETGRAPH_BPF
options         NETGRAPH_IFACE
options         NETGRAPH_KSOCKET
options         NETGRAPH_PPP
options         NETGRAPH_PPTPGRE
options         NETGRAPH_TCPMSS
options         NETGRAPH_VJC
options         NETGRAPH_ONE2MANY
options         NETGRAPH_RFC1490
options         NETGRAPH_TEE
options         NETGRAPH_TTY
options         NETGRAPH_UI
!!!
Это все реально нужно?!!


"опции ядра FreeBSD для mpd"
Отправлено A Clockwork Orange , 28-Авг-08 10:45 
# Define dynamic IP address pool.
        set ippool add pool1 10.1.1.101 10.1.1.121

# Create clonable bundle template named B
        create bundle template B
        set iface enable proxy-arp
        set iface idle 1800
        set iface enable tcpmssfix
        set ipcp yes vjcomp
# Specify IP address pool for dynamic assigment.
        set ipcp ranges 10.1.1.254/32 ippool pool1
        set ipcp dns 10.1.1.1
        set ipcp nbns 10.1.1.1
# 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 mppc yes e40
        set mppc yes e128
        set mppc yes stateless

# Create clonable link template named L
        create link template L pptp
# Set bundle template to use
        set link action bundle B
# Multilink adds some overhead, but gives full 1500 MTU.
        set link enable multilink
        set link yes acfcomp protocomp
        set link no pap chap
        set link enable chap
# We can use use RADIUS authentication/accounting by including
# another config section with label 'radius'.
        load radius
        set link keep-alive 10 60
# We reducing link mtu to avoid GRE packet fragmentation.
        set link mtu 1460
# Configure PPTP
        set pptp self 2.2.1.1
# Allow to accept calls
        set link enable incoming


рабочий раздел конфигурационного файла mpd.conf.
в ядре ничего для mpd не добавлялось.

mail# ls -la
total 112
drwxr-xr-x   2 root  wheel    512 Jul 12 15:56 .
drwxr-xr-x  14 root  wheel   1536 Jul 23 11:52 ..
-r--r--r--   1 root  wheel  11853 Jul 13 06:59 mpd.conf
-r--r--r--   1 root  wheel  39181 Jul 12 15:56 mpd.script
-r--r--r--   1 root  wheel    846 Jul 12 15:55 mpd.secret
mail#


"опции ядра FreeBSD для mpd"
Отправлено billybons2006 , 28-Авг-08 11:07 
Судя по тому, что у вас есть mpd.script - у вас диалап, что-ли? Потому как у меня mpd.conf, mpd.secret и mpd.links

Потом вопрос - у вас интерфейс ng0 появляется ДО запуска mpd5 или после? Просто если ng0 уже должен быть запущен, то я буду искать, как поднять ng0, а если он "поднимается" автоматически с запуском mpd5, то вопрос иначе выглядит.

PS: Для исключения всяких подозрений, по http://mavhome.dp.ua/MPPC/ и http://www.lissyara.su/?id=1258 включил в ядро указанные мной выше опции и пересобираю ядро. Что выйдет - напишу...

PPS: Блин, почему с OpenVPN все иначе? Хотя, если быть честным, то с ней тоже попариться пришлось.


"опции ядра FreeBSD для mpd"
Отправлено A Clockwork Orange , 28-Авг-08 11:40 
файл mpd.script просто есть и только.
нет, не дайлап.
до установления соединения ng не существует
mail# ifconfig -a
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 2.2.1.1 netmask 0xfffffffc broadcast 2.2.1.2
        ether 00:a0:d2:04:6f:c9
        media: Ethernet autoselect (100baseTX)
        status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 10.1.1.254 netmask 0xffff0000 broadcast 10.1.255.255
        ether 00:a0:d2:04:6b:e3
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
mail#
mail# ps -ax | grep mpd
  905  ??  Is     0:16.29 /usr/local/sbin/mpd5 -p /var/run/mpd5.pid -b
20210  p0  R+     0:00.00 grep mpd
mail#

"опции ядра FreeBSD для mpd"
Отправлено billybons2006 , 28-Авг-08 12:06 
Пересборка ядра ничего не дала... Ищем дальше...

"опции ядра FreeBSD для mpd"
Отправлено billybons2006 , 28-Авг-08 12:28 
Я щас заплачу...

Проблема была в том, что в файле mpd.secret надо было прописать ip для user1, под которым я пытался войти в vpn.

Т.е. не
user1   "sdfsdf"

а

user1   "sdfsdf" 192.168.20.10

A Clockwork Orange, огромное спасибо, ведь все равно это вы мне сказали использовать "set link action bundle B". Да еще так оперативно!!! Пошел разбираться, что там дальше к чему.

PS: опции ядра, думаю, в самом деле нипричем, надо будет проверить.

Усе, по данному вопросу тему можно закрыть.


"опции ядра FreeBSD для mpd"
Отправлено billybons2006 , 28-Авг-08 16:49 
Фиг, ничего еще не закончилось. Теперь все обрывается через минуту (по замерам по часам 74 секунды, но мне кажется, что реально 60 секунд):

По порядку: запускаю
# mpd5
"SQL" is unknown. Enter "log" for list.
"AUT" is unknown. Enter "log" for list.
EVENT: Registering event EVENT_READ MsgEvent() at msg.c:72
EVENT: Registering event EVENT_READ MsgEvent() done at msg.c:72
EVENT: Registering event EVENT_READ PptpCtrlListenEvent() at pptp_ctrl.c:577
EVENT: Registering event EVENT_READ PptpCtrlListenEvent() done at pptp_ctrl.c:577
PPTP: waiting for connection on 10.8.0.1 1723
[L] EVENT: Processing event EVENT_TIMEOUT ConfigRead() done

PS: 10.8.0.1 - это интерфейс, созданный OpenVPN, на нем "висит" mpd5

Запускаю авторизацию клиента (Windows XP), логи на экране mpd5:
...
EVENT: Unregistering event EVENT_TIMEOUT TimerExpires() at timer.c:83
EVENT: Unregistering event EVENT_TIMEOUT TimerExpires() done at timer.c:83
[B-1] IPCP: LayerUp
[B-1]   10.9.0.1 -> 10.9.0.3
[B-1] IFACE: Connecting tcpmssfix
[B-1] IFACE: Add address 10.9.0.1/32->10.9.0.3 to ng0
[B-1] IFACE: No interface to proxy arp on for 10.9.0.3
[B-1] IFACE: Up event
[B-1] IFACE: idle-timeout: 1800 seconds
...
EVENT: Stopping timer "PptpIdle" PptpCtrlIdleTimeout() at pptp_ctrl.c:1663
EVENT: Unregistering event EVENT_TIMEOUT TimerExpires() at timer.c:83
EVENT: Unregistering event EVENT_TIMEOUT TimerExpires() done at timer.c:83
EVENT: Starting timer "PptpIdle" PptpCtrlIdleTimeout() for 60000 ms at pptp_ctrl.c:1666
EVENT: Registering event EVENT_TIMEOUT TimerExpires() at timer.c:50
EVENT: Registering event EVENT_TIMEOUT TimerExpires() done at timer.c:50
...
EVENT: Stopping timer "PptpIdle" PptpCtrlIdleTimeout() at pptp_ctrl.c:1663
EVENT: Unregistering event EVENT_TIMEOUT TimerExpires() at timer.c:83
EVENT: Unregistering event EVENT_TIMEOUT TimerExpires() done at timer.c:83
EVENT: Starting timer "PptpIdle" PptpCtrlIdleTimeout() for 60000 ms at pptp_ctrl.c:1666
EVENT: Registering event EVENT_TIMEOUT TimerExpires() at timer.c:50

И все, связь разрывается. Фигня какая-то, если б хоть не коннектился, так ведь коннектиться, mtu в конфиге поставил 1300.

Еще бывает такое:
EVENT: Stopping timer "AuthTimer" AuthTimeout() at auth.c:670
EVENT: Stopping timer "(null)" (null)() at pap.c:64
EVENT: Stopping timer "ChalTimer" ChapChalTimeout() at chap.c:93
EVENT: Stopping timer "(null)" (null)() at chap.c:94
EVENT: Stopping timer "(null)" (null)() at eap.c:146
EVENT: Stopping timer "(null)" (null)() at eap.c:147
EVENT: Message 2 to PhysMsg() sent
[L-1] LCP: state change Closing --> Initial
[L-1] LCP: phase shift TERMINATE --> DEAD
EVENT: Message 5 to LinkMsg() sent
EVENT: Stopping timer "LCP" FsmTimeout() at fsm.c:190
EVENT: Unregistering event EVENT_TIMEOUT TimerExpires() at timer.c:83
EVENT: Unregistering event EVENT_TIMEOUT TimerExpires() done at timer.c:83
EVENT: Message 5 to LinkMsg() sent
pptp0-0: chan state ESTABLISHED --> DYING
EVENT: Starting timer "PptpKillCh" (void (*)(void *))PptpCtrlFreeChan() for 0 ms at pptp_ctrl.c:1577
EVENT: Registering event EVENT_TIMEOUT TimerExpires() at timer.c:50
EVENT: Registering event EVENT_TIMEOUT TimerExpires() done at timer.c:50
EVENT: Unregistering event (null) at pptp_ctrl.c:1425
EVENT: Unregistering event (null) done at pptp_ctrl.c:1425
EVENT: Unregistering event EVENT_READ PptpCtrlReadCtrl() at pptp_ctrl.c:1426
EVENT: Unregistering event EVENT_READ PptpCtrlReadCtrl() done at pptp_ctrl.c:1426
EVENT: Stopping timer "PptpIdle" PptpCtrlIdleTimeout() at pptp_ctrl.c:1427
EVENT: Stopping timer "(null)" (null)() at pptp_ctrl.c:1428
EVENT: Stopping timer "PptpReply" PptpCtrlReplyTimeout() at pptp_ctrl.c:1431
EVENT: Unregistering event EVENT_TIMEOUT TimerExpires() at timer.c:83
EVENT: Unregistering event EVENT_TIMEOUT TimerExpires() done at timer.c:83
EVENT: Starting timer "PptpKill" (void (*)(void *))PptpCtrlFreeCtrl() for 0 ms at pptp_ctrl.c:1438
EVENT: Registering event EVENT_TIMEOUT TimerExpires() at timer.c:50
EVENT: Registering event EVENT_TIMEOUT TimerExpires() done at timer.c:50
EVENT: Processing event EVENT_READ PptpCtrlReadCtrl() done
EVENT: Processing event EVENT_TIMEOUT TimerExpires()
EVENT: Processing timer "PptpKill" (void (*)(void *))PptpCtrlFreeCtrl()
EVENT: Processing timer "PptpKill" (void (*)(void *))PptpCtrlFreeCtrl() done
EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
EVENT: Processing event EVENT_TIMEOUT TimerExpires()
EVENT: Processing timer "PptpKillCh" (void (*)(void *))PptpCtrlFreeChan()
EVENT: Processing timer "PptpKillCh" (void (*)(void *))PptpCtrlFreeChan() done

Самое интересное для меня, что файл pptp_ctrl.c находиться в папке /usr/ports/net/mpd5/work/mpd5.1/src, т.е. никак не в рабочих папках, как мне кажется, должно было бы быть, ну да это ерунда, а вот то, что везде траблы с таймером в логах, это точно.

Есть идеи, что это может быть?


"опции ядра FreeBSD для mpd"
Отправлено A Clockwork Orange , 28-Авг-08 17:16 
есть.
может для начала все же без интерфейса OpenVPN, на "нормальном" интерфейсе?
изменненый конфиграционный файл покажи?
как ты устанавливал mpd5?

"опции ядра FreeBSD для mpd"
Отправлено billybons2006 , 28-Авг-08 17:53 
>есть.
>может для начала все же без интерфейса OpenVPN, на "нормальном" интерфейсе?
>изменненый конфиграционный файл покажи?
>как ты устанавливал mpd5?

Все же на нормальном интерфейсе и надо было пробовать 8) Пять минут - полет нормальный, теперь надо разобраться, как роутить это соединение, чтобы можно было с почтовым сервером соединяться, а то меня малость с толку сбивает, что маска 255.255.255.255, даже в OpenVPN была 255.255.255.252, можно было сразу почту отправлять и все такое, а тут мне даже не понятно, если у меня уже есть настроенный nat, то как в него интергировать mpd5 (что куда рутить - не ясно)?

Не подскажете хороший источник, где можно про это почитать, а то даже http://mpd.sourceforge.net/doc5/mpd.html не помогает (уж куда еще ртэфэмнее), примеров тама нету :(

Например, как в конфиге mpd5 указать опцию клиенту, чтобы указать шлюз по-умолчанию? Я вроде такой не вижу.


"опции ядра FreeBSD для mpd"
Отправлено A Clockwork Orange , 28-Авг-08 18:04 
>[оверквотинг удален]
>было сразу почту отправлять и все такое, а тут мне даже
>не понятно, если у меня уже есть настроенный nat, то как
>в него интергировать mpd5 (что куда рутить - не ясно)?
>
>Не подскажете хороший источник, где можно про это почитать, а то даже
>http://mpd.sourceforge.net/doc5/mpd.html не помогает (уж куда еще ртэфэмнее), примеров тама нету :(
>
>
>Например, как в конфиге mpd5 указать опцию клиенту, чтобы указать шлюз по-умолчанию?
>Я вроде такой не вижу.

Если клиент Windows в свойствах подключения есть сделать это подключение шлюзом по-умолчанию. Для вопроса о маршрутизации желательно описать топологию сети, и задачу.


"опции ядра FreeBSD для mpd"
Отправлено billybons2006 , 28-Авг-08 18:56 
>Если клиент Windows в свойствах подключения есть сделать это подключение шлюзом по-умолчанию.
>Для вопроса о маршрутизации желательно описать топологию сети, и задачу.

Ок, спасибо еще раз, завтра буду проверять дальше, сейчас уже не на работе, а сервер (как раз чтобы проверить на реальном интерфейсе) пока перенес в локалку и вырубил ipfw, так что пришлось выключить.


"опции ядра FreeBSD для mpd"
Отправлено ggg , 28-Авг-08 19:14 
>PS: опции ядра, думаю, в самом деле нипричем, надо будет проверить.

Не при чем, афайк mpd сам грузит нужные модули. Я по крайней мере специфично для mpd ядро не трогал вообще.