2 votes

Comment attribuer une IP statique à l'aide de Netplan pour que isc-dhcp-server ne se plante pas ?

J'ai un petit routeur que je développe sur un bureau Ubuntu 18.04 et lorsque je le démarre sans connexion Ethernet, Netplan ne semble pas attribuer l'IP fixe (du côté LAN). Le côté WAN est connecté avec DHCP. L'interface LAN eth0 est celle sur laquelle isc-dhcp-server fonctionne.

Problème : isc-dhcp-server se plante au démarrage car aucune adresse IP n'existe sur l'interface eth0.

Si je pense manuellement avec un appareil connecté sur eth0, tout fonctionne bien. Donc l'IP statique fonctionne lorsque quelque chose est connecté à eth0.

Comment faire pour que 192.168.10.1 soit assigné à eth0 (enp2s0 sur ce système) même s'il n'est pas branché ?

J'ai un seul fichier .YAML comme suit :

# Let NetworkManager manage all devices on this system
network:
  ethernets:
    enp2s0:
      dhcp4: no
      addresses:
        - 192.168.10.1/24
      nameservers:
        addresses:
          - 8.8.8.8
          - 1.1.1.1
        search: []
    enp3s0:
      dhcp4: yes
  version: 2
 renderer: NetworkManager

Sinon, existe-t-il un moyen simple de lancer (ou de redémarrer) isc-dhcp-server en fonction d'un déclencheur de connexion de l'interface ?

Il s'agissait d'une question très similaire à celle posée ci-dessous, mais elle n'a pas été fermée ou validée par le PO... et je n'ai pas réussi à trouver un moyen d'y parvenir. Toute aide est la bienvenue.

Question similaire non classée

Mise à jour 8/3/19 : Comme indiqué ci-dessus concernant le redémarrage du serveur, j'ai constaté que l'état du câble peut être trouvé de manière fiable dans /sys/class/net/enp2s0/carrier -- la valeur dans ce fichier étant 0 lorsqu'il est déconnecté et 1 lorsqu'il est connecté.

Il semble donc tout à fait logique d'avoir un script qui testerait cette valeur - si la valeur est zéro ne faites rien, si la valeur change de 0 à 1 alors exécutez une commande, et enfin si la valeur reste à 1 ou change de 1 à 0 ne faites rien. Comment pourrais-je écrire un script bash pour accomplir ceci ?

Mise à jour 8/14/19 : Trouvé une résolution en suivant la réponse ci-dessous - mais assurez-vous que vous avez ifupdown installé - mon système ne l'a pas fait. Je n'ai pas poursuivi l'idée script car la solution pour obtenir l'IP statique semble fiable.

0voto

Jordi Bunster Points 3840

Pour netplan, essayez ce fichier .yaml...

network:
  version: 2
  renderer: networkd
  ethernets:
    enp2s0:
      addresses:
        - [192.168.10.1/24]
      gateway4: 
        - 192.168.xx.xx
      nameservers:
        addresses:
          - 8.8.8.8
          - 1.1.1.1
        search: []
    enp3s0:
      dhcp4: yes

sudo netplan --debug generate

sudo netplan apply

reboot

Pour NetworkManager, utilisez ce fichier .yaml...

network:
  version: 2
  renderer: NetworkManager

sudo netplan --debug generate

sudo netplan apply

et ensuite modifier /etc/network/interfaces à quelque chose de similaire à ceci...

auto lo
iface lo inet loopback

auto enp2s0
iface enp2s0 inet static
        address 192.168.10.1
        netmask 255.255.255.0
        gateway 192.168.xx.xx
        dns-nameservers 8.8.8.8 1.1.1.1

auto enp3s0
iface enp3s0 inet dhcp

reboot

Mise à jour n° 1 :

  • a décidé d'utiliser NetworkManager

  • installé ifupdown

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