8 votos

Iniciar/Detener el uso compartido de Internet a través de la Terminal en Yosemite sin AppleScript

Vale, veo que esta pregunta ya se ha hecho varias veces ( aquí , aquí , aquí y aquí ), pero ninguno de ellos responde realmente a la pregunta para mí.

No quiero utilizar las sugerencias de AppleScript proporcionadas para activar/desactivar Compartir Internet ya que las futuras actualizaciones de la GUI de Preferencias del Sistema pueden romper el AppleScript, como fue el caso en los posts enlazados anteriormente, 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 .plist llamado InternetSharing .

He intentado sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat NAT -dict-add Enabled -int 1 que vi en otro lugar, pero eso sólo activa la casilla de verificación real en las Preferencias del Sistema y no habilita realmente el IS.

Así que, en última instancia, mi pregunta es la siguiente. ¿Qué procesos tengo que llamar desde la línea de comandos para habilitar Internet Sharing, o por el contrario, qué procesos tengo que matar para desactivar Internet Sharing?

0 votos

¿Has probado a bajar la interfaz ethernet usando ifconfig en0 down y a continuación, retroceder con ifconfig en0 up . Este ejemplo utiliza en0, pero el nombre de su interfaz variará dependiendo de cuál esté en uso. Eso podría forzar el cambio.

0 votos

Sí, lo he intentado. Aunque sólo probé a reiniciar el wi-fi (con el que comparto) y no el ethernet (con el que comparto), aunque dudo que la interfaz que reinicie afecte al resultado.

0 votos

Yo también probaría la interfaz ethernet.

5voto

Stuart H Puntos 783

El otro día me topé con una forma aparentemente fácil de activar/desactivar el uso compartido de Internet. Sólo hay que hacer un poco de trabajo de preparación primero.

  1. Abra Preferencias del Sistema > Red
  2. Resalte la interfaz desde la que desea compartir su conexión y haga clic en el engranaje situado debajo de la lista de interfaces
  3. Seleccione "Duplicar servicio...".
  4. Dar un nombre al servicio duplicado y guardarlo
  5. Configure el servicio como "DHCP con dirección manual" (porque algunos servidores DHCP no asignan una dirección adicional a una MAC) e introduzca una IP válida

Eso es el trabajo de preparación hecho. Ahora sólo tienes que cambiar la configuración del SI para compartir desde el nuevo servicio en lugar del existente. A continuación, puede utilizar networksetup -setnetworkserviceenabled <networkservice> <on off> para activar o desactivar el servicio de red que acaba de crear. Al hacerlo, se desactiva el IS, ya que no hay ningún servicio desde el que recibir acceso a Internet, y usted sigue manteniendo el acceso en su máquina porque todavía hay una interfaz activa conectada a su red.

1 votos

No puedo agradecer lo suficiente esta respuesta, he estado tratando de encontrar una manera de hacer esto durante años; ahora por fin puedo hacer que se apague por la noche para que mi ordenador pueda dormir, y se encienda de nuevo cuando lo despierte.

2voto

Hice lo siguiente:

  • Duplique la ubicación "Automática". Le di al duplicado el nombre de "Compartido".
  • En la ubicación "Compartida", cambie el nombre de la interfaz Ethernet a "Ethernet compartida".
  • Configure el Internet compartido para utilizar la interfaz "Shared Ethernet".

Con esta configuración, cuando se cambia de la ubicación "Automática" a la "Compartida", la interfaz "Ethernet Compartida" pasa a estar disponible/no disponible y, por lo tanto, se puede activar/desactivar el uso compartido de Internet.

A partir de aquí y utilizando la línea de comandos, es sólo cuestión de llamar a

networksetup -switchtolocation "Shared"

o

networksetup -switchtolocation "Automatic"

1voto

En primer lugar, derribe las interfaces de Internet activas mediante el comando terminal:

ifconfig [interface*] down

Entonces un demonio de lanzamiento encontrado aquí:

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

tiene que ser activado con el botón launchctl comando.

y a continuación, hacer aparecer las interfaces con el comando

ifconfig [interface*] up

*Nota: en0 es la interfaz ethernet cableada, mientras que en1 es la interfaz wifi. Ejecutando el ifconfig El comando por sí mismo lista todas las interfaces, activas o inactivas.

0 votos

Quizás he hablado demasiado pronto. Aunque esto funciona bien para desactivar Compartir Internet, no parece funcionar demasiado bien para volver a activarlo :(

0 votos

¿Has probado a desactivar el demonio después de sacar las interfaces?

0 votos

He probado a activar el demonio y a continuación abrir las interfaces, lo mismo con un retraso para permitir la inicialización, activar después de abrir las interfaces, activar la interfaz de compartición después de activar el demonio, e incluso utilizar el botón start opción de launchctl Todo ello en vano.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X