web-dev-qa-db-fra.com

Comment basculer l'option "Utiliser cette connexion uniquement pour les ressources sur son réseau" de NetworkManager via la ligne de commande

Sur mon travail, nous avons des machines de test sur lesquelles nous exécutons des scripts via ssh. Pendant le test, nous voulons que les machines accèdent uniquement au réseau local via leur connexion Ethernet, mais nous souhaitons ensuite leur permettre d’accéder à Internet via la même interface pour le nettoyage et la transmission des données.

Nous pouvons le faire en allant sur chaque machine et en basculant l'option "Use this connection only for resources on its network" dans network manager> IPv4 options> routes menu, mais il serait beaucoup plus pratique de pouvoir l'ajouter à notre script de test.

Je peux trouver des questions similaires concernant les connexions VPN, mais je veux m'assurer que je gère correctement le routage pour l'interface Ethernet standard. Merci pour toute aide.

3
j_solo

Vous pouvez utiliser nmcli pour le faire, la clé est ipv4.never-default:

nmcli connection modify enp3s0 ipv4.never-default true
  • changez enp3s0 avec votre propre nom de connexion.
  • utilisez false ou true pour basculer entre cette configuration.
7
Ravexina

Si vous préférez modifier directement les fichiers, vous pouvez également le faire.

Accédez au répertoire /etc/NetworkManager/system-connections/ et recherchez la connexion souhaitée. Ouvrez le réseau à l’aide de Sudo nano MyNetwork.

Une fois le fichier ouvert, recherchez la section [ipv4] et ajoutez never-default=true, comme suit:

[ipv4]
dns-search=
method=auto
never-default=true

Si vous souhaitez également que les itinéraires IPv6 soient gérés de la même manière, ajoutez la même ligne à la section [ipv6]:

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=0
method=auto
never-default=true

Enregistrez et quittez l'éditeur avec Ctrl+X puis redémarrez NetworkManager avec les informations ci-dessous pour vous assurer que les modifications sont bien enregistrées:

Sudo systemctl restart NetworkManager.service

Reconnectez-vous au réseau et cela devrait fonctionner correctement.

2
Kaz Wolfe

Vous pouvez supprimer la route par défaut et ils ne seront accessibles que depuis votre sous-réseau LAN.

ip route delete default

Et pour le rajouter:

ip route add default via <you_gateway_ip_address>
1
Stancu Mihai