Iniciar / detener el uso compartido de Internet a través del terminal en Yosemite sin AppleScript

6

De acuerdo, veo que esta pregunta se ha hecho varias veces antes ( aquí , aquí , aquí y aquí ), pero ninguno de ellos realmente responde la pregunta por mí.

No quiero usar las sugerencias de AppleScript proporcionadas para habilitar / deshabilitar el uso compartido de Internet, ya que las futuras actualizaciones de la GUI de Preferencias del Sistema pueden romper el AppleScript, como fue el caso en las publicaciones vinculadas anteriores, y la solución parece un poco torpe , para ser honesto.

En Yosemite, sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist ya no funciona porque ya no hay un .plist llamado InternetSharing .

lo intenté %código% que vi en otro lugar, pero eso solo cambia la casilla de verificación real en Preferencias del sistema y en realidad no habilita el IS.

Así que en última instancia, mi pregunta es la siguiente. ¿A qué procesos debo llamar desde la línea de comandos para habilitar el uso compartido de Internet o, a la inversa, a qué procesos debo eliminar para deshabilitar el uso compartido de Internet?

    
pregunta Stuart H 06.03.2015 - 17:53

2 respuestas

3

Me encontré con una forma aparentemente sencilla de habilitar / deshabilitar el uso compartido de Internet el otro día. Solo hay que hacer un poco de trabajo de preparación.

  1. Abrir preferencias del sistema > Red
  2. Resalte la interfaz desde la que desea compartir su conexión DESDE y haga clic en el engranaje debajo de la lista de interfaces
  3. Seleccione 'Servicio de duplicado ...'
  4. Asigne un nombre al servicio duplicado y guárdelo
  5. Establezca el servicio en 'DHCP con dirección manual' (porque algunos servidores DHCP no asignarán una dirección adicional a un MAC) e ingrese una IP válida

Ese es el trabajo de preparación hecho. Ahora solo necesita cambiar la configuración de IS para compartir desde el nuevo servicio en lugar de la existente. Entonces, puedes usar networksetup -setnetworkserviceenabled <networkservice> <on off> para activar o desactivar el servicio de red que acaba de crear. Al hacerlo, se desactiva IS ya que no hay ningún servicio para recibir acceso a Internet, y aún conserva el acceso en su máquina porque todavía hay una interfaz activa conectada a su red.

    
respondido por el Stuart H 17.04.2015 - 22:15
1

Primero, elimine las interfaces de Internet activas con el comando del terminal:

ifconfig [interface*] down

Luego se encuentra un demonio de lanzamiento aquí:

/System/Library/LaunchDaemons/com.apple.NetworkSharing.plist

debe alternarse con el comando launchctl .

luego muestra las interfaces con el comando

ifconfig [interface*] up

* Nota: en0 es la interfaz Ethernet cableada, mientras que en1 es la interfaz wifi. La ejecución del comando ifconfig en sí misma enumera todas las interfaces, activas o inactivas.

    
respondido por el IconDaemon 06.03.2015 - 20:31

Lea otras preguntas en las etiquetas