配置默认路由的命令就是ip route 0.0.0.0 0.0.0.0 后跟下一跳地址,例如在接入Internet的边界路由器上执行ip route 0.0.0.0 0.0.0.0 100.64.1.1即可让所有未知目标网段的流量统一走出口链路。
很多刚接触网络设备的朋友,第一次面对路由表时都会发懵:明明物理链路都通了,为什么终端就是上不了网?这时候十有八九就是缺一条默认路由,作为老网工,我可以负责任地告诉你,掌握默认路由的命令是网络运维的入门必修课,今天这篇就来把这个事儿彻底说透。
配置默认路由的命令是什么
默认路由也叫缺省路由,本质是路由表中的最后一条兜底条目,当数据包的目标地址在路由表中找不到精确匹配项时,设备就会把数据包扔给默认路由指定的下一跳,它的特殊之处在于目的地址和掩码全是0,也就是说0.0.0 0.0.0.0这个网段覆盖了所有IP地址,业界有个通俗的理解方式:默认路由就是给数据包指一条”实在不知道往哪走就找它”的路。
思科与华为默认路由命令的区别
不同厂商的设备命令风格差异挺大,这也是不少运维朋友经常搞混的地方,以最常见的两家为例:
| 设备厂商 | 配置命令 | 验证命令 |
|---|---|---|
| 思科(Cisco) | ip route 0.0.0.0 0.0.0.0 下一跳地址 | show ip route |
| 华为(Huawei) | ip route-static 0.0.0.0 0.0.0.0 下一跳地址 | display ip routing-table |
| H3C | ip route-static 0.0.0.0 0.0.0.0 下一跳地址 | display ip routing-table |
| 锐捷(Ruijie) | ip route 0.0.0.0 0.0.0.0 下一跳地址 | show ip route |
行业共识认为:思科系和锐捷走的是同一条语法路线,而华为和H3C的静态路由命令格式则完全相同,如果你在公司同时维护多品牌设备,记住这个对应关系就能少踩不少坑,默认路由配置命令 华为 思科区别这个关键词之所以被频繁搜索,就是因为很多人在这上面吃过亏。
写入保存配置的关键一步
不管用哪家命令配置完,都别忘记保存配置,思科用write

或copy running-config startup-config,华为用save,H3C用save force,如果不保存,设备一重启,你配的默认路由就全没了,这个细节我见过太多人栽跟头上周刚帮一个朋友排查故障,他说明明配了默认路由,重启后就上不了网,结果一看配置压根没保存。
如何通过默认路由实现互联网接入
常见的出口场景是:企业有一条专线接到运营商,运营商分配给路由器一个公网地址,比如你的接入IP是100.64.1.2/30,运营商的网关是100.64.1.1,这时候配置就非常简单:
ip route 0.0.0.0 0.0.0.0 100.64.1.1
就这么一行命令,所有去往Internet的流量都会从这台路由器交给运营商的网关,对于中小型办公网络,这是性价比极高的一种接入方式,不需要动态路由协议,也不需要额外维护路由表。
默认路由与动态路由协议的配合
在稍微大一点的网络里,可能会同时跑OSPF或者BGP,这时候默认路由往往用来兜底:比如内网跑OSPF学习业务网段,而出网流量统一走运营商,配置思路是这样的:
- 核心交换机上配置静态默认路由指向出口防火墙
- 在OSPF中通过default-route-advertise命令发布默认路由
- 内网所有设备通过OSPF学习到这条默认路由
这种方案的好处是后端设备不需要逐台配置默认路由,只要运行OSPF就能自动获取,配置变更时也只需要改一处。
双出口场景下默认路由配置详解
很多稍有规模的企业会有两条出口链路:一条电信、一条联通,或者一条专线、一条家宽,默认路由在双出口场景下需要跟策略路由或者路由优先级搭配使用。
主备链路切换配置
思路是配置两条默认路由,人为指定不同的优先级,华为设备上叫优先级,思科设备上叫管理距离,数值越小越优先:
# 华为设备
ip route-static 0.0.0.0 0.0.0.0 100.64.1.1 preference 60
ip route-static 0.0.0.0 0.0.0.0 200.64.1.1 preference 80
# 思科设备
ip route 0.0.0.0 0.0.0.0 100.64.1.1 10
ip route 0.0.0.0 0.0.0.0 200.64.1.1 20
正常情况下流量走第一条链路,首条链路断开后路由表中自动切换到备份链路,这里有个检测机制的问题:如果运营商网关故障但物理链路没断,静态路由不会自动切换,这个边界情况需要配合BFD(双向转发检测)来实现快速感知,关于BFD的配置细节,我们在后续的文章里展开。

负载均衡场景下的默认路由命令
如果要让两条链路同时分担流量,很多人第一反应是配两条相同优先级的默认路由,但在实际工程中这往往会出问题,因为不同运营商之间的互联带宽有限,来回路径不一致会导致延迟升高,业内专家指出,真正靠谱的双出口负载均衡方案大多数是走策略路由,按源IP或者目的端口分流,而不是简单地在路由表做等价负载。
配置了默认路由但上不了网的常见故障
配置命令敲下去,看着也没报错,但终端就是访问不了外网,这种情况我在排查中遇到过无数次,通常问题出在下面几个地方。
检查路由是否真正生效
拿华为设备来说,敲完配置后执行display ip routing-table,你会看到一行:
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 100.64.1.1 GigabitEthernet0/0/0
如果这行没有出现,说明配置有误或者下一跳不可达,先ping一下网关,如果ping不通,问题就出在物理链路或IP地址配置上,如果路由表里没有,说明命令逻辑出问题了。
下一跳地址与出接口的匹配问题
常见的坑是:下一跳地址写的是非直连网段的地址,记住一条铁律静态路由的下一跳必须是直连网段内的地址,如果路由器通过交换机和运营商设备对接,而你写的下一跳地址不在路由器自己的接口网段里,这条路由永远不会生效。
NAT与默认路由的联动问题
还有相当一部分场景,默认路由配好了,但内网终端还是上不了网,这时候大概率是NAT没做对,默认路由负责的是把包送出去,而NAT负责把内网私有地址转换成公网地址,缺了NAT这一环,内网的192.168.1.10访问外网时,数据包送到运营商就被丢了因为运营商不会路由私有地址。
在思科设备上,需要这样组合配置:
ip route 0.0.0.0 0.0.0.0 100.64.1.1 access-list 100 permit ip 192.168.1.0 0.0.0.255 any ip nat inside source list 100 interface GigabitEthernet0/0 overload
在华为设备上则是:
ip route-static 0.0.0.0 0.0.0.0 100.64.1.1
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255
nat outbound 2000
默认路由告诉设备”路往哪走”,NAT告诉设备”怎么走出去”,两者是配合关系,缺一不可。
内网访问公网IP地址不通的排查思路
如果你发现终端能上QQ但打不开网页,大概率是DNS解析问题,跟默认路由关系不大,如果终端完全无法上网,可以坐在路由器上直接ping公网地址能通说明路由器到公网的路径没问题,问题出在内网或NAT;不通则要检查运营商侧链路和对接参数。
默认路由配置常见问题解答
配置默认路由的命令与配置普通静态路由的命令有何不同?
唯一区别就是目的地址和掩码,普通静态路由写的是具体网段,比如ip route 192.168.10.0 255.255.255.0 100.64.1.1,而默认路由固定写0.0.0 0.0.0.0,代表所有网段,两条命令的语法结构完全一致,只是参数不同,华为设备上对应的写法分别是ip route-static命令加具体网段和加0.0.0 0.0.0.0。
在交换机上配置默认路由是否跟路由器上一致?
三层交换机上的配置跟路由器完全一致,前提是交换机启用了IP routing功能思科2960这类二层交换机不支持配置路由,至少得是3560或同级别设备,华为的S5700系列在使能ip routing后,同样可以用ip route-static命令配置默认路由。
默认路由会覆盖明细路由吗?
不会,路由器在转发数据包时,遵循最精确匹配原则,路由表中同时存在0.0.0/0和1.1.0/24时,发往10.1.1.5的数据包会匹配前缀更长的1.1.0/24,而不会被默认路由接管,这个机制保证了默认路由只处理无精确匹配的数据包,你可以放心的在核心设备上配置默认路由而不用担心影响内部业务通信,默认路由配置常见问题排查中,这类概念性理解往往能帮新手少走弯路。

