如何在 Mac OS X 中续订 DHCP 租约

在 Mac OS X 中更新 DHCP 租约

DHCP 代表动态主机配置协议,通常用于配置网络设备,以便它们可以互相交流。通常,您会有一个 DHCP 服务器(如无线路由器)和本地网络上的客户端计算机(如 Mac、iPhone、PC 等),它们从该服务器获取动态分配的本地 IP 地址。

一切都很好,通常运行良好,但有时您需要续订 DHCP 租约,这基本上意味着您将从 DHCP 服务器检索新的 IP 地址和路由数据。这是解决网络问题的常用技巧,在以下情况下会很有帮助确定 wi-fi 连接时解决互联网连接问题稳定,或者当网络上的机器在重启宽带调制解调器或路由器后无法访问外部世界时。

从 OS X 系统偏好设置续订 DHCP 租约

这是从 Mac OS X 续订 DHCP 租约的最简单方法:

  1. 下拉  Apple 菜单并选择“系统偏好设置”
  2. Mac OS X 中的网络偏好设置

  3. 点击“网络”并从左侧列表中选择当前活动的网络连接,通常旁边会有一个绿色图标并显示“已连接”
  4. 点击右下角的“高级”按钮
  5. Mac OS X 中的 DHCP 更新

    经常续订 DHCP 租约意味着 Mac 最终会使用与以前不同的本地 IP 地址,但有时您会使用相同的 IP 地址。如果您更新 DHCP 的原因是尝试获取新的 IP 地址,但路由器继续顽固地一遍又一遍地分配相同的 LAN IP,考虑通过使用手动地址配置 DHCP 来改为设置静态 IP

    另一种更高级的方法是通过命令行更新 DHCP。这通常最适合高级用户使用,但如果您只能 通过 SSH 连接到远程 Mac,您无法使用诸如屏幕共享之类的功能。命令行方法的另一个明显优势是可以在脚本中使用续租或作为 cron 中自动化任务的一部分。

    从命令行续订 DHCP 租约

    有两种不同的方法可以从 OS X 命令行续订 DHCP 租约。第一种方法使用非常有用的 ipconfig 工具:

    sudo ipconfig set en0 DHCP

    当使用 ipconfig 时,一定要使用正确的接口地址,否则你可能会遇到其他问题,或者发现根本没有任何变化。您可以通过使用 ipconfig 检索接口数据,以拉取当前 DHCP 信息,如下所示:

    ipconfig getpacket en1

    运行成功,你会发现DHCP服务器信息,客户端IP,租用时间,子网掩码,路由器IP,DNS服务器,命令的尾部应该是这样的:

    来自命令行的 DHCP 信息

    如果运行该命令没有返回任何结果,那么您正在查看错误的界面。通常 en0 是 MacBook Air 和较新的 MacBook Pro 型号上的默认 wi-fi 接口,但在具有物理以太网端口的 Mac 上通常是 en1。

    ipconfig 方法会中断当前的网络连接,而通过网络首选项重置则不会。您可以使用 提供的以下 scutil 命令从命令行刷新 DHCP 而不会中断MacWorld 用户:

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

    您可以再次使用上述 ipconfig 命令来验证是否发生了更改:

    ipconfig getpacket en0

    同样,请确保为您的硬件使用适当的网络接口:en1 或 en0。

    此处列出的每种方法几乎适用于所有版本的 Mac OS X,从旧版本到新版本。

    最后,如果您要对 LAN 上所有设备的网络范围问题进行故障排除,您还可以从 iOS 续订 DHCP 租约,并在 iPhone、iPod 和 iPad 上获取新的本地 IP 地址。