记录了 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