43 votes

Comment configurer une adresse IP statique sur Ubuntu Server 18.04

J'ai vu certaines personnes dire que le fichier pour définir une adresse IP statique est toujours /etc/network/interfaces

Et j'ai vu d'autres personnes dire que dans 18.04 c'est maintenant dans /etc/netplan (ce qui semble rendre les gens mécontents)

J'ai essayé de mettre ceci:

version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.9/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [192.168.1.1, 8.8.8.8, 8.8.4.4]

Dans mon /etc/netplan/50-cloud-init.yaml et en faisant sudo netplan apply mais cela coupe simplement la connexion du serveur à Internet.

2voto

B. Shea Points 860

Écrire une nouvelle réponse car tant de réponses sont juste fausses.

Ne pas modifier 50-cloud-init.yaml, 00-installer-config.yaml ou TOUS les fichiers générés par le système/fichiers de packages.

De https://netplan.io/examples/ :

"Pour configurer netplan, enregistrez les fichiers de configuration sous /etc/netplan/ avec une extension .yaml (par exemple /etc/netplan/config.yaml) .."

L'installateur/système l'a fait. Maintenant vous devez le remplacer.

Consultez également man netplan-generate pour les règles régissant la lecture des configurations réseau à partir de /etc/netplan/*.yaml (et ailleurs).

Pour mettre à jour correctement la zone netplan pour utiliser une IP statique au lieu du DHCP par défaut :

Éditez/Créez un nouveau fichier (le nombre préfixé et le trait d'union ainsi que l'extension .yaml sont importants) :

sudo nano /etc/netplan/99-custom-network.yaml

Ajoutez votre YAML correctement formaté à ce fichier. Un exemple d'IP statique :

network:
  ethernets:
    ens160:
      dhcp4: false
      addresses: [10.10.10.5/24]
      gateway4: 10.10.10.1
      nameservers:
        addresses: [10.10.10.100,8.8.8.8,8.8.4.4]
  version: 2

(Remarque : Mon périphérique réseau est ens160 - pas eth0 - ajustez selon vos besoins.)
Enregistrez.
Puis exécutez sudo netplan apply.
Assurez-vous que votre interface réseau semble correcte et fonctionne (ip ad / ping).
Puis redémarrez. Retestez.

Cela suit les instructions de netplan.io ainsi que la règle générale de ne pas modifier les fichiers existants/installés lorsque c'est possible. Dans /etc/netplan/ et des zones de configuration similaires de type conf.d/ vous devriez toujours opter pour un fichier personnalisé/nouveau numéroté haut (si possible) plutôt que de modifier des fichiers de packages installés.

C'est pourquoi ils ont des fichiers numérotés dans ces zones de configuration (dans /etc/netplan/ et autres). Plus le numéro sur le fichier est élevé, plus il est lu en dernier.

Ainsi, quelque chose avec "99-" ajouté devant sera généralement lu en dernier et REMPLACERA tout ce qui a été répété avant. Donc, si une interface réseau est définie en DHCP dans "00-installer-config.yaml", et/ou "50-cloud.init.yaml", les paramètres pour la même interface dans un fichier "99-*.yaml" remplaceront tout ce qui a été lu précédemment.

Généralement ces fichiers YAML installés NE seront PAS écrasés, mais ce n'est pas une logique valide pour ne pas suivre la "norme" conf.d d'utiliser des fichiers personnalisés pour remplacer et éviter de modifier des fichiers installés. Cela ne prend pas de temps supplémentaire. Ajoutez un fichier dans netplan. C'est tout. Donc, il n'y a aucune excuse comme j'ai pu le constater dans les commentaires du type "eh bien, ça a fonctionné jusqu'à présent...".

Ainsi, modifier les fichiers *.yaml netplan par défaut fonctionnera techniquement (généralement), mais vous devriez éviter de les utiliser quand c'est possible.

1voto

Karan Points 583

C'est le paramétrage qui le fait fonctionner.

$sudo nano /etc/netplan/50-cloud-init.yaml

network:
   ethernets:
     eth0:          
     addresses:
     - 192.168.1.9/24
     dhcp: false
     gateway4: 192.168.1.1
     nameservers:
        addresses:
        - 192.168.1.1
        - 8.8.8.8
        - 8.8.4.4
        search: []
  version: 2  

$sudo netplan apply

redémarrer le serveur

remplacer eth0 par votre adaptateur, trouvez votre adaptateur en utilisant ifconfig.

1voto

Ryan Points 15

La configuration réseau dans la version 18.04 est gérée via netplan et configurée avec cloud-init. Pour modifier votre configuration réseau, éditez le fichier 50-curtin-networking.cfg dans /etc/cloud/cloud.cfg.d/. Si ce fichier n'existe pas, créez-le.

Trouvez le nom de votre interface

ip address show

Éditez / créez le fichier de configuration réseau cloud-init

sudo nano /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg

Pour définir une adresse IP statique, utilisez la clé addresses, qui prend une liste d'adresses (IPv4 ou IPv6) avec la longueur du préfixe de sous-réseau (par exemple /24). Les informations de passerelle et de DNS peuvent également être fournies :

network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 192.168.1.9/24
      gateway4: 192.168.1.1
      nameservers:
          addresses: [192.168.1.1, 8.8.8.8, 8.8.4.4]

Vous pouvez trouver plus d'options de configuration sur https://netplan.io/examples

Rechargez la configuration cloud-init. Cela redémarrera votre serveur.

sudo cloud-init clean -r

0voto

Pour trouver les interfaces Ethernet disponibles, utilisez ip link show

Ensuite, éditez le fichier 50-cloud-init.yaml en utilisant $sudo nano /etc/netplan/50-cloud-init.yaml

Ajoutez la configuration des interfaces disponibles comme eth0: et eth1:

network:
   ethernets:
     eth0:          
       addresses:
       - 192.168.1.9/24
       dhcp: false
       gateway4: 192.168.1.1
       nameservers:
          addresses:
          - 192.168.1.1
          - 8.8.8.8
          - 8.8.4.4
          search: []
     eth0:
       addresses:
       - 192.168.1.9/24
       dhcp: false
  version: 2  

Ensuite, utilisez la commande $sudo netplan apply pour appliquer les changements.

0voto

yousif3350 Points 1

Comment configurer une IP statique sur Ubuntu Server 18.04

Ensuite, modifiez le fichier 50-cloud-init.yaml en utilisant$sudo vim /etc/netplan/50-cloud-init.yaml


network:
  ethernets:
    eno1:
        addresses:
        - 10.0.1.10/24
        dhcp4: false
        gateway4: 10.0.1.1
        nameservers:
            addresses:
            - 10.0.1.2
            search: []
version: 2

Appliquer les changements :

$ sudo netplan apply

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X