Quiero automatizar la creación de mis ubicaciones de red (digamos Home
y Work
) y estaba investigandonetworksetup -createlocation <location name> [populate]
Agregar populate
agrega servicios predeterminados a la ubicación de la red (USB LAN, Wi-Fi, Bluetooth PAN, Thunderbolt Bridge) y deja la ubicación vacía.
¿Hay alguna manera de agregar servicios específicos a una ubicación de red? networksetup -printcommands | grep -i location
no se le ocurre nada útil.
networksetup usa un sistema de nombres jerárquico para los subcomandos. Los subcomandos de ubicación se utilizan para administrar las ubicaciones en sí mismas: puede enumerar, obtener (la actual), crear, eliminar o cambiar entre ubicaciones.
La modificación de los servicios de red de una ubicación se realiza en el "espacio de nombres" del servicio de red .
Para administrar los servicios de red en una ubicación, puede usar una "lista negra" o una "lista blanca":
Si ejecuta networksetup -createlocation <location name>
con populate
y elimina los servicios de red no deseados, está en la lista negra, sin que populate
tenga que agregar todos los servicios de red requeridos y es más bien en la lista blanca.
Para eliminar un servicio de red en caso de uso en la lista negra:
... -removenetworkservice <networkservice>
Para agregar un servicio de red en caso de uso de la lista blanca:
... -createnetworkservice <networkservice>
De acuerdo con la página del manual de configuración de red ( man networksetup
)
-createlocation location [populate]
Cree un conjunto con el nombre definido por el usuario y, opcionalmente, rellénelo con los servicios predeterminados.
Entonces, el comportamiento que está viendo es el esperado. No necesita usar la populate
función; simplemente agregue sus servicios a la carta según sea necesario.
Dicho esto, antes de que pueda modificar una ubicación, primero debe cambiar a ella (activarla):
$ networksetup -listlocations <------ Lists all locations configured
$ networksetup -getcurrentlocation <------ Currently selected location
$ networksetup -switchlocation location <------ Sets current location
Usando sus dos ubicaciones (Casa y Trabajo), cambie a la ubicación que desee y luego agregue/modifique/elimine los servicios en cuestión
Por ejemplo, para crear un servicio "TestLAN" usando el dispositivo de hardware Bluetooth PAN en la red doméstica, use lo siguiente:
$ networksetup -switchlocation Home
$ networksetup -createnetworkservice TestLAN "Bluetooth PAN"
Los comandos adicionales con los que quizás desee explorar networksetup
son:
-listallhardwareports
-listlocations
-listnetworkserviceorder
-listallnetworkservices
Sin embargo, lo más importante es que debe explorar la página del manual para obtener más detalles.
oschrenk
networksetup
solo puede crear servicios en la actual. Esto se siente raro para mí, ya que esto significa perder la conectividad. ¿Alguna forma de hacer esto manteniendo la conectividad?klanomath
networksetup -switchlocation (local)
y contenga todos los demás comandos de configuración de red para (local) y finalmente unnetworksetup -switchlocation
(remoto)) al stdin remoto.