Linux、macOS、Windows 静态路由设置

 

2020-03-01

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

查看

Linux

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

Terminal window
1
# 使用 netstat 命令查看
2
netstat -rn
3
# ip route 命令查看
4
ip route show
5
ip route list # 效果相同
6
# 格式化结果
7
ip route show | column -t
8
# 查看指定 IP 或网址路由
9
ip route get www.google.com

macOS

Terminal window
1
# 查看路由表
2
netstat -nr
3
# 查看当前默认网关
4
route -n get default
5
# 查看指定 IP 或网址路由
6
route -n get www.google.com

Windows

Terminal window
1
# 查看路由表
2
route print
3
# 仅查看 ipv4
4
route print -4
5
# 查看指定 IP 段
6
route print 10*

添加

Linux

Terminal window
1
ip route add 10.1.1.42/32 via 10.1.1.1
2
# 指定网卡
3
ip route add 10.1.1.42/32 via 10.1.1.1 dev eth0

macOS

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

Windows

Terminal window
1
# 加参数 -p 表示永久生效
2
route add 10.1.1.42/32 10.1.1.1
3
# 指定网卡,网卡接口名在 route print 结果中查看
4
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

Terminal window
1
# change 可使用简称 chg
2
ip route change 10.1.1.42/32 via 10.1.1.24

macOS

Terminal window
1
route change 10.1.11.42/32 10.1.1.24

Windows

Terminal window
1
route change 10.1.11.42/32 10.1.1.24

删除

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

Linux

Terminal window
1
ip route del 10.1.1.42/32

macOS

Terminal window
1
route delete 10.1.1.42/32

Windows

Terminal window
1
route delete 10.1.1.42/32

参考