Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Alexander Lunyov                     2:5059/20.5    14 May 2004  12:30:34
 To : All
 Subject : ppp и /dev/cuaa10 - кто виноват?
 -------------------------------------------------------------------------------- 
 
 
     Есть шлюз, он же NAS. FreeBSD-4.8R-p13, три мультипортовки Cronyx Omega
 PCI, образующие стройный список из 24 COM-портов /dev/cuaa[1-9a-o]. Hа все эти
 24 порта навешаны mgetty, дальше по /AutoPPP/ пускается exppp (или ppp, что не
 так уж и важно), авторизация и аккаунтинг работает через freeradius.
     С включением rlm_ippool (модуль раздачи ip адресов из пула) в freeradius'е
 обнаружился глюк - при коннекте диалапщиков на определенные номера radiusd не
 выдает ip адрес, и клиент, соответственно, отваливается с ошибкой "сервер не
 назначил IP адрес". Стал смотреть-копать. Атрибут номера порта (NAS-Port-Id)
 не передается серверу, если коннект происходит на определенных портах. Смотрю
 логи ppp:
 
  Phase: Using interface: tun9
  Phase: deflink: Created in closed state
  Command: default: set radius /etc/radius.conf
  Command: default: set dns 192.168.33.127
  Command: default: set local_ip 62.33.65.0/24
  Warning: Add local net: 62.33.65.0/24
  Command: default: accept dns
  Command: default: enable lqr
  Command: default: enable pap
  Command: default: enable chap
  Command: default: enable mschap
  Command: default: enable mschapv2
  Command: default: set rad_alive 20
  Command: default: disable acfcomp protocomp
  Command: default: deny acfcomp
  Command: dialup: set timeout 900
  Command: dialup: set mru 576
  Command: dialup: set mtu 576
  Phase: PPP Started (direct mode).
  Phase: bundle: Establish
  Phase: deflink: closed -> opening
  Phase: deflink: Connected!
  Phase: deflink: opening -> carrier
 
 > Phase: deflink: /dev/cuaa15: CD detected *** (1)
 
  Phase: deflink: carrier -> lcp
  Phase: bundle: Authenticate
  Phase: deflink: his = none, mine = CHAP 0x05
  Phase: Chap Output: CHALLENGE
  Phase: Chap Input: RESPONSE (16 bytes from rim74)
 
 > Error: NAS-Port-Id borken: -1 *** (2)
 
  Phase: Radius: Request sent
  Phase: Radius(auth): ACCEPT received
  Phase:  Octets limit 292770808
  Phase: Chap Output: SUCCESS
  Phase: deflink: lcp -> open
  Phase: bundle: Network
 
     (1) - А mgetty рапортовал об этом коннекте как о коннекте на порт
 /dev/cuaaf. Откуда взялась цифра 15?
     (2) - Это мой дебуг, вставленный в radius.c. Вот что там в оригинале:
 
 в radius.c:
 
  if ((slot = physical_Slot(p)) >= 0)
    if (rad_put_int(rad, RAD_NAS_PORT, slot) != 0) {
      log_Printf(LogERROR, "rad_put: rad_put_int: %s\n", rad_strerror(rad));
      rad_close(rad);
      return 0;
    }
 
     Я просто добавил к первому if отладочный else. physical_Slot() - это из
 physical.c:
 
 int
 physical_Slot(struct physical *p)
 {
  if (p->handler && p->handler->slot)
    return (*p->handler->slot)(p);
 
  return -1;
 }
 
     А p->handler получается, если я ничего не напутал, из tty.c:
 
 в tty_iov2device():
 
    memcpy(&dev->dev, &basettydevice, sizeof dev->dev);
 
    physical_SetupStack(p, dev->dev.name, PHYSICAL_NOFORCE);
    if (dev->Timer.state != TIMER_STOPPED) {
      dev->Timer.state = TIMER_STOPPED;
      p->handler = &dev->dev;       /* For the benefit of StartTimer */
      tty_StartTimer(p);
    }
    return &dev->dev;
 
     Расстановка сил такая:
 
     cuaa1 cuaa2 cuaa3 cuaa4 cuaa5 cuaa6 cuaa7 cuaa8 - первая мультипортовка
     cuaa9 cuaaa cuaab cuaac cuaad cuaae cuaaf cuaag - вторая мультипортовка
     cuaah cuaai cuaaj cuaak cuaal cuaam cuaan cuaao - третья мультипортовка
 
     Проблема возникает на устройствах cuaa10 - cuaa16 (все эти порты висят на
 одной карточке), имена портов cuaah - cuaao не поганятся.
 
     Главный вопрос - где происходит подмена имен устройств? Кто сообщает ppp
 неправильные имена портов - уж не система ли (в смысле, драйвер обозначенной
 omega pci)? Куда посмотреть за неопровержимыми доказательствами (чтобы было с
 чем обращаться в суппорт Cronyx'а)?
 
 p.s.: приведенные фрагменты сырцов не менялись в exppp, в штатном ppp то же
 самое, так что проблема не в exppp.
 
  * bye
 
 ---
  * Origin: no sex until marriage! (c) Front242 (2:5059/20.5)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 ppp и /dev/cuaa10 - кто виноват?   Alexander Lunyov   14 May 2004 12:30:34 
 ppp и /dev/cuaa10 - кто виноват?   Alexander Lunyov   18 May 2004 00:05:42 
 Re: ppp и /dev/cuaa10 - кто виноват?   Eugene Grosbein   18 May 2004 09:03:38 
 ppp и /dev/cuaa10 - кто виноват?   Alexander Lunyov   18 May 2004 09:10:02 
 Re: ppp и /dev/cuaa10 - кто виноват?   Eugene Grosbein   18 May 2004 13:45:49 
 ppp и /dev/cuaa10 - кто виноват?   Alexander Lunyov   18 May 2004 11:07:58 
 Re: ppp и /dev/cuaa10 - кто виноват?   Valentin Nechayev   18 May 2004 10:21:43 
 ppp и /dev/cuaa10 - кто виноват?   Slawa Olhovchenkov   18 May 2004 10:32:28 
 ppp и /dev/cuaa10 - кто виноват?   Alex Semenyaka   18 May 2004 11:04:06 
 ppp и /dev/cuaa10 - кто виноват?   Slawa Olhovchenkov   18 May 2004 11:18:16 
 Re: ppp и /dev/cuaa10 - кто виноват?   Eugene Grosbein   18 May 2004 15:44:27 
 ppp и /dev/cuaa10 - кто виноват?   Slawa Olhovchenkov   18 May 2004 12:08:00 
 Re: ppp и /dev/cuaa10 - кто виноват?   Eugene Grosbein   18 May 2004 16:32:06 
 ppp и /dev/cuaa10 - кто виноват?   Alex Semenyaka   18 May 2004 12:32:20 
 ppp и /dev/cuaa10 - кто виноват?   Slawa Olhovchenkov   18 May 2004 13:09:04 
 ppp и /dev/cuaa10 - кто виноват?   Alexander Lunyov   18 May 2004 11:12:26 
 ppp и /dev/cuaa10 - кто виноват?   Alex Semenyaka   18 May 2004 12:35:40 
 ppp и /dev/cuaa10 - кто виноват?   Alexander Lunyov   18 May 2004 14:11:40 
 ppp и /dev/cuaa10 - кто виноват?   Alex Semenyaka   18 May 2004 11:13:52 
 ppp и /dev/cuaa10 - кто виноват?   Alexander Lunyov   18 May 2004 13:21:58 
 ppp и /dev/cuaa10 - кто виноват?   Alex Semenyaka   18 May 2004 13:56:24 
 ppp и /dev/cuaa10 - кто виноват?   Alexander Lunyov   18 May 2004 15:41:18 
 ppp и /dev/cuaa10 - кто виноват?   Alex Semenyaka   18 May 2004 22:24:44 
 ppp и /dev/cuaa10 - кто виноват?   Alexander Lunyov   19 May 2004 10:54:42 
Архивное /ru.unix.bsd/276540a483bb.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional