# 为虚拟网络接口 utun0 配置 IP 地址 10.0.0.33 和子网掩码 255.255.255.0 网关地址 10.0.0.1
sudo ifconfig utun0 10.0.0.33 10.0.0.1 netmask 255.255.255.0
# 配置目标地址是网段 192.168.1.0/24 的流量走 10.0.0.1 网关
sudo route add 192.168.1.0/24 10.0.0.1
# 将 6.11.20.10 这个单一地址(因为掩码是 32)路由到 192.168.4.1 这个网关
sudo route add 6.11.20.10/32 192.168.4.1
# 将上面这条路由删除
sudo route delete 6.11.20.10
# 删除默认路由
sudo route delete 0.0.0.0
# 将网关 192.168.4.1 设置为默认路由
sudo route add -net 0.0.0.0 192.168.4.1
# 将 8.8.8.8 路由到网关 10.0.0.1
sudo route -n add -net 8.8.8.8 10.0.0.1
# ======== 如何在 macOS 上添加静态路由 =========
https://sysin.org/blog/static-routing/#macOS-7
macOS
1、添加路由命令(临时)
与 Linux 类似,但是网关没有 gw 参数(同 FreeBSD)
# 查看当前路由表
netstat -rn
# 获取默认路由
route get 0.0.0.0
# 删除默认路由
sudo route -n delete default 10.2.0.1
# 添加默认路由
sudo route add -net 0.0.0.0 10.2.0.1
# 添加静态路由 (sysin)
sudo route add -net 10.16.0.0 10.18.18.10
sudo route add -net 10.16.0.0/16 10.18.18.10
sudo route -n add -net 192.168.2.0 -netmask 255.255.255.0 192.168.5.254
- 使用
networksetup
命令设置永久静态路由
可以适用于 macOS Big Sur。
macOS 提供了一个名为 networksetup
的命令行界面,它允许您进行各种网络配置。
可以通过 networksetup –help
查看具体的帮助。其实它就是 “系统偏好设置” 中网络设置工具的命令行版本,但是功能更为强大一些。
使用 networksetup
命令添加永久静态路由,如下:
# 语法
networksetup -getadditionalroutes <networkservice>
networksetup -setadditionalroutes <networkservice> [ <dest> <mask> <gateway> ]
# 查看 <networkservice>
networksetup -listallnetworkservices
# 这里显示如下
Wi-Fi
iPhone USB
Bluetooth PAN
Thunderbolt Bridge
# 添加静态路由
networksetup -setadditionalroutes "Wi-Fi" 10.18.1.0 255.255.255.0 192.168.1.1
networksetup -setadditionalroutes "Wi-Fi" 10.16.0.0 255.255.0.0 192.168.1.1
解释:
“Wi-Fi” 指定路由走哪个设备(使用命令 networksetup -listallnetworkservices
查看当前的设备)
10.18.1.0/24
和 10.16.0.0
都指向 192.169.1.1
验证:
使用 netstat -nr
查看路由表。
清空路由:networksetup -setadditionalroutes Wi-Fi
再次用 netstat -rn
查看路由可以看到添加的路由没有了。