Я не уверен, что вызывает мою нестабильность, но вот что я знаю:
На сервере работает Debian без графического интерфейса.
У меня статический IP-адрес, а / etc / network / interfaces настроен с записью «шлюз x.x.x.1».
Периодически мой сервер теряет все возможности подключения к Интернету, и когда я могу получить к нему доступ, шлюз по умолчанию отсутствует в таблице маршрутизации.
Поскольку эта ошибка останавливает весь трафик на мой сервер, я настроил задание cron для периодических попыток «добавить маршрут по умолчанию gw x.x.x.1», чтобы мне не приходилось физически возвращаться к машине. Хотелось бы лучшего решения ...
/ и т.д. / сеть / интерфейсы:
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.121
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
up route add default gw 192.168.0.1
dns-nameservers 192.168.0.1
dns-search domain.com
Почему запись: up route add по умолчанию gw x.x.x.1 не работает в / etc / network / interfaces, чтобы сохранить шлюз в таблице маршрутизации? Более того, не должна ли запись «шлюз x.x.x.1» уже гарантировать, что шлюз по умолчанию остается в таблице маршрутизации?
Кроме того, какие файлы журналов мне следует просмотреть, чтобы отследить эту повторяющуюся ошибку?
Дополнительный вопрос: может ли атака типа DoS вызвать сбой eth0?
В ifconfig
Команда не предназначена для настройки чего-либо, кроме самого интерфейса, поэтому шлюз не используется.
Когда ты бежишь ifconfig down
, шлюз удаляется ядром, поскольку видит, что он больше не действителен.
Когда ты бежишь ifconfig up
, ядро ничего не может догадаться о шлюзе.
Вы должны использовать команду вашего дистрибутива, чтобы up
интерфейс (например, в Debian это ifup eth0
) или явно использовать route
команда.
Хорошо, во-первых, почему вы используете ifconfig
? На обычном сервере вы бы этого не трогали, если бы не меняли IP-адреса.
Я подозреваю, что у вас где-то запущена копия DHCP-клиента. Я видел такие периодические проблемы, когда dhclient
просыпается ближе к концу срока аренды. Убедитесь, что он полностью отключен (вы, вероятно, можете пойти так далеко, как chmod -x
или даже удалить его, поскольку он не имеет реальной цели на производственных серверах). Проверьте ps aux
и убедитесь, что вы не видите ничего, относящегося к DHCP.
Наконец, DoS-атака никак не повлияет на адрес шлюза вашей системы. Возможно, это может вызвать отказ шлюза (если он перегружает маршрутизатор), но это не приведет к тому, что ваша система внезапно удалит его из таблицы маршрутизации.
Я не уверен насчет debian, но redhat требует, чтобы сценарии sysconfig были настроены, чтобы сохранить настройки шлюза. Я не уверен, насколько это актуально для debian, но меня это сводило с ума от redhat.
Не решение, а быстрое решение, которое не даст вам заехать и исправить файл конфигурации.
Соберите bash, который проверяет подключение. Если он не может выйти, добавьте шлюз в файл конфигурации и откажитесь от сети. По крайней мере, на данный момент это сэкономит вам время простоя и вождение.
Извините за создание другого ответа ... очевидно, пока не могу добавлять комментарии.