Paramètres de priorité pour les réseaux filaires et sans fil dans Ubuntu 18.04

Description du problème

Utilisez Ubuntu18.04 sur l'ordinateur industriel pour le contrôle, connectez d'autres matériels tels que le lidar au port réseau de l'ordinateur industriel via un câble réseau, et l'ordinateur industriel utilise une carte réseau sans fil pour se connecter à Internet (navigation sur le Web).

Dans ce cas, on rencontre souvent les problèmes suivants : l'ordinateur industriel est connecté simultanément à plusieurs ports réseau filaires et à Internet via une carte réseau sans fil, mais il ne peut pas se connecter à Internet lors de l'ouverture du navigateur ou de l'utilisation de l'outil apt. pour télécharger et installer le package de fonctions. Impossible de se connecter à Internet.

En effet, la priorité réseau par défaut de l'ordinateur industriel est supérieure à la priorité du réseau sans fil (seuls les réseaux sans fil peuvent se connecter à Internet).

Solution

  • Améliorez la priorité d'utilisation de la carte réseau sans fil en modifiant la valeur métrique du réseau.
  • La métrique est le nombre de sauts spécifié pour la route (la plage est de 1 à 9999). Elle est utilisée pour sélectionner la route qui correspond le mieux à l'adresse de destination dans le paquet transféré parmi plusieurs routes de la table de routage. Le nombre de sauts peut refléter le nombre de sauts, la vitesse du chemin, la fiabilité du chemin, le débit du chemin et les attributs de gestion. Plus la valeur de la métrique est petite, plus la priorité est élevée. Si les valeurs métriques de deux cartes réseau sont identiques, il y aura un conflit de carte réseau en raison de la priorité de préemption et une carte réseau ne pourra pas se connecter.

méthode spécifique

1. Méthode 1 : utilisez les commandes du terminal pour augmenter temporairement la priorité de la carte réseau sans fil

Méthode 1 : convient au débogage temporaire, augmente la priorité du réseau temporaire connecté. Une fois le réseau déconnecté, la reconnexion sera invalide. L'ordinateur industriel doit être réinitialisé après le redémarrage.

Interrogez la table de routage :

route -n

Le résultat est le suivant :

Interface en anglais :

Insérer la description de l'image ici

 Interface chinoise :

Insérer la description de l'image ici

Dans la figure, la colonne Passerelle affiche l'adresse IP de la passerelle et la colonne Iface affiche le nom de la carte réseau (eno1 et enp6s0 sont les noms de port réseau câblé et wlp1s0 est le nom de la carte réseau sans fil).

1.2 Entrez la commande dans le terminal et spécifiez la valeur métrique

1.2 Entrez la commande dans le terminal et spécifiez la valeur de la métrique

Vous pouvez le spécifier via le nom de la carte réseau ou via l'IP de la passerelle (choisissez-en une)

La première:

  1. Spécifiez la valeur métrique via le nom de la carte réseau. Installez ifmetric pour la première fois, puis modifiez la valeur métrique.
  • sudo apt install ifmetric : installez ifmetric ;

sudo ifmetric wlp1s0 90 : Dans la commande, wlp1s0 est le nom de la carte réseau sans fil. Modifiez le numéro de saut (valeur métrique) de la carte réseau sans fil wlp1s0 à 90 (plus la valeur est petite, plus la priorité est élevée)

sudo apt install ifmetric
sudo ifmetric wlp1s0 90

Exécutez la commande route -n sur le terminal pour réinterroger la table de routage et vérifier si la valeur de métrique correspondante est définie avec succès. Le résultat est comme indiqué ci-dessous.

Interface en anglais :

Insérer la description de l'image ici

Interface chinoise :
Insérer la description de l'image ici

La figure montre que la valeur métrique de la carte réseau sans fil wlp1s0 est définie sur 90, ce qui est inférieur à la valeur métrique des autres réseaux, elle sera donc utilisée en premier. À ce stade, le navigateur utilisera la carte réseau sans fil pour accéder à Internet.

Le deuxième type :

  • Spécifiez la valeur de la métrique via l'adresse IP de la passerelle
  • ip route add default via 192.168.43.1 metric 80
    

    192.168.43.1 dans la commande est l'adresse IP de la passerelle connectée à la carte réseau sans fil.
    Exécutez la commande route -n sur le terminal pour réinterroger la table de routage et vérifier si la valeur de métrique correspondante est définie avec succès. Le résultat est comme indiqué ci-dessous.

    Interface en anglais :

  • Insérer la description de l'image ici

    La figure montre que la valeur métrique de la passerelle 192.168.43.1 est définie sur 80, ce qui est inférieur à la valeur métrique des autres réseaux, elle sera donc utilisée en premier. À ce stade, le navigateur utilisera la passerelle 192.168.43.1 pour accéder à Internet.

2. Méthode 2 : utiliser netplan pour configurer le réseau

Méthode 1 : La méthode 2 convient au débogage à long terme pour augmenter la priorité du réseau connecté sans avoir à saisir des commandes dans le terminal à chaque fois.

  • Afficher le fichier de configuration
ls /etc/netplan

Vous pouvez voir le nom du profil.

  • Ouvrir le fichier de configuration
sudo gedit /etc/netplan/*.yaml

Le nom de fichier vu dans la commande ls /etc/netplan, par exemple, le mien est 50-cloud-init.yaml.

  • Modifier le fichier de configuration
    
    network:
      version: 2
      ethernets:
        eno1: #网卡1名称,使用ifconfig -a可以查看
          dhcp4: false #false-dhcp4关闭,true-dhcp4开启
          addresses: [192.168.1.81/24] #设置本机IP及掩码
          routes:
            - to: 0.0.0.0/0
              via: 192.168.1.1 #设置路由网关
              metric: 150 #设置metric值
          optional: true
        eno4: #网卡2名称
          dhcp4: true
          dhcp4-overrides:
            route-metric: 200
      wifis:
        wlp2s0b1: #无线网卡名称
          dhcp4: true
          dhcp4-overrides:
            route-metric: 90
    

    Le code ci-dessus montre deux syntaxes pour définir les valeurs métriques. Les lecteurs peuvent choisir eux-mêmes. Veuillez noter que vous devez remplacer le nom de la carte réseau dans le code par le nom de la carte réseau correspondant de votre propre ordinateur.
    Pour des instructions détaillées sur le fichier de configuration, veuillez vous référer au lien Configuration du réseau à l'aide de Netplan dans Ubuntu 18.04 LTS ou supérieur .

  • fichier de configuration de test
  • sudo netplan try
    

  • Fichier de configuration de l'application
  • sudo netplan apply
    

Exécutez la commande sur le terminal route -npour interroger la table de routage et vérifier si la valeur métrique correspondante est définie avec succès.

Article 2 :
La carte réseau sans fil accède au réseau externe et la carte réseau filaire accède au réseau interne

Par exemple :
l'adresse IP de la carte réseau filaire est 172.1.2.3 et le masque de sous-réseau est 255.255.255.0. L'
adresse IP de la carte réseau sans fil est 192.168.1.111 et le masque de sous-réseau est 255.255.255.0.

Si vous souhaitez simplement accéder au réseau externe via la carte réseau sans fil, il vous suffit d'augmenter la priorité de la carte réseau sans fil.
Ensuite on utilise la commande :

ip route show


Affichez la table de routage comme suit :

default via 192.168.1.1 dev enx2 proto dhcp metric 600 
default via 172.1.2.1 dev enp4 proto dhcp metric 100 
172.1.2.0/24 dev enp4 proto kernel scope link src 172.1.2.3 metric 100 
192.168.1.0/24 dev enx2 proto kernel scope link src 192.168.1.111 metric 600

Parmi eux, enx2 est le nom de périphérique de ma carte réseau sans fil et enp4 est le nom de périphérique de ma carte réseau filaire. Comme vous pouvez le
voir, la carte réseau filaire accède au réseau via la passerelle 172.1.2.1 par défaut, et son saut (métrique) est de 100,
tandis que la carte réseau sans fil accède au réseau via la passerelle. 192.168.1.1 accède au réseau par défaut et son saut (métrique) est de 600.

Puisque le système donnera la priorité à la carte réseau avec un saut de connexion inférieur, les requêtes réseau vont toutes à la carte réseau filaire. Il
suffit ensuite de régler le saut de la carte réseau filaire plus haut, ce qui réduira son priorité.
Commandes exécutables :

sudo ip route del default via 172.1.2.1 dev enp4 proto dhcp metric 100

sudo ip route add default via 172.1.2.1 dev enp4 proto dhcp metric 1000

Ou supprimez directement les paramètres de routage par défaut de la carte réseau filaire :

sudo ip route del default via 172.1.2.1 dev enp4 proto dhcp metric 100

Vous pouvez plutôt utiliser une carte réseau sans fil pour accéder au réseau.

De cette façon, toutes les connexions réseau autres que 172.1.2.0/24 utiliseront des cartes réseau sans fil.
Mais je souhaite également que d'autres sous-réseaux internes 172.1.3.0 utilisent également des cartes réseau filaires
. Ensuite, je peux ajouter des informations de routage de sous-réseau :

sudo ip route add 172.1.3.0/24 dev enp4 proto kernel scope link src 172.1.2.3 metric 100

Ou ajoutez directement les informations de routage IP :

sudo ip route add 172.1.4.1 dev enp4 proto kernel scope link src 172.1.2.3 metric 100

Ma configuration de routage finale est :

default via 192.168.1.1 dev enx2 proto dhcp metric 600 
172.1.2.0/24 dev enp4 proto kernel scope link src 172.1.2.3 metric 100 
172.1.3.0/24 dev enp4 proto kernel scope link src 172.1.2.3 metric 100
172.1.4.1 dev enp4 proto kernel scope link src 172.1.2.3 metric 100
192.168.1.0/24 dev enx2 proto kernel scope link src 192.168.1.111 metric 600

Ensuite, mon ordinateur :
accédera aux appareils des deux sous-réseaux 172.1.2.0/24 et 172.1.3.0/24 via la carte réseau filaire.
Accédera à l'appareil unique 172.1.4.1 via la carte réseau filaire.
Toutes les autres connexions seront accessibles via le carte réseau sans fil.

Je suppose que tu aimes

Origine blog.csdn.net/lau_jw/article/details/127225790
conseillé
Classement