web-dev-qa-db-fra.com

Commutation d'un serveur sur une adresse IP statique à partir de DHCP

J'exécute une installation de serveur Ubuntu 10.04 et j'ai récemment dû la passer de DHCP à une adresse IP statique. J'ai modifié le fichier /etc/network/interfaces et modifié

iface eth0 inet dhcp

à

iface eth0 inet static  
address 192.168.1.167  
netmask 255.255.255.240  
network 192.168.1.160  
broadcast 192.168.1.175  
gateway 192.168.1.161

Vous remarquerez que les adresses IP sont un peu étranges. En effet, le serveur se trouve maintenant sur un sous-réseau spécial dédié à l'isolation de serveurs spécifiques. J'ai également modifié le fichier resolv.conf afin d'inclure les serveurs DNS appropriés (y compris l'un des serveurs de Google au cas où tous les enfers seraient perdus).

Le problème est que, apparemment au hasard, la machine perdra la capacité de parler au monde extérieur. Je sais que la machine est toujours en service, mais elle agit comme si elle ne fonctionnait pas du tout. Je pense qu’une partie du problème réside dans le fait qu’aucun DHCP n’exécute ce sous-réseau (ce n’est pas le cas) et que le dhclient semble toujours fonctionner à l’occasion, ce qui provoque une sorte de conflit (aucune idée de quoi) qui entraîne la disparition du réseau. Cependant, je ne peux pas supprimer le paquet dhcp3-client car il entraîne également la suppression du paquet ubuntu-minimal, ce qui serait mauvais.

Alors, des idées? Comment appeler le client et que puis-je faire pour l’empêcher de fonctionner?

14
Enekk

Si vous n'avez pas redémarré la machine depuis, ce comportement est normal. Passer de dhcp à ip statique devrait être:

  • Sudo ifdown eth0
  • changer la configuration
  • Sudo ifup eth0

La raison en est que si vous effectuez l'iddown après avoir modifié la configuration, il se comporte comme s'il supprimait une interface statique et ne supprimait pas le processus dhclient qui continuerait à gâcher votre configuration. Dans ce cas, tuez simplement le processus dhclient avec

Sudo killall dhclient

et tout devrait marcher.

14
jneves

Comme mentionné par jneves , il s’agit probablement du client DHCP qui vous dérange.

Au lieu de Sudo ifdown eth0- edit -Sudo ifup eth0, vous pouvez simplement exécuter /etc/init.d/networking restart après avoir modifié le fichier. Il a aussi l'avantage de pouvoir le faire à distance ...

(N'ayant pas assez de points sur askubuntu, je ne suis pas autorisé à commenter la réponse de jneves, alors considérez ceci comme un commentaire ...)

Edit : Complètement oublié; Comme la commande ci-dessus ne vous déconnecte à aucun moment, votre session SSH doit en réalité survivre au rechargement de la configuration. Il est plutôt agréable de pouvoir modifier les paramètres du réseau tout en étant connecté à cette machine ...

2
Morten Siebuhr