记录了 Linux、macOS 和 Windows 三个平台查看、添加、修改和删除静态路由的常用命令。

查看

Linux

CentOS 7 起 route 命令已被替代为 ip route,如果想用默认的 route 命令,需提前安装 net-tools

# 使用 netstat 命令查看
netstat -rn
# ip route 命令查看
ip route show
ip route list # 效果相同
# 格式化结果
ip route show | column -t
# 查看指定 IP 或网址路由
ip route get www.google.com

macOS

# 查看路由表
netstat -nr
# 查看当前默认网关
route -n get default
# 查看指定 IP 或网址路由
route -n get www.google.com

Windows

# 查看路由表
route print
# 仅查看 ipv4
route print -4
# 查看指定 IP 段
route print 10*

添加

Linux

ip route add 10.1.1.42/32 via 10.1.1.1
# 指定网卡
ip route add 10.1.1.42/32 via 10.1.1.1 dev eth0

macOS

route add 10.1.1.42/32 10.1.1.1
# 指定网卡(不能同时指定网关)
route add 10.1.1.42/32 -interface en0

Windows

# 加参数 -p 表示永久生效
route add 10.1.1.42/32 10.1.1.1
# 指定网卡,网卡接口名在 route print 结果中查看
route add 10.1.1.42/32 10.1.1.1 if 12

修改

假设当前一条路由表为 10.1.1.42/32 10.1.1.1,现需修改网关为 10.1.1.24

Linux

# change 可使用简称 chg
ip route change 10.1.1.42/32 via 10.1.1.24

macOS

route change 10.1.11.42/32 10.1.1.24

Windows

route change 10.1.11.42/32 10.1.1.24

删除

删除时一般提供具体的 IP 或掩码即可,网关非必须。

Linux

ip route del 10.1.1.42/32

macOS

route delete 10.1.1.42/32

Windows

route delete 10.1.1.42/32

参考