Come posso creare un alias ifconfig statico permanente?

7

Come faccio a ottenere questo alias di loopback ifconfig modificato per persistere dopo un riavvio?

$ 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>

Le uniche istruzioni simili che ho trovato sono per file OSX inesistenti su altri sistemi * nix per file come /etc/network/interfaces o /etc/sysconfig/networking-scripts/ifcfg-eth0 .

    
posta JJ Zabkar 28.08.2017 - 18:31
fonte

1 risposta

11

In generale, puoi creare l'alias persistente in Rete nelle Preferenze di Sistema.

Tuttavia,ildispositivodiloopbacklo0nonvienemostratoqui.Perquestocasospeciale,dobbiamoutilizzarelaunchdperdareilviaaunoscriptbreveconilcomandoifconfigchehaiusatosopra.

Eccounfile.plistdiesempio,salvatocomecom.user.lo0-loopback.plist(puòesseresalvatoovunque,inseguitoverràcopiatonelladirectoryappropriata).

<?xmlversion="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>

Successivamente, spostalo nella directory /Library/LaunchDaemons/ in modo che venga avviato all'avvio (verrà eseguito come root ) e imposterai le autorizzazioni corrette

$ 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

Quindi caricalo con launchctl

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

Riavvia e il tuo loopback lo0 dovrebbe avere un IP alias ad esso assegnato che sarà persistente attraverso i riavvii.

    
risposta data 28.08.2017 - 20:00
fonte

Leggi altre domande sui tag