Question Le serveur Debian perd la passerelle par défaut de façon sporadique


Je ne sais pas ce qui cause mon instabilité, mais voici ce que je sais:

Le serveur exécute Debian sans interface graphique.

J'ai une adresse IP statique et / etc / network / interfaces est configuré avec une entrée 'gateway x.x.x.1'.

Périodiquement, mon serveur perd toute connexion Internet et, lorsque je peux y accéder pour accéder, la passerelle par défaut est absente de la table de routage.

Étant donné que cette erreur interrompt tout le trafic sur mon serveur, j'ai configuré une tâche cron pour tenter périodiquement de «router add gw x.x.x.1» afin de ne pas avoir à revenir physiquement sur la machine. Je voudrais une meilleure solution ...

/ etc / network / interfaces:

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

Pourquoi l'entrée: up route add default gw x.x.x.1 ne fonctionne-t-elle pas dans / etc / network / interfaces pour conserver la passerelle dans la table de routage? De plus, l'entrée 'gateway x.x.x.1' ne devrait-elle pas déjà s'assurer que la passerelle par défaut reste dans la table de routage?

En outre, quels fichiers journaux devrais-je consulter pour détecter cette erreur récurrente?

Question annexe: une attaque de type DoS peut-elle provoquer la chute de eth0?


7
2018-03-01 21:40


origine


Pouvez-vous poster le fichier complet des interfaces? Si vous souhaitez partager des adresses publiques, utilisez simplement l'espace adresse RFC1918. - Zoredache
Cette up route add default gw 192.168.0.1 est inutile et inutile lorsque vous avez une entrée "passerelle". - daff


Réponses:


le ifconfig La commande n'est pas destinée à configurer autre chose que l'interface elle-même, aucune passerelle n'est donc impliquée.

Quand tu cours ifconfig down, la passerelle est supprimée par le noyau car il voit qu’elle n’est plus valide.

Quand tu cours ifconfig up, le noyau ne peut rien deviner de la passerelle.

Vous devez utiliser votre commande spécifique à la distribution pour up l’interface (par exemple avec Debian, c’est ifup eth0), ou utiliser explicitement le route commander.


6
2018-03-01 22:00



Existe-t-il un moyen de sensibiliser le noyau au paramètre de passerelle nécessaire? Je pensais que / etc / network / interfaces ferait cela ... De plus, je ne suis pas sûr de la cause du problème, il me faut juste un moyen pour que, lorsque eth0 revient, la route de passerelle vienne avec. - Andrew Parker
Je viens d'écrire la réponse: vous devriez utiliser votre commande spécifique à la distribution. Période. C'est aussi "ifip" et "ifdown" pour RedHat. - Gregory MOUSSAT
Type: ifup, pas ifip - Gregory MOUSSAT
Oui, mais ce sont des commandes. Je n'émets aucune commande et ma table de routage perd toujours son chemin vers la passerelle. - Andrew Parker
Vous devez donc clarifier votre question. Utilisez le lien modifier pour cela. - Gregory MOUSSAT


Je ne suis pas sûr à propos de Debian, mais redhat a besoin que les scripts sysconfig soient configurés pour conserver les paramètres de la passerelle. Je ne suis pas sûr de la pertinence de debian, mais cela m'a rendu dingue.


1
2018-03-02 01:36



Tout ce que vous avez à faire est d’ajouter une ligne GATEWAY=X.X.X.X sur / etc / sysconfig / network. Le système d'exploitation n'a aucun moyen de savoir automatiquement en quoi consiste la passerelle, car elle varie en fonction du réseau. - devicenull
C'est correct. Je ne sais pas si Debian utilise le système sysconfig. On dirait que ça n'a pas été la dernière fois que j'ai joué avec. - DaffyDuc


D'abord, pourquoi utilisez-vous ifconfig? Sur un serveur normal, vous ne devriez toucher à cela que si vous changiez les adresses IP.

Je soupçonne que vous avez une copie du client DHCP fonctionnant quelque part. J'ai vu des problèmes intermittents comme celui-ci quand dhclient se réveille vers la fin du délai d'expiration du bail. Assurez-vous que ceci est complètement désactivé (vous pouvez probablement aller aussi loin que chmod -x ou même le supprimer, car il n'a pas de véritable objectif sur les serveurs de production). Vérifier ps aux et assurez-vous de ne rien voir concernant DHCP.

Enfin, une attaque par déni de service n'aura aucun effet sur l'adresse de passerelle de votre système. Il est possible que la passerelle tombe en panne (si elle surcharge le routeur), mais le système ne la supprime pas soudainement de votre table de routage.


1
2018-03-02 03:45



J'essaie simplement de retracer ce qui se passe sur mon serveur et pourquoi il continue de perdre sa route vers la passerelle (il se trouve que ifconfig up / down fait exactement la même chose et que je cherche un moyen de s'assurer que la route de passerelle vient avec eth0). Mon serveur se met régulièrement hors ligne et je dois le visiter physiquement pour le reconnecter. Lorsque je le fais, la route vers la passerelle est absente de la table de routage ... Il n'y a pas de DHCP, tout est statique, il n'y a pas d'éléments liés au dhcp dans ps aux. - Andrew Parker
@AndrewParker Il n'est probablement pas nécessaire de mentionner, mais assurez-vous de vérifier "dhclient" dans le ps aux en sortie, pas simplement pour un motif contenant "dhcp". - daff
Vérifiez également / var / log / syslog au cas où dhclient démarre et se termine. - user61849


Pas une solution, mais une solution rapide pour vous empêcher de conduire pour corriger le fichier de configuration.

Assemblez-vous pour vérifier la connectivité. S'il ne peut pas en sortir, il doit ajouter la passerelle au fichier de configuration et réseauter. Au moins pour le moment, cela vous éviterait de perdre du temps et de conduire.

Désolé de créer une autre réponse ... ne peut apparemment pas ajouter de commentaires apparemment.


0
2018-03-02 05:41



Comme un script shell? J'ai actuellement cron réinsérant la route dans la table de routage toutes les quelques heures ... - Andrew Parker
Je pensais que je le mentionnerais au cas où vous ne l'auriez pas fait. Et bien sûr, je voulais dire un script planifié: D - DaffyDuc