8 votes

Démarrer/arrêter le partage d'Internet via le terminal dans Yosemite sans AppleScript

D'accord, je vois que cette question a déjà été posée plusieurs fois ( aquí , aquí , aquí y aquí ), mais aucun d'entre eux ne répond vraiment à la question pour moi.

Je ne veux pas utiliser les suggestions AppleScript fournies pour activer/désactiver le partage d'Internet car les futures mises à jour de l'interface graphique des Préférences Système risquent de casser l'AppleScript, comme c'était le cas dans les messages liés ci-dessus, et la solution semble un peu maladroite, pour être honnête.

Sur Yosemite, sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist ne fonctionne plus, car il n'y a plus de .plist appelé InternetSharing .

J'ai essayé sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat NAT -dict-add Enabled -int 1 que j'ai vu ailleurs, mais cela ne fait que cocher la case dans les Préférences Système et n'active pas réellement IS.

En fin de compte, ma question est la suivante. Quels processus dois-je appeler à partir de la ligne de commande pour activer le partage d'Internet, ou inversement, quels processus dois-je tuer pour désactiver le partage d'Internet ?

5voto

Sera H Points 1428

L'autre jour, je suis tombé sur un moyen apparemment stupidement facile d'activer/désactiver le partage d'Internet. Il y a juste un peu de travail préparatoire à faire d'abord.

  1. Ouvrez Préférences Système > Réseau
  2. Mettez en évidence l'interface avec laquelle vous souhaitez partager votre connexion et cliquez sur la roue dentée située sous la liste des interfaces.
  3. Sélectionnez "Dupliquer le service...".
  4. Donner un nom au service dupliqué et l'enregistrer
  5. Réglez le service sur "DHCP avec adresse manuelle" (car certains serveurs DHCP n'attribuent pas d'adresse supplémentaire à un MAC) et entrez une adresse IP valide.

C'est le travail préparatoire qui est fait. Il ne vous reste plus qu'à modifier les paramètres de votre SI pour partager à partir du nouveau service au lieu du service existant. Ensuite, vous pouvez utiliser networksetup -setnetworkserviceenabled <networkservice> <on off> pour activer ou désactiver le service réseau que vous venez de créer. Vous désactivez ainsi IS car il n'y a pas de service pour recevoir l'accès à l'internet, et vous conservez l'accès sur votre machine car il y a toujours une interface active connectée à votre réseau !

2voto

J'ai procédé comme suit :

  • Dupliquer l'emplacement "Automatique". J'ai donné à l'emplacement dupliqué le nom de "Partagé".
  • Sur l'emplacement "Shared", renommez l'interface Ethernet en "Shared Ethernet".
  • Configurer l'internet partagé pour utiliser l'interface "Shared Ethernet".

Avec cette configuration, lorsque l'on passe de l'emplacement "Automatique" à l'emplacement "Partagé", l'interface "Ethernet partagé" devient disponible/indisponible et le partage de l'internet peut donc être activé/désactivé.

De là à utiliser la ligne de commande, il suffit d'appeler

networksetup -switchtolocation "Shared"

ou

networksetup -switchtolocation "Automatic"

1voto

IconDaemon Points 17417

Tout d'abord, mettez hors service toutes les interfaces Internet actives à l'aide de la commande terminal :

ifconfig [interface*] down

Puis un démon de lancement trouvé ici :

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

doit être activé à l'aide du bouton launchctl commande.

puis afficher les interfaces à l'aide de la commande

ifconfig [interface*] up

*Note : en0 est l'interface Ethernet câblée, tandis que en1 est l'interface wifi. L'exécution de la commande ifconfig donne à elle seule la liste de toutes les interfaces, qu'elles soient actives ou inactives.

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