Всем здрасте ,
возникла следующая проблема , необходим callback server
используются freeradius,portslave,pppd.
pppd собран с поддержкой cbcp. portslave собран с опцией --enable-callback.
вот кусок конфига portslave
s0.tty ttyS0
s0.pppd /usr/sbin/pppd
s0.autoppp proxyarp %d asyncmap 0 %i: \
callback server noipx noccp login auth require-pap refuse-chap \
mtu %t mru %t \
ms-dns 192.168.0.1 \
plugin /usr/local/lib/libpsr.so
звоню с вин2к , появляется окошечко с вводом номера на который надо перезвонить нажимаю ОК
на радиусе аутентификация проходит норм.
portslave отваливается :
—-
Apr 6 13:44:22 test port[S0]: No utmp entry found when expected for line /dev/ttyS0.
Apr 6 13:44:22 test port[S0]: pppd 2.4.1 with CBCPs (ASPLinux) started by root, uid 0
Apr 6 13:44:22 test port[S0]: Using interface ppp0
Apr 6 13:44:22 test port[S0]: Connect: ppp0 <--> /dev/ttyS0
Apr 6 13:44:25 test port[S0]: No utmp entry found when expected for line /dev/ttyS0.
Apr 6 13:44:25 test port[S0]: user uzver logged in
Apr 6 13:44:25 test port[S0]: Allow user definied callback.
Apr 6 13:44:28 test port[S0]: LCP terminated by peer (@KpD^@
Apr 6 13:44:29 test port[S0]: Hangup (SIGHUP)
Apr 6 13:44:29 test port[S0]: Modem hangup
Apr 6 13:44:29 test port[S0]: Connection terminated.
Apr 6 13:44:29 test port[S0]: Connect time 0.1 minutes.
Apr 6 13:44:29 test port[S0]: Sent 0 bytes, received 0 bytes.
Apr 6 13:44:29 test port[S0]: tcgetattr: No such device or address(6)
Apr 6 13:44:29 test port[S0]: tcsetattr: No such device or address
Apr 6 13:44:29 test port[S0]: Exit.
——
вот еще кусочек ltrace -S /usr/local/sbin/portslave 0
с того момента где в лог записывается «Sent 0 bytes, received 0 bytes.» до
«tcgetattr: No such device or address(6)»
—--
write(5, «Sent 0 bytes, received 0 bytes.», 31
SYS_write(5, «Sent 0 bytes, received 0 bytes.», 31) = 31
<… write resumed> ) = 31
write(5, «\n», 1
SYS_write(5, «\n», 1) = 1
<… write resumed> ) = 1
unlink(«/var/run/ppp0.pid»
SYS_unlink(0×8071ba0, 0×806bde1, 0, 10, 0×8ec8f28) = 0
<… unlink resumed> ) = 0
free(0×8ec8f98) =
syslog(7, «cbcp_start_callback running»
SYS_time(0xfef5496c, 0×8ecaa78, 0×218fdc, 0xfef5496c, 0×8ecaa78) = 0×4434f881
SYS_rt_sigaction(13, 0xfef54888, 0xfef547f8, 8, 0×218fdc) = 0
SYS_socketcall(9, 0xfef5492c, 0×218fdc, 0, 0xfef549c8) = 58
SYS_rt_sigaction(13, 0xfef54888, 0, 8, 0×218fdc) = 0
<… syslog resumed> ) =
close(10
SYS_close(10) = 0
<… close resumed> ) = 0
ioctl(7, 1074033724, 0xfef54b68
SYS_ioctl(7, 0×4004743c, 0xfef54b68, 10, 10) = 0
<… ioctl resumed> ) = 0
close(6
SYS_close(6) = 0
<… close resumed> ) = 0
open(«/dev/ttyS0», 2050, 00
SYS_open(«/dev/ttyS0», 2050, 00) = 6
<… open resumed> ) = 6
__errno_location() = 0xf6fefb40
fcntl(6, 3, 0, 10, 0
SYS_fcntl64(6, 3, 0, 0, 0×218fdc) = 2050
<… fcntl resumed> ) = 2050
fcntl(6, 4, 2, 100, 0
SYS_fcntl64(6, 4, 2, 2, 0×218fdc) = 0
<… fcntl resumed> ) = 0
__fxstat(3, 6, 0xfef54af0
SYS_fstat64(6, 0xfef54a5c, 0×218fdc, 0xfef54a5c, 3) = 0
<… __fxstat resumed> ) = 0
fchmod(6, 020644
SYS_fchmod(6, 8612, 2, 100, 0xf6fefb40) = 0
<… fchmod resumed> ) = 0
ioctl(6, 21526, 0xfef54a54
SYS_ioctl(6, 21526, 0xfef54a54, 100, 0xf6fefb40) = 0
<… ioctl resumed> ) = 0
tcgetattr(6, 0xfef54a70
SYS_ioctl(6, 21505, 0xfef54a1c, 0xfef54a70, 0×218fdc) = -6
<… tcgetattr resumed> ) = -1
__errno_location() = 0xf6fefb40
memcpy(0xfef54630, «tcgetattr: », 11) = 0xfef54630
__ctype_b_loc() = 0xf6fefb44
__errno_location() = 0xf6fefb40
strerror(6) = «No such device or address»
memcpy(0xfef5463b, «No such device or address», 25) = 0xfef5463b
memcpy(0xfef54654, «(», 1) = 0xfef54654
__ctype_b_loc() = 0xf6fefb44
memcpy(0xfef54655, «6», 1) = 0xfef54655
memcpy(0xfef54656, «)», 1) = 0xfef54656
syslog(3, «%s», «tcgetattr: No such device or add»…
SYS_time(0xfef5442c, 0×8ecaa78, 0×218fdc, 0xfef5442c, 0×8ecaa78) = 0×4434f881
SYS_rt_sigaction(13, 0xfef54348, 0xfef542b8, 8, 0×218fdc) = 0
SYS_socketcall(9, 0xfef543ec, 0×218fdc, 0, 0xfef54488) = 70
SYS_rt_sigaction(13, 0xfef54348, 0, 8, 0×218fdc) = 0
<… syslog resumed> ) =
write(5, «tcgetattr: No such device or add»…, 39
SYS_write(5, «tcgetattr: No such device or add»…, 39) = 39
<… write resumed> ) = 39
write(5, «\n», 1
SYS_write(5, «\n», 1) = 1
<… write resumed> ) = 1
tcsetattr(6, 2, 0×8076620
SYS_ioctl(6, 21508, 0xfef5498c, 0xfef5498c, 0×218fdc) = -6
<… tcsetattr resumed> ) = -1
__errno_location() = 0xf6fefb40
memcpy(0xfef545c0, «tcsetattr: », 11) = 0xfef545c0
__ctype_b_loc() = 0xf6fefb44
__errno_location() = 0xf6fefb40
—--
т.е. вроде все проходит гладко но перед перезвоном портславе отваливается
стакой ошибкой хотя виндовый хост ждет обратного звонка(висит окошечко).
и еще меня насторожило что при патче ppp в /etc/ppp не появились скрипты
callback-server и т.п. хотя в Mаkefile добавилилось все нужное.
И напоследок пробовал делать связку mgetty+pppd без радиуса — слетает стой же ошибкой — «tcgetattr: No such device or address(6)»
если без опции callback server , то соеденение проходит на ура (но без колбека).
что я делаю не правильно ?
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1