Skip to content

使用背景

由于在使用macOS Monterey 12.7.5时,想通过系统设置来设置网络的静态IP地址时,发现无法设置,每次设置的时候无法手动输入IP地址,并且只要准备输入就会卡住,并且风扇狂转,最后通过多种渠道知道可以通过命令的方式设置IP地址相关信息。

使用 networksetup命令(永久生效)

这是 macOS 官方提供的网络配置工具,其效果与在图形界面中修改完全一致,配置会永久保存。

1. 查看所有网络接口

首先,你需要知道要修改的接口的准确名称。

networksetup -listallnetifaces

输出示例:

An asterisk (*) denotes that a network service is disabled.
Ethernet Address: 00:1A:2B:3C:4D:5E (en0)
Ethernet Address: 88:00:00:00:00:00 (en1)

常见的接口名:

  • en0: 通常是内置以太网(有线网卡)或主要的无线网卡。
  • en1: 通常是无线网卡(Wi-Fi)或第二个有线接口。

1.1 使用DHCP方式动态设置IP地址

sudo networksetup -setdhcp "USB WIFI"

2. 使用DHCP(手动设置地址)方式设置IP地址

语法

sudo networksetup -setmanualwithdhcprouter <网络服务名称> <IP地址>

示例:将USB WIFI的IP地址设置为192.168.1.77

sudo networksetup -setmanualwithdhcprouter "USB WIFI" 192.168.1.77

参数说明:

  • -setmanualwithdhcprouter:使用DHCP(手动设置地址)方式设置IP地址
  • USB WIFI:需要设置IP地址的网络服务名称,该名称可以由用户自己设定,系统偏好设置->网络->网络名称
  • 192.168.1.77 需要设置的IP地址

注意: 使用DHCP(手动设置地址)方式只需要设置IP地址即可。

3. 手动设置静态 IP 地址

语法:

sudo networksetup -setmanual <网络服务名称> <IP地址> <子网掩码> <路由器地址>

示例​:将 en2(添加的USB WiFi)的 IP 设置为 192.168.1.77,子网掩码 255.255.255.0,网关 192.168.1.1

sudo networksetup -setmanual "USB WIFI" 192.168.1.77 255.255.255.0 192.168.1.1

参数说明:

  • -setmanual:通过手动的方式设置IP地址
  • USB WIFI:需要设置IP地址的网络服务名称,该名称可以由用户自己设定,系统偏好设置->网络->网络名称
  • 192.168.1.77:需要设置的IP地址
  • 255.255.255.0:子网掩码
  • 192.168.1.1:路由器地址

4.手动设置 DNS 服务器

语法:

sudo networksetup -setdnsservers <网络服务名称> <DNS1地址> [DNS2地址]...

示例​:为 en0设置 DNS 为 8.8.8.8和 1.1.1.1

sudo networksetup -setdnsservers en0 8.8.8.8 1.1.1.1

5. 切换回 DHCP(自动获取 IP)

如果您想改回自动获取 IP,可以使用以下命令:

sudo networksetup -setdhcp <网络服务名称>

示例​:

sudo networksetup -setdhcp en0

6. 清空 DNS 设置(恢复为自动获取)

sudo networksetup -setdnsservers <服务名称> empty

7. 验证设置

设置完成后,请使用以下命令检查是否成功:

networksetup -getdnsservers "USB WIFI"

或者使用更通用的系统命令:

scutil --dns