13 votes

Comment créer un alias statique permanent ifconfig ?

Comment puis-je obtenir ce ifconfig Le changement d'alias de bouclage persiste-t-il après un redémarrage ?

$ sudo ifconfig lo0 alias 172.16.222.111
$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
    inet 127.0.0.1 netmask 0xff000000 
    inet6 ::1 prefixlen 128 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    inet 172.16.222.111 netmask 0xffff0000          ### <-- WANTED!!!
    nd6 options=201<PERFORMNUD,DAD>

Les seules instructions similaires que j'ai trouvées sont pour des fichiers OSX inexistants sur d'autres systèmes *nix pour des fichiers comme /etc/network/interfaces o /etc/sysconfig/networking-scripts/ifcfg-eth0 .

21voto

Douglas Points 10417

En règle générale, vous pouvez créer l'alias persistant dans Réseau dans les Préférences système.

enter image description here enter image description here

Cependant, le lo0 Le périphérique de bouclage n'apparaît pas ici. Pour ce cas particulier, nous devons utiliser launchd pour lancer un court script avec l'option ifconfig que vous avez utilisé ci-dessus.

Voici un exemple de fichier .plist, enregistré sous le nom de com.user.lo0-loopback.plist (peut être enregistré n'importe où car il sera copié dans le répertoire approprié plus tard).

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd > 
<plist version="1.0"> 
<dict> 
  <key>Label</key> 
  <string>com.user.lo0-loopback</string> 
  <key>ProgramArguments</key> 
  <array> 
    <string>/sbin/ifconfig</string> 
    <string>lo0</string> 
    <string>alias</string> 
    <string>172.16.222.111</string> 
  </array> 
  <key>RunAtLoad</key> <true/> 
  <key>Nice</key> 
  <integer>10</integer> 
  <key>KeepAlive</key> 
  <false/> 
  <key>AbandonProcessGroup</key> 
  <true/> 
  <key>StandardErrorPath</key> 
  <string>/var/log/loopback-alias.log</string> 
  <key>StandardOutPath</key> 
  <string>/var/log/loopback-alias.log</string> 
</dict> 
</plist>

Ensuite, déplacez-le vers le /Library/LaunchDaemons/ afin qu'il soit lancé au démarrage (il sera exécuté en tant que root ) et définir les permissions correctes

$ cp com.user.lo0-loopback.plist /Library/LaunchDaemons/ 

$ chmod 0644 /Library/LaunchDaemons/com.user.lo0-loopback.plist 
$ chown root:wheel /Library/LaunchDaemons/com.user.lo0-loopback.plist

Puis le charger avec launchctl

$ launchctl load /Library/LaunchDaemons/com.user.lo0-loopback.plist

Redémarrez et votre lo0 loopback devrait avoir un alias IP assigné à lui qui sera persistant à travers les redémarrages.

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