如何从终端释放和续订DHCP租约?


18

如何从终端上释放和续订DHCP租约?

当前,我正在为无线接口执行以下操作,但是我想知道是否有更好的方法:

sudo ifconfig en1 down
sudo ifconfig en1 up

对于有线接口,请替换en1en0


您是否在等待某人说,不-没有更好的方法,或者我们可以解决您的问题/对其进行编辑,以便获得与ue ipconfig/ 不同的答案ifconfig吗?
bmike

Answers:


27

这也可以通过以下两个命令来实现:

sudo ipconfig set en0 BOOTP
sudo ipconfig set en0 DHCP

您可以在bash个人资料中同时为两者加上别名:

alias renew="sudo ipconfig set en0 BOOTP && sudo ipconfig set en0 DHCP"

因此,您只有一个命令renew,该命令将释放并更新DHCP。


2
Rob的答案肯定会起作用-但ipconfig set始终必须先取消配置接口,然后再重新设置DHCP。我从不需要第一个命令-而且ipconfig它的级别更高(它对路由的处理更好)ifconfig,我更愿意在您声明的情况下使用它。
bmike

4
cli命令“ ipconfig set en0 DHCP”不是纯粹的dhcp更新,而是完整的发现,提供,请求,确认过程。控制窗格上的“更新”按钮仅生成dhcp请求(在发布之前),并由ACK进行应答。两者之间是有区别的,因为续约通常是由cpe发送的,其租约时间是租约时间的一半,以便在其到期之前续约。诸如电缆调制解调器终端系统之类的Internet访问设备在这两个过程上的反应将有所不同。因此,我仍在寻找纯dhcp-renew命令

@robzolkos上述命令对于Admin帐户来说运行得很好,但是当我以MAC中的标准用户身份登录时,会提示您输入密码。如果可能的话,我如何跳过此密码部分​​,而标准用户可以运行此命令。
Jyotish Singh

8

更新按钮在系统偏好设置中的工作方式是在系统配置中创建密钥。可以通过以下方式创建密钥:

echo "add State:/Network/Interface/en0/RefreshConfiguration temporary" | sudo scutil

交换en0所需的接口。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.