arplookup failed

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

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

arplookup failed

Непрочитанное сообщение zingel » 2008-02-01 10:40:41

EHLO ALL

Подскажите, пожалуйста.

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

# uname -srm
FreeBSD 7.0-RC1 i386
При следующих sysctl переменных:

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

net.link.ether.inet.log_arp_permanent_modify: 0
net.link.ether.inet.log_arp_movements: 0
net.link.ether.inet.log_arp_wrong_iface: 0
net.inet.tcp.log_in_vain: 0
net.inet.tcp.log_debug: 0
Приходят сообщения следующего вида:

kernel: arplookup xxx.xx.xx.xx failed: host is not on local network

yyy.yy.yy.yy - em0 1000Base
zzz.zz.zz.zz - алиас em0

С настройками сети абсолютно всё в порядке, маски - верные, роуты - тоже.

Конфиг ядра:

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

# grep 'option' /usr/src/sys/i386/conf/BEASTIE-RC7

# An exhaustive list of options and more detailed explanations of the
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
options         MROUTING
options        "MAXDSIZ=(512*1024*1024)"
options        "DFLDSIZ=(128*1024*1024)"
options        NMBCLUSTERS=32768
options        MAXFILES=16384
options         IPSEC
options        IPSEC_FILTERTUNNEL
options         NETGRAPH
options         NETGRAPH_ASYNC
options         NETGRAPH_DEFLATE
options         NETGRAPH_DEVICE
options         NETGRAPH_SOCKET
options         NETGRAPH_ECHO
options         NETGRAPH_TEE
options         NETGRAPH_GIF
options         NETGRAPH_IPFW
options         NETGRAPH_IFACE
options         NETGRAPH_NAT
options         NETGRAPH_PPP
options         ACCEPT_FILTER_DATA
options         ACCEPT_FILTER_HTTP
options         HZ=1000
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPDIVERT
options         IPFIREWALL_NAT
options         IPFIREWALL_FORWARD
options         DUMMYNET
options         IPSTEALTH
options         DEVICE_POLLING
options         ZERO_COPY_SOCKETS
options         SMP                     # Symmetric MultiProcessor Kernel
options         ATA_STATIC_ID   # Static device numbering
options         AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
options         AHD_REG_PRETTY_PRINT    # Print register bitfields in debug

Есть подозрение, что это баг,

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

/usr/src/sys/netinet/if_ether.c

.........................849.......................

/*
* Lookup or enter a new address in arptab.
*/
static struct rtentry *
arplookup(u_long addr, int create, int proxy)
{
        struct rtentry *rt;
        struct sockaddr_inarp sin;
        const char *why = 0;

        bzero(&sin, sizeof(sin));
        sin.sin_len = sizeof(sin);
        sin.sin_family = AF_INET;
        sin.sin_addr.s_addr = addr;
        if (proxy)
                sin.sin_other = SIN_PROXY;
        rt = rtalloc1((struct sockaddr *)&sin, create, 0UL);
        if (rt == 0)
                return (0);

        if (rt->rt_flags & RTF_GATEWAY)
                why = "host is not on local network";
        else if ((rt->rt_flags & RTF_LLINFO) == 0)
                why = "could not allocate llinfo";
        else if (rt->rt_gateway->sa_family != AF_LINK)
                why = "gateway route is not ours";

        if (why) {
#define ISDYNCLONE(_rt) \
        (((_rt)->rt_flags & (RTF_STATIC | RTF_WASCLONED)) == RTF_WASCLONED)
                if (create)
                        log(LOG_DEBUG, "arplookup %s failed: %s\n",
                            inet_ntoa(sin.sin_addr), why);
                /*
                 * If there are no references to this Layer 2 route,
                 * and it is a cloned route, and not static, and
                 * arplookup() is creating the route, then purge
                 * it from the routing table as it is probably bogus.
                 */
                if (rt->rt_refcnt == 1 && ISDYNCLONE(rt))
                        rtexpunge(rt);
                RTFREE_LOCKED(rt);
                return (0);
#undef ISDYNCLONE
        } else {
                RT_REMREF(rt);
                return (rt);
        }
}
Вопрос в каком месте поправить код, чтобы не приходили подобные сообщения и кто с таким сталкивался?


Спасибо.

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35437
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: arplookup failed

Непрочитанное сообщение Alex Keda » 2008-02-01 10:47:02

сталкивались все.
Насчёт бага не уверен, иначе бы за время с 4 до 7 уже поправили - это было в 4-ке...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: arplookup failed

Непрочитанное сообщение zingel » 2008-02-01 10:55:45

Не подскажете как с этим бороться? Я вижу только вариант правки кода и пересборки ядра.......

Не обращать внимание - не выход.
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35437
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: arplookup failed

Непрочитанное сообщение Alex Keda » 2008-02-01 11:03:00

правь.
Тока это линукс-вей, и неправильно.
Вместо этого лучше попытаться понять почему так, а не иначе.
Потому что если это ошибка - то за столько лет её бы по любому пофиксили.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: arplookup failed

Непрочитанное сообщение zingel » 2008-02-01 11:06:33

Согласен, эту будет грязный хак и не более того, незнаю, я думаю можно ещё поглядеть на вывод tcpdump -x ether multicast, может быть дело и не во фре вовсе, а например в кошке....
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: arplookup failed

Непрочитанное сообщение schizoid » 2008-02-01 12:02:08

а это не arpwatch случайно ругается?
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: arplookup failed

Непрочитанное сообщение zingel » 2008-02-01 15:48:18

Нет, такого добра не установлено, для этого есть port security && BPDU guard на кошке.
Z301171463546 - можно пожертвовать мне денег