web-dev-qa-db-fra.com

Comment configurer une adresse IP statique sur Ubuntu Server 18.04

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

Et j'ai vu d'autres personnes dire qu'en 18.04 c'est maintenant /etc/netplan (ce que les gens semblent 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 tue simplement la connexion des serveurs à Internet.

23
final20

Ceci est défini une instruction IP statique dans Ubuntu-Server 18.04

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

Puis remplacez votre configuration, par exemple les lignes suivantes:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    ens160:
     dhcp4: no
     addresses: [192.168.1.137/24]
     gateway4: 192.168.1.1
     nameservers:
       addresses: [8.8.8.8,8.8.4.4]

Appliquer les modifications:

$ Sudo netplan apply

Si vous rencontrez des problèmes, exécutez:

$ Sudo netplan --debug apply

[NOTE]:

  • /24 est équivalent à 255.255.255.0
  • ens160 est votre nom ethernet, vous pouvez l'obtenir en utilisant $ ifconfig
  • Ubuntu 16.04 et 14.04 interface réseau configuration ont une méthode différente.
  • Le fichier est au format format YAML : Utilisez des espaces, pas de tabulations.
13
Benyamin Jafari

Le fichier de configuration est au format format YAML : N'utilisez pas TAB lors de la configuration du fichier. Cela fonctionne seulement avec SPACE.

C'était mon problème.

5
HubbleT

Ubuntu 18.04 utilise maintenant Netplan pour configurer les interfaces réseau. La configuration doit donc être effectuée dans le fichier /etc/netplan/50-cloud-init.yaml, la documentation conseillant de ne plus perturber l'ancien fichier /etc/network/interfaces. J'ai utilisé cette configuration avec ma machine virtuelle Ubuntu Server et cela fonctionne jusqu'à présent, assurez-vous simplement que les informations sont correctes; le paramètre optional: true accélère supposément le temps de démarrage en ne vérifiant pas si l'interface est connectée ou non, il s'agit de la valeur par défaut. De plus, il n'est pas nécessaire de déclarer les valeurs non utilisées, par exemple DHCP, si elles sont absentes, elles sont considérées comme désactivées. Le moteur de rendu par défaut sur Ubuntu Server est networkd. Il n'est donc pas nécessaire de le déclarer. En prenant les informations de votre post, ça devrait être comme ça:

network:
    ethernets:
        eht0:
            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]
            optional: true
    version: 2

Une fois le fichier sauvegardé, exécutez Sudo netplan --debug apply, le drapeau debug affichera plus d’informations et pourra vous aider à détecter les erreurs éventuelles. Vérifiez le câble Ethernet, si en mode virtuel, passez en revue la configuration VM. Si vous utilisez un réseau local sans fil, j'ai lu qu'il est un peu plus difficile à configurer, mais je n'ai pas encore configuré de machine connectée au WiFi avec cette version de serveur.

Si vous souhaitez plus d’informations sur Netplan, il existe un site Web qui contient quelques exemples de configuration de base.

https://netplan.io/

4
badger_8007

Toutes les réponses vous demandant d’éditer directement /etc/netplan/50-cloud-init.yaml sont fausses puisque CloudInit est utilisé et va générer ce fichier. Dans Ubuntu 18.04.2, il est clairement écrit dans le fichier:

$ cat /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        eno1:
            dhcp4: true
    version: 2

Donc, vous ne devriez pas éditer ce fichier mais celui sous /etc/cloud/cloud.cfg.d/ si vous voulez toujours utiliser CloudInit.

Une autre méthode consiste à désactiver complètement CloudInit en créant d'abord un fichier vide /etc/cloud/cloud-init.disabled (voir https://cloudinit.readthedocs.io/en/latest/topics/boot.html ), puis les autres réponses sont correctes. . Sous Ubuntu 18.04.2, je devais utiliser dpkg-reconfigure cloud-init pour le laisser prendre en compte le fichier /etc/cloud/cloud-init.disabled. Je pense que c'est un peu bizarre.

Je vous suggère de renommer le fichier (pas le nom correct puisque 50-cloud-init.yaml laisse penser qu'il utilise toujours CloudInit).

Ensuite, vous pouvez vous retrouver avec un nom de fichier /etc/netplan/01-netcfg.yaml qui contient la configuration ci-dessous. Notez l'utilisation du rendu networkd au lieu de NetworkManager car la configuration est sur un serveur.

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: no
      addresses: [192.168.1.246/24]
      gateway4: 192.168.1.1
      nameservers:
         addresses: [192.168.1.1]
2
Ludovic Kuty

J'ai trouvé un autre moyen d'utiliser cloud-init.

  1. Editez le fichier /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg - le contenu semble être identique à celui de/etc/netplan.
  2. nettoie, redémarre et réinitialise cloud-init avec cette commande:

    Sudo cloud-init clean -r
    
  3. C'est tout! Votre système redémarrera, cloud-init sera réinitialisé et enregistrera la modification dans /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg et les appliquera à /etc/netplan/50-cloud-init.yaml et tout ira bien. Vérifiez avec ifconfig.

1
veperr

C'est le paramètre qui fait que ça marche.

$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

changez eth0 en adaptateur, recherchez votre adaptateur avec ifconfig.

0
Digerate

Comment configurer une adresse IP statique sur Ubuntu Server 18.04

Puis éditez 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 modifications:

$ Sudo netplan apply

0
yousif3350

Pour trouver les interfaces Ethernet disponibles, utilisez ip link show

Puis éditez le fichier 50-cloud-init.yaml en utilisant $Sudo nano /etc/netplan/50-cloud-init.yaml

Ajoutez la configuration pour les interfaces disponibles telles que 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 modifications.

0
Anand Prakash Singh