Это проблема, на которую я несколько лет не обращал внимания.
У меня есть стабильный сервер Debian под управлением linux 3.16.0- 4-amd64. Через несколько минут или часов после загрузки сервер теряет исходящее сетевое подключение и перестает отвечать на SSH и ping. Открытые SSH-соединения зависают. Однако у меня на этом хосте работают 3 виртуальные машины на основе KVM, и они могут буквально работать годами без каких-либо проблем с подключением. Я также могу их перезагрузить.
/ etc / network / interfaces
:
auto lo
iface lo inet loopback
iface eth0 inet manual
auto br0
iface br0 inet static
address xxx.xxx.xxx.6
netmask 255.255.255.0
network xxx.xxx.xxx.0
broadcast xxx.xxx.xxx.255
gateway xxx.xxx.xxx.1
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0
В журнале нет ничего интересного. Единственное сообщение, связанное с сетью, в нем следующее, и оно обычно приходит через 10–15 минут после загрузки, но потенциально может за несколько часов до отключения:
kernel: br0: Multicast hash table maximum of 512 reached, disabling snooping: eth0
route -n
и ip addr
output doesn не меняется при отключении. ping 8.8.8.8
говорит:
From OWN_IPv4 icmp_seq=1 Destination Host Unreachable
Отключение IPv6 (который я сейчас не использую) не помогло.
Изменить : это происходит независимо от того, запущены ли виртуальные машины или не. Мне просто было любопытно, что у них есть подключение, а у хоста его нет, поэтому я упомянул их. Никакого трафика быть не должно, кроме периодического сканирования SSH.
Устройство не теряет подключение к сети в течение 16 часов подряд, поэтому я почти уверен, что это ›исправлено‹. Я загрузился с файлом / etc / network / interfaces
без определения моста:
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet static
address xxx.xxx.xxx.6
netmask 255.255.255.0
network xxx.xxx.xxx.0
broadcast xxx.xxx.xxx.255
gateway xxx.xxx.xxx.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers SOME_IP SOME_OTHER_IP
Через два часа (на всякий случай) я скопировал через / etc / network / interface
из вопроса и запустил:
ip address flush eth0 scope global && ifup br0
Через четыре минуты хеш-таблица многоадресной рассылки снова заполнилась, но меня это не волновало. Еще через два часа я загрузил виртуальные машины.
Итак,очевидно, что загрузка с помощью моста приводит к потере связи системы через разное время, тогда как добавление моста после загрузки, похоже, работает. Хотя понятия не имею, почему это так.