Antes/después de cualquier configuración, la interfaz o las interfaces implicadas en la compartición necesitan ser apagadas/encendidas con:
networksetup -setairportpower en1 off
y después. ( networksetup -setairportpower en1 on
)
Mi wifi aparecía como en1
Para buscar el suyo, utilice networksetup -listnetworkserviceorder
. Más aún, cuando se inicia el uso compartido de Internet tendrá que añadir una funcionalidad NAT más detallada que simplemente establecer el bit habilitado.
NAT se activa/desactiva con un bit: -int 0
= off -int 1
= en
Lo único que está escrito en /Library/Preferences/SystemConfiguration/com.apple.nat.plist
con
defaults write /Library/Preferences/SystemConfiguration/com.apple.nat\
NAT -dict Enabled -int 0
es
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NAT</key>
<dict>
</dict>
<key>Enabled</key>
<integer>1</integer>
</dict>
</dict>
</plist>
Tendrá que cambiar su archivo plist para que tenga el siguiente aspecto:
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NAT</key>
<dict>
<key>AirPort</key>
<dict>
<key>40BitEncrypt</key>
<integer>1</integer>
<key>Channel</key>
<integer>0</integer>
<key>Enabled</key>
<integer>0</integer>
<key>NetworkName</key>
<string>FancyHostNome</string>
<key>NetworkPassword</key>
<data>
</data>
</dict>
<key>Enabled</key>
<integer>1</integer>
<key>NatPortMapDisabled</key>
<false/>
<key>PrimaryInterface</key>
<dict>
<key>Device</key>
<string>en4</string>
<key>Enabled</key>
<integer>0</integer>
<key>HardwareKey</key>
<string></string>
<key>PrimaryUserReadable</key>
<string>InfiniBand</string>
</dict>
<key>PrimaryService</key>
<string>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</string>
<key>SharingDevices</key>
<array>
<string>en1</string>
</array>
</dict>
</dict>
</plist>
Como puedes ver mi archivo plist NAT puede necesitar un poco de personalización para adaptarse a tus necesidades.
0 votos
Mankoff, cuando ejecuto tu sugerencia: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist parece que se ejecuta bien e incluso el gui de preferencias de compartición se actualiza correctamente cuando se refresca, sin embargo la conexión no funciona. Si ejecuto el comando de nuevo, incluso falla porque piensa que ya está cargado. Además, si ejecuto el comando "top" para ver el proceso que se está ejecutando, no veo "InternetSharing", pero si lo inicio en la guía de preferencias, veo que el proceso "InternetSharing" se está ejecutando y la conexión funciona. Alguna idea de por qué estoy h
0 votos
No estoy seguro de por qué tienes ese comportamiento. Veo "InternetSharing" en la parte superior (o más fácil, ps aux | grep -i internet ).
0 votos
Estoy usando OS X 10.6. Si tienes una versión diferente quizás sea por eso...
0 votos
Además, esto debería ser un comentario a mi respuesta, no una respuesta en sí misma. Tal vez quieras borrar la respuesta...
0 votos
Sí, ciertamente esto debería ser un comentario a su respuesta, pero por alguna razón no soy capaz de comentar las respuestas a menos que alguien ya haya hecho un comentario. Tal vez porque soy un nuevo usuario. Estoy ejecutando OS X 10.6.4. Otra cosa que he notado es que cuando lanzo el uso compartido de Internet en la guía de preferencias es que el proceso natd (demonio de traducción de direcciones de red) también se inicia. Me pregunto si también tengo que iniciar este proceso, actualmente estoy investigando cómo hacerlo, parece que hay argumentos complejos necesarios para iniciar este proceso.
0 votos
Mankoff, cuando ejecutas el comando ¿también se inician los otros procesos, como bootpd y natd? Estos procesos se inician cuando comienzo a compartir internet desde la GUI, pero ningún proceso se inicia cuando ejecuto el comando. Empiezo a pensar que el proceso se bloquea porque los otros procesos no están presentes. Eso también explicaría por qué el uso compartido de Internet se comprueba en la interfaz gráfica de usuario, pero el proceso no se está ejecutando.
0 votos
@MikeZ: Los he convertido en comentarios para ti. Como aún no tienes suficiente reputación para comentar en todos los sitios del sitio, lo que puedes hacer es crear una nueva pregunta y con suerte otros podrán ayudarte al igual que mankoff. Esto te ayudará a ganar suficiente reputación para comentar en todos los sitios. Consulta apple.stackexchange.com/privilegios para obtener más información sobre la reputación y los privilegios.