проблема с натом в 7.0

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
karakurty
проходил мимо
Сообщения: 7
Зарегистрирован: 2008-03-13 23:17:44

проблема с натом в 7.0

Непрочитанное сообщение karakurty » 2008-03-13 23:23:33

Приветствую всех.

После обновления до 7.0 Stable уже в третий раз появляется следующая проблема:
- зависает mpd4 (с его помощью берется реальный IP и вешается на ng0)
mpd4, конечно же, был пересобран сразу после make installworld
- в топе висит natd, который цепляется на ng0 интерфейс
- убить natd с помощью kill -9 PID не получается
- убить mpd4 с помощью kill -9 PID не получается
- приконнектиться на диагностический порт mpd4 5005 не получается
- в логах mpd4 чисто (информация за прошлые сутки о перезагрузке)
- в /var/log/messages тоже чисто
- не получилось приаттачиться к процессам с помощью gdb,
к слову сказать с другими процессами та же история, приаттачиться к ним тоже не вышло
- на этом же тазике выполняя эти же задачи успешно(т.е. без аналогичных проблем) крутились 5.Х и 6.Х FreeBSD с mpd4
- помимо отъедания полностью одного процессора и недоступности
реального айпишника - тазик реагирует на команды адекватно,
все остальные сервисы работают даже в текущий момент зависания

В текущий момент эта проблема как раз повторилась и я решил не перегружать пока машинку,
возможно, с вашей помощью удастся решить эту проблему. Заранее извиняюсь за ОЧЕНЬ большой
объем нижеследующей информации..
Сейчас есть возможность собрать любые другие данные по вашему запросу.


тазик:

Код: Выделить всё

Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-STABLE #0: Sat Mar  8 06:22:14 EET 2008
    karakurty@karakurty.odessa.ua:/usr/obj/usr/src/sys/ROUTER
module_register: module g_mirror already exists!
Module g_mirror failed to register: 17
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Pentium II/Pentium II Xeon/Celeron (233.87-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x634  Stepping = 4
  Features=0x80fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,MMX>
real memory  = 536858624 (511 MB)
avail memory = 515682304 (491 MB)
MPTable: <OEM00000 PROD00000000>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  1
 cpu1 (AP): APIC ID:  0
ioapic0: Assuming intbase of 0
ioapic0 <Version 1.1> irqs 0-23 on motherboard
kbd1 at kbdmux0
cpu0 on motherboard
cpu1 on motherboard
pcib0: <Intel 82443LX (440 LX) host to PCI bridge> pcibus 0 on motherboard
...

Код: Выделить всё

karakurty# mpd4 -version
Version 4.4 (root@karakurty.odessa.ua 02:30  2-Mar-2008
Конфиг простейший:

Код: Выделить всё

startup:
        set console port 5005
        set console ip 127.0.0.1
        set console user user password
        set console open
default:
        load normaplus
normaplus:
        new -i ng0 vpn vpn
        set iface disable on-demand
        set iface enable tcpmssfix
        set iface idle 0
        set auth authname user
        set auth password password
        set bundle disable multilink
        set bundle no noretry
        set link yes acfcomp protocomp
        set link disable pap chap
        set link accept chap
        set link keep-alive 30 10
        set ipcp yes vjcomp
        set ipcp ranges 0.0.0.0/0.0.0.0/0
        set link mtu 1490
        set link mru 1490
        set link enable chap-msv2
        set link enable no-orig-auth
        set iface up-script /usr/local/etc/mpd4/ng-up.sh
        set iface down-script /usr/local/etc/mpd4/ng-down.sh
        open
часть вывода top -a (все еще пересобирается юзерленд):

Код: Выделить всё

last pid: 44940;  load averages:  2.08,  2.17,  2.20  up 1+08:29:58  20:29:46
84 processes:  3 running, 81 sleeping
CPU states: 36.9% user,  0.0% nice, 62.6% system,  0.0% interrupt,  0.6% idle
Mem: 220M Active, 62M Inact, 96M Wired, 16M Cache, 60M Buf, 100M Free
Swap: 1024M Total, 168K Used, 1024M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
44939 root          1 108    0 28572K 22556K RUN    0   0:02 157.00% [cc1plus]
 1280 root          1 128    0  3384K  1116K CPU1   0 361:34 98.63% /sbin/natd -f /usr/local/etc/mpd4/natd.ext.conf
...

Код: Выделить всё

karakurty# ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:c0:df:0c:3d:a2
        inet 10.4.0.30 netmask 0xffffff00 broadcast 10.4.0.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:30:4f:39:70:e1
        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet 127.0.0.1 netmask 0xff000000
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1490
        inet 193.17.208.60 --> 193.17.208.1 netmask 0xffffffff

Код: Выделить всё

karakurty# ping 193.17.208.60
PING 193.17.208.60 (193.17.208.60): 56 data bytes
92 bytes from vpn.normaplus.com (10.255.255.2): Time to live exceeded
Vr HL TOS  Len   ID Flg  off TTL Pro  cks      Src      Dst
 4  5  00 5400 25d5   0 0000  01  01 f864 10.4.0.30  193.17.208.60

избирательный вывод netstat -an :

Код: Выделить всё

tcp4       0      0  10.4.0.30.*            10.255.255.2.1723      CLOSED
div4   65602      0  *.8669                 *.*

Код: Выделить всё

karakurty# lsof -p 1280
COMMAND  PID USER   FD   TYPE     DEVICE SIZE/OFF   NODE NAME
natd    1280 root  cwd   VDIR       0,79      512      2  (ufs)
natd    1280 root  rtd   VDIR       0,79      512      2  (ufs)
natd    1280 root    0u  VCHR        0,8      0t0      8  (devfs) (like character special /dev/null)
natd    1280 root    1u  VCHR        0,8      0t0      8  (devfs) (like character special /dev/null)
natd    1280 root    2u  VCHR        0,8      0t0      8  (devfs) (like character special /dev/null)
natd    1280 root    3r  VREG       0,79      229  47609  -- etc/libalias.conf
natd    1280 root    4u  IPv4 0xc2cf4e10      0t0 DIVERT 0.0.33.221:59586->*:42068
natd    1280 root    5u  PIPE 0xc2bcc630    16384        ->0xc2bcc6e8
natd    1280 root    6u  PIPE 0xc2bcc6e8        0        ->0xc2bcc630
natd    1280 root    7u  PIPE 0xc2cbb000    16384        ->0xc2cbb0b8, cnt=1, in=1
natd    1280 root    8u  PIPE 0xc2cbb0b8        0        ->0xc2cbb000
natd    1280 root    9u  unix 0xc2eafdec      0t0        ->0xc2cd418c
natd    1280 root   10u  IPv4 0xc2cf82d0      0t0   ICMP *:60098->*:24828

Код: Выделить всё

karakurty# gdb programm 1280
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...programm: No such file or directory.
Attaching to process 1280
/usr/src/gnu/usr.bin/gdb/libgdb/../../../../contrib/gdb/gdb/solib-svr4.c:1443: internal-error: legacy_fetch_link_map_offsets called without legacy link_map support enabled.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n
/usr/src/gnu/usr.bin/gdb/libgdb/../../../../contrib/gdb/gdb/solib-svr4.c:1443: internal-error: legacy_fetch_link_map_offsets called without legacy link_map support enabled.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) n
Судя по всему я что-то упускаю, так сейчас я не могу приаттачится ни к одному процессу,
я пробывал приконнектится к заведомо живой программе с тем же результатом.

Код: Выделить всё

karakurty# uname -a
FreeBSD karakurty.odessa.ua 7.0-STABLE FreeBSD 7.0-STABLE #0: Sat Mar  2 06:22:14 EET 2008     karakurty@karakurty.odessa.ua:/usr/obj/usr/src/sys/ROUTER  i386

Код: Выделить всё

karakurty# kldstat
Id Refs Address    Size     Name
 1   12 0xc0400000 44f6e4   kernel
 2    1 0xc0850000 16418    geom_mirror.ko
 3    1 0xc0867000 2354     accf_http.ko
 4    1 0xc2c49000 7000     linprocfs.ko
 5    1 0xc2c50000 22000    linux.ko


основная часть конфиг ядра:

Код: Выделить всё

#cpu            I486_CPU
#cpu            I586_CPU
cpu             I686_CPU
ident           ROUTER

# To statically compile in device wiring instead of /boot/device.hints
#hints          "GENERIC.hints"         # Default places to look for devices.

#makeoptions    DEBUG=-g                # Build kernel with gdb(1) debug symbols

options         SCHED_4BSD              # 4BSD scheduler
options         PREEMPTION              # Enable kernel thread preemption
options         INET                    # InterNETworking
#options        INET6                   # IPv6 communications protocols
#options        SCTP                    # Stream Control Transmission Protocol
options         FFS                     # Berkeley Fast Filesystem
options         SOFTUPDATES             # Enable FFS soft updates support
options         UFS_ACL                 # Support for access control lists
options         UFS_DIRHASH             # Improve performance on big directories
options         UFS_GJOURNAL            # Enable gjournal-based UFS journaling
#options        MD_ROOT                 # MD is a potential root device
options         NFSCLIENT               # Network Filesystem Client
options         NFSSERVER               # Network Filesystem Server
#options        NFS_ROOT                # NFS usable as /, requires NFSCLIENT
options         MSDOSFS                 # MSDOS Filesystem
options         CD9660                  # ISO 9660 Filesystem
options         PROCFS                  # Process filesystem (requires PSEUDOFS)
options         PSEUDOFS                # Pseudo-filesystem framework
options         GEOM_PART_GPT           # GUID Partition Tables.
options         GEOM_LABEL              # Provides labelization
options         COMPAT_43TTY            # BSD 4.3 TTY compat [KEEP THIS!]
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5
options         COMPAT_FREEBSD6         # Compatible with FreeBSD6
options         SCSI_DELAY=5000         # Delay (in ms) before probing SCSI
options         KTRACE                  # ktrace(1) support
options         SYSVSHM                 # SYSV-style shared memory
options         SYSVMSG                 # SYSV-style message queues
options         SYSVSEM                 # SYSV-style semaphores
options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
options         ADAPTIVE_GIANT          # Giant mutex is adaptive.
options         STOP_NMI                # Stop CPUS using NMI instead of IPI
options         AUDIT                   # Security event auditing

# To make an SMP kernel, the next two lines are needed
options         SMP                     # Symmetric MultiProcessor Kernel
device          apic                    # I/O APIC

# FireWall support
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPDIVERT
options         IPFIREWALL_FORWARD
options         DUMMYNET

# NetGraph support
options         NETGRAPH
options         NETGRAPH_PPTPGRE
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_BPF
options         NETGRAPH_SOCKET
options         NETGRAPH_IFACE
options         NETGRAPH_PPP
options         NETGRAPH_KSOCKET
options         NETGRAPH_VJC
options         NETGRAPH_TCPMSS

# Geom mirror (RAID 1) support
options         GEOM_MIRROR

Код: Выделить всё

karakurty# less /boot/loader.conf
hint.acpi.0.disabled="1"
accf_http_load="YES"
geom_mirror_load=YES
К сожалению ACPI этой материнской платы не поддерживается,
если его не выключить ядро флудит прерываниями..

Код: Выделить всё

karakurty# ps waux | grep mpd
root       1280 97.1  0.2  3384  1116  ??  Rs   Wed12PM 373:11.57 /sbin/natd -f /usr/local/etc/mpd4/natd.ext.conf
root        798  0.0  0.4  6976  2108  ??  Ds   Wed12PM   0:12.37 /usr/local/sbin/mpd4 -p /var/run/mpd4.pid -b

Код: Выделить всё

karakurty# lsof -p 798
COMMAND PID USER   FD   TYPE     DEVICE SIZE/OFF    NODE NAME
mpd4    798 root  cwd   VDIR       0,84      512 1013282  -- local/etc/mpd4
mpd4    798 root  rtd   VDIR       0,79      512       2  (ufs)
mpd4    798 root    0u  VCHR        0,8      0t0       8  (devfs) (like character special /dev/null)
mpd4    798 root    1u  VCHR        0,8      0t0       8  (devfs) (like character special /dev/null)
mpd4    798 root    2u  VCHR        0,8      0t0       8  (devfs) (like character special /dev/null)
mpd4    798 root    3u  unix 0xc2cd4948      0t0         ->0xc2cd418c
mpd4    798 root    4uW VREG       0,82        4   94232  -- run/mpd4.pid
mpd4    798 root    5u  PIPE 0xc2bcc630    16384         ->0xc2bcc6e8
mpd4    798 root    6u  PIPE 0xc2bcc6e8        0         ->0xc2bcc630
mpd4    798 root    7u  PIPE 0xc2cbb000    16384         ->0xc2cbb0b8, cnt=1, in=1
mpd4    798 root    8u  PIPE 0xc2cbb0b8        0         ->0xc2cbb000
mpd4    798 root    9u  IPv4 0xc2d9cb40      0t0     TCP 6.187.0.0:52930->*:60573
mpd4    798 root   10u  IPv4 0xc2d9cbf4      0t0     TCP 0.0.19.141:56002->*:42004
mpd4    798 root   11u  sock                 0t0         no further information on family 0x20
mpd4    798 root   12u  sock                 0t0         no further information on family 0x20
mpd4    798 root   13u  sock                 0t0         no further information on family 0x20
mpd4    798 root   14u  PIPE 0xc2cbb318    16384         ->0xc2cbb3d0
mpd4    798 root   15u  PIPE 0xc2cbb3d0        0         ->0xc2cbb318
С уважением,
Валера
Последний раз редактировалось hizel 2008-03-13 23:32:59, всего редактировалось 1 раз.
Причина: [code][/code]

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: проблема с натом в 7.0

Непрочитанное сообщение hizel » 2008-03-13 23:34:16

Код: Выделить всё

ipfw show
забыли ;)

в чем стоит принципиальная надобность использования FreeBSD 7.0 STABLE ?
чем RELEASE не устраивает?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Гость
проходил мимо

Re: проблема с натом в 7.0

Непрочитанное сообщение Гость » 2008-03-14 1:11:51

Состояние firewall в момент возникновения проблемы:

Код: Выделить всё

00100   15408    1732500 allow ip from any to any via lo0
00200       5        420 allow ip from me to me
00300       0          0 deny ip from any to 127.0.0.0/8
00400       0          0 deny ip from 127.0.0.0/8 to any
00500       0          0 deny ip from table(1) to me // Deny to me by Bruteblock
00600       0          0 deny ip from me to table(1) // Deny from me by Bruteblock
00700       0          0 deny ip from 192.168.0.0/24 to any in via rl0
00800       0          0 deny ip from 10.4.0.0/24 to any in via rl1
00900       0          0 deny ip from any to 172.16.0.0/12 via rl0
01000       3        393 deny ip from any to 192.168.0.0/16 via rl0
01100       0          0 deny ip from any to 0.0.0.0/8 via rl0
01200       0          0 deny ip from any to 169.254.0.0/16 via rl0
01300       0          0 deny ip from any to 192.0.2.0/24 via rl0
01400      90       2520 deny ip from any to 224.0.0.0/4 via rl0
01500    2315    1152870 deny ip from any to 240.0.0.0/4 via rl0
01600       0          0 deny ip from any to me dst-port 135,137,138 via rl0
01700  633988   27211186 divert 6882 tcp from any to 10.4.0.30 dst-port 6882 in via rl0
01800  937480 1399875002 divert 6882 tcp from 192.168.0.22 6882 to any out via rl0
01900       0          0 allow tcp from me to 192.168.0.22 dst-port 6882
02000       0          0 count ip from any to me dst-port 55900 // for5900_1
02100       0          0 count ip from me 5900 to any // for5900_2
02200       0          0 count ip from any to any dst-port 5900 // for5900_3
02300  106747    5519504 divert 8668 ip from 192.168.0.0/24 to table(0) out via rl0
02400  150182  195670183 divert 8668 ip from table(0) to 10.4.0.30 in via rl0
02500  227931  108656746 divert 8669 ip from 192.168.0.0/24 to not table(0) out via ng0 // forextnatout
02600  368569  371772784 divert 8669 ip from not table(0) to me in via ng0 // forextnatin
02700       0          0 deny ip from 0.0.0.0/8 to any via rl0
02800       0          0 deny ip from 169.254.0.0/16 to any via rl0
02900       0          0 deny ip from 192.0.2.0/24 to any via rl0
03000       0          0 deny ip from 224.0.0.0/4 to any via rl0
03100       0          0 deny ip from 240.0.0.0/4 to any via rl0
03200 4819881 4001678612 allow ip from any to any
65535     340      32116 deny ip from any to any

Код: Выделить всё

karakurty# less /usr/local/etc/mpd4/natd.ext.conf
interface       ng0
port            8669

по поводу Stable vs Release - это домашний роутер, я вполне могу себе позволить поставить стабильную версии FreeBSD :)
Последний раз редактировалось Alex Keda 2008-03-14 8:36:11, всего редактировалось 1 раз.
Причина: Товарищщи, юзайте кнопочку [code], цените чужое время...

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: проблема с натом в 7.0

Непрочитанное сообщение hizel » 2008-03-14 9:27:31

FreeBSD-STABLE является нашей веткой разработки, из которой делаются основные релизы. Изменения в этой ветке происходят с разной скоростью, и при этом предполагается, что сначала они были выполнены для FreeBSD-CURRENT в целях тестирования. Однако эта ветка остаётся веткой для разработки, а это значит, что в любой момент времени исходные тексты FreeBSD-STABLE могут оказаться неприменимы для некоторой задачи. Это просто ещё одна ветка при разработке, а не ресурс для конечных пользователей.
да ну его, смысл разбираться, может как раз в этом STABLE нетграф модулек какой до нерабочего состояния допилили
тогда уж собирать с дебагом и смотреть как программист
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.