Нужно закрыть соединение на mpd 4.1rc2 через скрипт(через сокеты) или, например как в примере через netcat. Принципиальной разницы нет...Вроде все работает, но есть одна странность: смена bundle ни к чему не приводит. Т.е. после bundle pptp1 я делаю show iface и должна появится инфа именно о ng1-интерфейсе, а появляется ngX, где X - предыдущий bundle. Когда заходишь обычным телнетом на mpd, то все нормально. При смене bundle показывается именно его интерфейс, а не предыдущий.
В конфиге mpd такое вот логичное соответствие
pptp0 - ng0
...
pptpX - ngX
Вот вывод команды:
bill - это юзер и пароль
[billing] ~# printf "bill\rbill\rbundle pptp1\rshow iface\r" | nc 127.0.0.1 5005
Multi-link PPP daemon for FreeBSD
ЪШЪЩЪШЪЩUsername: bill
Password:
Welcome!
Mpd pid 4859, version 4.1rc2 (root@billing.cbtnet.ru 08:37 20-Mar-2007)
[pptp2] bundle pptp1
[pptp2] CONSOLE: bill: bundle pptp1
[pptp1] show iface
[pptp1] CONSOLE: bill: show iface
Interface configuration:
Name : ng2
Maximum MTU : 1400 bytes
Idle timeout : 0 seconds
Session timeout : 0 seconds
Event scripts
up-script : "<none>"
down-script : "<none>"
Interface options:
on-demand disable
proxy-arp enable
tcpmssfix enable
Interface status:
Status : OPEN
MTU : 1400 bytes
IP Addresses : 192.168.20.2/32 -> 80.237.122.139
[pptp1] CONSOLE: Connection closed by peer
Эксперты помогите! :-) Я ничего не понимаю...