在 OS X 中通过终端发布/更新 IP 地址

29 terminal dhcp command-line macos

我希望使用终端在 OS X 10.4 (Tiger) 中发布和更新我的 IP 地址。本质上,我需要相当于 Windows 的 OS X:

C:\\> ipconfig /release  
C:\\> ipconfig /renew
Run Code Online (Sandbox Code Playgroud)

但是,在此过程中我需要界面保持活动状态,因此使用ifconfig down/up 将不起作用。

我相信我可以使用 ifconfig <interface> delete 清除 IP 地址,但我不确定如何让 DHCP 客户端重新分配地址。2002 年的一篇文章建议使用 set dhcp,但 Apple 的 ifconfig 手册页不包含此信息。

ana*_*rex 34

sudo ipconfig set en0 BOOTP
sudo ipconfig set en0 DHCP
Run Code Online (Sandbox Code Playgroud)

应该做。


资料来源:


小智 12

我发现命令

ipconfig set <interface> BOOTP 
ipconfig set <interface> DHCP
Run Code Online (Sandbox Code Playgroud)

确实完成释放接口IP,但不会更新它。这种行为可能可以解释,因为我正在使用 MACBook Air。但是,我也在 MacBook Pro 上尝试过,结果相同。快速阅读 networksetup 的手册页会发现两个姊妹命令和 ipconfig 的命令。这些命令是

networksetup -setbootp <network service name>
networksetup -setdhcp <network service name>
Run Code Online (Sandbox Code Playgroud)

在网络设置状态窗格中看到的名称在哪里。如果您打开网络设置,您可以通过观察“配置 IPv4”选项的变化来观察此命令的工作情况。请注意,为了节省打字时间,我从所有命令中排除了 sudo,当然,如果您的系统需要提升权限来执行命令,您应该在此答案中列出的命令的前面使用“sudo”。希望这可以节省我在寻找这样一个简单命令时所经历的头发拉扯和发烟的麻烦。

  • 要查看 &lt;网络服务名称&gt; 的列表,您可以使用 `networksetup -listnetworkserviceorder` (2认同)