Configurer le réseau d'un ancien robot

Donner une nouvelle adresse IP, une passerelle et un serveur DNS à un robot sans bureau, en écrivant son fichier réseau depuis sa console.

Un ancien robot n'a pas d'interface graphique : son adresse IP se change en ligne de commande, directement sur sa console.

Cette page concerne les robots sans bureau Linux. Branchés sur un écran, ils affichent une ligne de commande dès la connexion. Si vous voyez un bureau, suivez plutôt configurer le réseau d'un robot.

En SSH, tous les robots affichent une ligne de commande. Pour savoir si le vôtre a un bureau, lancez :

systemctl is-active NetworkManager

Si la commande répond inactive, le robot n'a pas de bureau : suivez cette page. Si elle répond active, suivez configurer le réseau d'un robot.

Avant de commencer

  • Un accès SSH au robot, ou à défaut un écran et un clavier. Selon le modèle, l'écran se branche en HDMI ou en VGA.
  • Les identifiants du robot. Demandez-les à support@kapptivate.com si vous ne les avez pas.
  • La nouvelle adresse IP, son masque, la passerelle et le serveur DNS, fournis par votre service informatique.
  • Sur un réseau d'entreprise filtré, les flux ouverts pour la nouvelle adresse. Ils sont listés dans le document des exigences IP : demandez-le à support@kapptivate.com. Sans ces flux, le robot reste Hors ligne sur sa nouvelle adresse.

Se connecter

En SSH, connectez-vous avec les identifiants du robot, en remplaçant UTILISATEUR par le nom d'utilisateur et ADRESSE par l'adresse IP actuelle du robot :

ssh UTILISATEUR@ADRESSE

Sans accès SSH, branchez l'écran et le clavier à l'arrière du robot, puis saisissez le nom d'utilisateur et le mot de passe. Le mot de passe ne s'affiche pas pendant la saisie, c'est normal.

Le robot attend un clavier AZERTY, ou QWERTY sur certains robots. Tapez a à l'invite de connexion : si un q s'affiche, ce que vous tapez et ce que le robot reçoit ne correspondent pas, et ce décalage vaut pour toute la page. Pour vérifier que vous tapez correctement le mot de passe, saisissez-le d'abord à la place du nom d'utilisateur : il s'affiche en clair. Effacez-le ensuite avant de vous connecter.

Si sudo demande un mot de passe dans la suite de la page, saisissez celui de votre connexion.

Repérer le port

ip -br link | grep ^en
enp1s0           DOWN           00:00:5e:00:53:01 <BROADCAST,MULTICAST>
enp2s0           UP             00:00:5e:00:53:02 <BROADCAST,MULTICAST,UP,LOWER_UP>

Le câble réseau RJ45 est branché sur le port qui affiche UP dans la deuxième colonne, ici enp2s0. Notez ce nom.

Si aucun port n'affiche UP, branchez le câble RJ45 sur un autre port et relancez la commande.

Écrire la nouvelle adresse

Vous allez écrire un ou deux fichiers avec l'éditeur nano. Pour enregistrer et quitter, appuyez sur Ctrl+O, puis sur Entrée, puis sur Ctrl+X.

Affichez d'abord les fichiers réseau du robot :

ls /etc/netplan

Si la liste contient 50-cloud-init.yaml, le robot remet son ancienne configuration à chaque démarrage. Pour l'en empêcher, ouvrez ce fichier :

sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

Tapez ces deux lignes, en commençant la deuxième par deux espaces, puis enregistrez :

network:
  config: disabled

Mettez ensuite l'ancienne configuration de côté. Le dossier /etc/netplan-backup la garde, pour revenir à la configuration précédente si besoin.

sudo mkdir -p /etc/netplan-backup
sudo mv /etc/netplan/*.yaml /etc/netplan-backup/

Ouvrez enfin le nouveau fichier :

sudo nano /etc/netplan/01-netcfg.yaml

Tapez la configuration en décalant les lignes avec la barre d'espace, jamais avec la touche Tab, puis enregistrez. Voici un exemple :

network:
  ethernets:
    enp2s0:
      addresses:
        - 192.168.10.42/24
      gateway4: 192.168.10.1
      nameservers:
        addresses:
          - 192.168.10.53

Chaque ligne commence par un nombre précis d'espaces :

LigneEspaces en début de ligne
network:0
ethernets:2
enp2s0:4
addresses:6
- 192.168.10.42/248
gateway4: 192.168.10.16
nameservers:6
addresses:8
- 192.168.10.5310

Remplacez les valeurs de l'exemple par les vôtres :

  • enp2s0 : le port qui affichait UP.
  • 192.168.10.42/24 : la nouvelle adresse IP, une barre oblique, puis le masque sous sa forme courte, donnée par le tableau ci-dessous.
  • 192.168.10.1 : l'adresse de la passerelle.
  • 192.168.10.53 : l'adresse du serveur DNS. S'il y en a deux, ajoutez une ligne - pour le second, précédée de 10 espaces comme la première.
MasqueForme courte
255.255.0.0/16
255.255.240.0/20
255.255.252.0/22
255.255.254.0/23
255.255.255.0/24
255.255.255.128/25
255.255.255.192/26
255.255.255.224/27

Si votre masque n'est pas dans le tableau, demandez sa forme courte à votre service informatique.

Vérifier et redémarrer

Validez les modifications :

sudo netplan generate

Si le fichier est valide, la commande n'affiche rien, ou des lignes WARNING, qui ne bloquent rien :

** (generate:1225): WARNING **: 15:24:04.849: Permissions for /etc/netplan/01-netcfg.yaml are too open. Netplan configuration should NOT be accessible by others.
** (generate:1225): WARNING **: 15:24:04.850: `gateway4` has been deprecated, use default routes instead.
See the 'Default routes' section of the documentation for more details.

Si elle affiche une erreur, corrigez le fichier avant de redémarrer : avec un fichier invalide, le robot démarre sans réseau.

L'erreur donne le nom du fichier, suivi du numéro de ligne et du numéro de colonne où se trouve la faute. Rouvrez le fichier avec sudo nano -l /etc/netplan/01-netcfg.yaml : l'option -l affiche les numéros de ligne. Corrigez, enregistrez, puis relancez sudo netplan generate. Voici les erreurs les plus probables.

/etc/netplan/01-netcfg.yaml:4:1: Invalid YAML: tabs are not allowed for indent:

Une ligne commence par une tabulation. Effacez-la et remplacez-la par des espaces.

/etc/netplan/01-netcfg.yaml:6:6: Invalid YAML: inconsistent indentation:

Une ligne n'a pas le bon nombre d'espaces au début. Comparez-la à l'exemple.

/etc/netplan/01-netcfg.yaml:7:7: Invalid YAML: could not find expected ':':

Une espace manque après un deux-points, à la ligne qui précède celle indiquée. Un : suivi d'une valeur est toujours suivi d'une espace.

/etc/netplan/01-netcfg.yaml:9:11: Error in network definition: expected sequence

Une espace manque après un tiret. Chaque - est suivi d'une espace.

/etc/netplan/01-netcfg.yaml:5:9: Error in network definition: address '192.168.10.42' is missing /prefixlength

Le masque manque après l'adresse. Ajoutez /24, ou la forme courte donnée par le tableau.

Quand la vérification ne signale plus d'erreur, redémarrez le robot :

sudo reboot

En SSH, la connexion se coupe au redémarrage. Si le robot démarre sans réseau, seuls un écran et un clavier permettent de revenir à la configuration précédente.

Laissez à la plateforme environ trois minutes, puis relisez le statut du robot dans la liste de vos robots. Il doit repasser En ligne. S'il reste Hors ligne, suivez vérifier la connexion réseau d'un robot.

Revenir à la configuration précédente

Supprimez la nouvelle configuration, remettez l'ancienne en place, puis redémarrez :

sudo rm /etc/netplan/01-netcfg.yaml
sudo mv /etc/netplan-backup/*.yaml /etc/netplan/
sudo reboot

Et ensuite ?

Vérifier la connexion réseau d'un robot

Si le robot a sa nouvelle adresse et reste hors ligne

Dépanner un robot hors ligne

Si le robot a disparu de la plateforme sans qu'aucune adresse ait changé

Last updated on