使用背景
由于在使用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