一、MacOS

1、添加路由命令(临时)

与 Linux 类似,但是网关没有 gw 参数(同 FreeBSD)

# 查看当前路由表
netstat -rn

# 获取默认路由
route get 0.0.0.0

# 删除默认路由
sudo route -n delete default 10.1.0.1

# 添加默认路由
sudo route add -net 0.0.0.0 10.1.0.1

# 添加静态路由 
sudo route add -net 10.2.0.0 10.1.0.1
sudo route add -net 10.16.0.0/16 10.1.0.1
sudo route -n add -net 192.168.1.0 -netmask 255.255.255.0 10.1.0.1

2、添加路由ming (永久)

macOS 分享了一个名为 networksetup 的命令行界面,它允许您进行各种网络配置。

可以通过 networksetup –help 查看具体的帮助。其实它就是 “系统偏好设置” 中网络设置工具的命令行版本,但是功能更为强大一些。

使用 networksetup 命令添加永久静态路由,如下:

# 语法
networksetup -getadditionalroutes 
networksetup -setadditionalroutes  目的地址 掩码 网管

# 查看 
networksetup -listallnetworkservices
# 这里显示如下
你的各个网卡名称

# 添加静态路由
networksetup -setadditionalroutes "网卡名称" 10.2.1.0 255.255.255.0 10.1.0.1 
#划重点,如果多条路由,直接在后面增加,不可分多条命令增加,会覆盖,比如2条静态路由,那么就是
networksetup -setadditionalroutes "网卡名称" 10.2.1.0 255.255.255.0 10.1.0.1 10.3.0 255.255.255.0 10.1.0.1
这个比较坑的地方就是,以后要增加一条路由,也得把之前加过的都输入进去
#查看生效
netstat -rn

二、Debian12+

在/etc/NetworkManager/system-connections 目录下编辑网卡配置文件

sudo nano eno1.nmconnection
添加要给这个网卡指定的路由

在这个标签下增加
[ipv4]

route1=192.168.30.0/24,10.1.4.1
route2=10.0.0.0/8,10.1.4.1
route3=172.0.0.0/8,10.1.4.1

修改完成后重启网络服务

sudo systemctl restart NetworkManager

三、ubuntu

在/etc/netplan 目录下修改配置文件

sudo nano 50-cloud-init.yaml
在对应网卡下routes:之后加入
routes:
      - to: "10.0.0.0/8"
        via: "10.1.12.1"
      - to: "11.0.0.0/8"
        via: "10.1.12.1"

应用修改

sudo netplan apply

四、OpenEuler && CentOS 8+

在/etc/sysconfig/network-scripts 目录新建网卡同名路由配置文件

nano route-eno2
写入路由信息
目标网段/掩码 via 网关 dev 网卡
10.0.0.0/8 via 10.1.4.1 dev eno2
172.0.0.0/8 via 10.1.4.1 dev eno2
192.168.30.0/24 via 10.1.4.1 dev eno2

修改完成后重启网络服务

sudo systemctl restart NetworkManager

五、windows

管理员权限运行cmd

route -p add 192.168.0.0 mask 255.255.255.0 192.168.1.1
#route -p add 目标网段 mask 掩码 路由网关
#查看dang'qi'a当前lu'you'b路由表
route print