一般来说,您可以在“系统偏好设置”的“网络”中创建持久性别名。
然而 lo0
环回设备没有显示在这里。对于这种特殊情况,我们需要利用 launchd
用这个开始一个简短的剧本 ifconfig
你上面使用的命令。
这是一个示例.plist文件,保存为 com.user.lo0-loopback.plist
(可以保存在任何地方,因为稍后会将其复制到相应的目录中)。
<?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>
接下来,将其移至 /Library/LaunchDaemons/
目录所以它在启动时启动(将作为 root
)并设置正确的权限
$ 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
然后加载它 launchctl
$ launchctl load /Library/LaunchDaemons/com.user.lo0-loopback.plist
重启和你的 lo0
loopback应该有一个分配给它的别名IP,它将在重新启动后保持不变。