Внешний сетевой интерфейс (eth0) на одном из наших серверов периодически зависает. Он также имеет интерфейс локальной сети (eth1), поэтому я могу подключиться к серверу через один из других серверов в той же сети. Любые подключения через внешнюю сеть, такие как SSH с моего локального компьютера, ping с моего локального компьютера, SSH с сервера разработки в другой сети - все время истекает. При подключении через один из других серверов в его локальной сети я могу запустить sudo ifdown eth0 && sudo ifup eth0
и интерфейс снова волшебным образом работает. Если я попробую ifup
сначала вместо того, чтобы выключить интерфейс, я получаю сообщение об ошибке, в котором говорится, что интерфейс уже запущен.
В качестве обходного пути я попытался добавить следующую строку в свой корневой crontab:
55 1 * * * ifdown eth0 && ifup eth0 &> /dev/null
Как ни странно, это на самом деле не решает проблему. Задание резервного копирования, которое запускается через 5 минут, не может скопировать файлы на машину за пределами локальной сети.
Вы можете увидеть результат sudo dmesg
Вот.
Сервер представляет собой HP ProLiant DL360 G5 под управлением Ubuntu Lucid (10.04). Заранее благодарим вас за любую помощь в том, как отследить эту проблему и решить ее!
1- Вы можете отслеживать трафик на этом интерфейсе с помощью команды:
sudo tcpdump -i eth0 -s 1518 -XX -vv -n -w /tmp/trace_file.pcap
Попробуйте подключиться и посмотрите, получает ли интерфейс трафик.
2- Проверьте, можете ли вы получить доступ к другим машинам С этого сервера, кроме этого сервера, используя eth0.
3- Проверьте статус интерфейса, используя: ethtool eth0
.
4- Проверьте статус интерфейса с помощью файлов sys в /sys/class/net/eth0/*
5- Проверьте статус вашего брандмауэра (активен или неактивен) и проверьте правила, если таковые имеются.
6- Проверьте сообщения отладки ядра, используя dmesg
и проверьте файл системного журнала / var / log / messages на наличие ошибок / предупреждений.
Надеюсь, это поможет!