2 votes

Ajouter des services spécifiques à l'emplacement du réseau avec le terminal

Je veux automatiser la création de mes emplacements de réseau (disons Home y Work ) et s'est penché sur networksetup -createlocation <location name> [populate]

Ajout de populate ajoute des services par défaut à l'emplacement du réseau (USB LAN, Wi-Fi, Bluetooth PAN, Thunderbolt Bridge) et sans laisse l'emplacement vide.

Existe-t-il un moyen d'ajouter des services spécifiques à un emplacement du réseau ? networksetup -printcommands | grep -i location ne donne rien d'utile.

1voto

klanomath Points 63400

networksetup utilise en quelque sorte un système de noms hiérarchiques pour les sous-commandes. emplacement Les sous-commandes sont utilisées pour gérer les emplacements eux-mêmes uniquement : vous pouvez soit lister, obtenir (l'emplacement actuel), créer, supprimer ou passer d'un emplacement à l'autre.

La modification des services de réseau d'un emplacement se fait dans le cadre de la service réseaux "espace nom".

Pour gérer les services réseau dans un vous pouvez utiliser soit une "liste noire", soit une "liste blanche" :

Si vous exécutez networksetup -createlocation <location name> avec populate et supprimer les services réseau indésirables qu'il met sur liste noire, sans populate vous devez ajouter tous les services réseau requis et il s'agit plutôt d'une liste blanche.

Pour supprimer un service réseau en cas d'utilisation de la liste noire :

... -removenetworkservice <networkservice>

Pour ajouter un service réseau en cas de liste blanche, utilisez :

...  -createnetworkservice <networkservice>

0 votes

@oschrenk Transférer un shell script (commençant par networksetup -switchlocation (local) et contenant toutes les autres commandes de configuration du réseau pour (local) et enfin un networksetup -switchlocation (distant)) vers le stdin distant !

0 votes

Je voulais opter pour une approche de liste blanche, mais je n'ai pas vu comment faire. Comme indiqué dans l'autre réponse, il faut basculer vers le nouvel emplacement en tant que networksetup ne peut créer des services que sur le service actuel. Cela me semble bizarre, car cela signifie perdre la connectivité. Y a-t-il un moyen de le faire tout en conservant la connectivité ?

0voto

Douglas Points 10417

Selon la page de manuel de networksetup ( man networksetup )

-createlocation location [populate] Créez un ensemble avec le nom défini par l'utilisateur et remplissez-le optionnellement avec le nom par défaut. services.

Donc, le comportement que vous observez est attendu. Vous n'avez pas besoin d'utiliser le populate Il suffit d'ajouter vos services à la carte selon vos besoins.

Cela dit, avant de pouvoir modifier un emplacement, vous devez commutateur en premier lieu (le rendre actif) :

$ networksetup -listlocations             <------ Lists all locations configured
$ networksetup -getcurrentlocation        <------ Currently selected location
$ networksetup -switchlocation location  <------ Sets current location

En utilisant vos deux emplacements (domicile et travail), passez à l'emplacement souhaité puis ajoutez/modifiez/supprimez le ou les services en question.

Par exemple, pour créer un service "TestLAN" utilisant le périphérique matériel Bluetooth PAN sur le réseau domestique, utilisez ce qui suit :

$ networksetup -switchlocation Home
$ networksetup -createnetworkservice TestLAN "Bluetooth PAN"

Commandes supplémentaires que vous pouvez explorer avec networksetup sont :

-listallhardwareports
-listlocations
-listnetworkserviceorder
-listallnetworkservices

Cependant, le plus important est d'explorer la page de manuel pour plus de détails.

0 votes

Le changement d'emplacement du réseau était le chaînon manquant pour moi. Mon cerveau est resté bloqué sur l'idée de passer un service à un emplacement. Le fait de passer au nouvel emplacement et de créer ensuite les services me semble encore bizarre, car cela signifie une perte de connectivité. Comment cela se fait-il à distance ?

0 votes

Utilisez un bash script sur le distant afin qu'il continue à exécuter des commandes lorsque vous êtes déconnecté. Je ferais probablement d'abord un PoC localement, le perfectionner, puis télécharger/exécuter le script sur le distant. Vous ne voulez pas tuer par inadvertance l'accès à votre machine à distance en désactivant une carte réseau ou un service.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X