ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

网关是什么?从原理到配置排障,关键概念一次理清

网关是什么?从原理到配置排障,关键概念一次理清 网关是网络工程师绕不开的概念。很多人刚入行时把网关直接等同于路由器也有人以为网关就是一个 IP 地址配置完能上网就算完事。实际上网关既可以是设备也可以是一个逻辑接口最根本的作用是连接两个不同的网络并在它们之间完成数据转发。这篇文章按我这些年排障、做实验、准备面试的经验把网关的定义、作用、配置方法、验证方式和常见故障一次讲清楚。不管你是刚转行网络运维还是在准备软考网络工程师、中级网络工程师面试或者只是家里的网络突然不通想自己排查下面这些内容都值得完整看一遍。最核心的一句话先放在这网关是数据离开当前网段时必须经过的出口没有它跨网段通信就无从谈起。1. 网关不是路由器但很多人把它和路由器混在一起1.1 一句话理解网关把网关理解成一栋楼的出入口。你在自己家里走动不需要经过大门一旦要去隔壁楼就必须先走到这栋楼的大门再通过外部道路过去。放在网络里同一个网段内的两台主机通信数据包直接在二层交换机上转发不需要网关介入一旦目标 IP 不在同一个网段数据包就必须交给网关由网关决定下一步往哪里走。所以网关的第一个关键特征是它工作在跨网段通信的场景。只要涉及不同 IP 网段、不同 VLAN、不同三层网络之间的通信就一定需要网关或三层转发设备来衔接。1.2 先搞清楚 IP、子网掩码、默认网关三者的关系这里很容易出现概念混淆。IP 地址是主机的身份证子网掩码用来划分网络位和主机位默认网关则是主机把“不在本网段的数据包”交给谁。三者不是并列关系而是配合关系。举个例子。一台电脑配置了IP 地址192.168.1.100 子网掩码255.255.255.0 默认网关192.168.1.1当电脑要访问 192.168.1.200 时它会先用子网掩码计算发现 192.168.1.200 和自己在同一个网段于是直接在局域网内用 ARP 找对方 MAC 地址不经过网关。当电脑要访问 192.168.2.100 时计算后发现不在同一网段就把数据包封装后抛给默认网关 192.168.1.1网关再根据自身路由表继续转发。理解这个流程后面很多问题都能迎刃而解。比如最常见的一个现象能 ping 通同网段机器但无法上网很多时候就是默认网关缺失、错误或者网关设备没有到达外网的路由。1.3 网关和路由器的区别严格来说路由器是硬件设备网关是一个功能角色。家庭场景里路由器、光猫、交换机的功能常常集成在一个盒子中默认网关往往就是这台盒子的 LAN 口地址。在企业或运营商网络里网关可以是一台三层交换机、一台防火墙、一台路由器也可以是一个虚拟 IP比如 VRRP 协议里的虚拟网关地址。如果面试或软考里被问到“网关和路由器的区别”建议按这个思路回答路由器是物理或虚拟设备核心功能是路由转发。网关是数据从一个网络进入另一个网络的出口逻辑。路由器可以充当网关但网关不一定是一台完整路由器。一台设备上可以配置多个网关接口一个网络也可以有多个网关做冗余。2. 网关到底完成了哪些关键动作2.1 在不同网段之间转发数据包网关最基础的动作就是接收主机发来的跨网段数据包查看目标 IP查询路由表找到下一跳然后把数据包重新封装并转发出去。这里要注意网关转发不是简单地把包原样丢出去。它会根据出接口的 MAC 地址重新封装二层头部TTL 也会减一。这也是为什么 traceroute 能看到每一跳的原因。2.2 默认网关与路由表的配合主机上的默认网关其实是一条特殊的路由完整写法是网络地址0.0.0.0 掩码0.0.0.0 下一跳192.168.1.1意思是所有查不到具体路由的目标都交给 192.168.1.1。而网关设备本身不能只靠默认路由工作它需要知道更详细的路径。以华为交换机为例配置一个网关接口和默认路由# interface Vlanif 10 ip address 192.168.10.1 255.255.255.0 # ip route-static 0.0.0.0 0.0.0.0 192.168.10.254这样配置之后VLAN 10 内的终端把 192.168.10.1 当作默认网关交换机再把所有上行流量转给 192.168.10.254 这个上一级出口。只看配置可能觉得简单实际排障时经常发现网关地址配错了、VLAN 接口没有启用、三层接口没有创建、路由没有下发。这些问题都会导致终端无法跨网段通信。2.3 网关、DHCP、DNS 的实际联动过程很多初学者会把网关和 DHCP、DNS 混在一起。实际上一台设备作为网关只负责三层转发DHCP 负责给终端分配 IP、掩码、网关、DNS 等参数DNS 负责域名解析。三个功能可以在一台设备上也可以分散在不同的服务器上。比如终端开机后通过 DHCP 获得自己的 IP同时在 DHCP 报文的 Option 里拿到了默认网关和 DNS 地址。之后终端访问一个域名会先解析 DNS得到目标 IP然后判断是否在同一个网段。如果不在就把数据包发给 DHCP 下发的默认网关。这是一整套链路中间任何一步断开都会表现成“上不了网”。排查时建议按这个顺序确认终端有没有拿到 IP、网关、DNS。确认网关接口是否 upVLAN 是否允许通过。在终端上 ping 网关验证二层三层链路。在网关设备上 ping 外网或上级设备验证上行路由。再测试 DNS 解析是否正常。3. 验证网关的方法从 Windows、Linux 到交换机3.1 Windows 下查看和测试网关Windows 环境下最常用的是 ipconfig。ipconfig /all输出中会看到 IPv4 地址、子网掩码、默认网关、DNS 服务器。如果“默认网关”这一项为空说明终端没有配置网关跨网段通信肯定失败。进一步查看路由表route print -4注意看 0.0.0.0 开头的默认路由是否存在网关地址是不是自己网段内的地址。测试网关连通性ping 192.168.1.1 -t如果 ping 不通先检查网线、无线连接、交换机端口、VLAN 配置再检查网关设备本身。这里有一个很实用的经验先看本机 ARP 表确认能否解析到网关的 MAC 地址。arp -a如果没有网关的 ARP 条目说明二层通信有问题重点查链路和 VLAN。3.2 Linux 下查看默认网关和路由走向Linux 查看 IP 地址和网关ip addr ip routeip route 的输出里会有一条default via 192.168.1.1 dev eth0这就是默认网关。如果缺少这条可以使用以下命令临时添加ip route add default via 192.168.1.1 dev eth0测试跨网段路径ping 192.168.1.1 traceroute 8.8.8.8traceroute 能看到数据包经过每一跳的地址适合判断卡在网关、运营商还是目标服务器。Linux 下还有一个细节如果网卡配置写了 BOOTPROTOstatic但没有配置 GATEWAY重启网络服务后默认路由会消失。所以排查“网关被清空”时不要只看当前状态还要看配置文件。3.3 华为交换机上配置网关的常见方式华为交换机通常用 VLAN 接口作为网关。system-view vlan 10 quit interface Vlanif 10 ip address 192.168.10.1 255.255.255.0 quit终端的网关地址就是 192.168.10.1。如果交换机要作为整个网络的出口还需要配置默认路由。ip route-static 0.0.0.0 0.0.0.0 192.168.10.254查看网关接口状态display ip interface brief display ip routing-table思科交换机略有不同二层交换机可以用ip default-gateway 192.168.1.1三层交换机则建议interface Vlan 10 ip address 192.168.10.1 255.255.255.0 ip route 0.0.0.0 0.0.0.0 192.168.10.2544. 网关不通时怎么排查4.1 先观察现象并记录网关故障最常见的现象有三种ping 网关不通、ping 网关通但无法跨网段、默认网关配置后自动消失。不同的现象对应不同的排查路径。现象优先排查方向ping 网关不通物理链路、VLAN、二层通信、网关接口状态ping 网关通但上不了网网关设备的上行路由、NAT、DNS、防火墙策略默认网关被清空网卡配置、DHCP 自动获取、虚拟化平台网络设置能上网但跨网段不通网关设备上的路由表、ACL、VLAN 间路由间歇性丢包链路质量、网关设备 CPU、接口协商速率、环路4.2 按范围缩小问题遇到“网关不通”不要急着改配置。先做范围判断只有一台终端不通还是整个网段都不通。只有一台终端不通时优先查终端 IP 配置、网关地址是否写错、网卡驱动、交换机端口、MAC 地址是否被过滤。整个网段都不通时重点查交换机上对应的 VLAN 接口、上行链路、网关设备状态。然后从本机逐层向上 ping。本机能 ping 通网关说明二层没问题网关能 ping 通上级设备说明上行没问题再往下就是路由和出口策略的问题。这个顺序看起来简单但实际排障时很多人会跳过链路直接怀疑路由器 NAT 配置结果绕了很大一圈。4.3 高频故障默认网关被清空、多网关、IP 冲突“默认网关一直被清空”在虚拟机和云主机上很常见。原因可能有几个网卡配置为 DHCP但 DHCP 服务器没有下发网关参数。系统网络管理服务自动覆盖了手动配置的网关。在 VMware、VirtualBox 或虚拟化平台里网卡模式设置成了仅主机模式网关配置与网段不匹配。主机上有多个网卡系统选错了路由表。Windows 下如果手动配置网关总是被清空可以检查 DHCP 服务是否仍在运行ipconfig /all ipconfig /release ipconfig /renew如果使用静态 IP可以确认网络适配器属性里正确填写了默认网关同时关闭自动跃点或手动指定接口跃点数。多网关场景也很容易踩坑。Windows 支持在多个网卡上配置多个网关但默认路由只有一条优先级最高的生效。可以通过 route 命令手动指定route add 0.0.0.0 mask 0.0.0.0 192.168.2.1 metric 20不过生产环境不建议用多网卡多网关这种设计容易造成路由混乱。双网卡双网关更稳妥的方式是策略路由或者由核心交换机统一做路由处理。5. 网关有许多形态家里、企业里和软件里5.1 家庭网关和运营商宽带设备家庭场景里的“网关”通常指的是运营商提供的光猫加路由器一体机。它既要完成光电转换又要承担 PPPoE 拨号、NAT、DHCP、DNS 转发等功能。终端设备的默认网关就是这台设备的 LAN 口地址比如常见的 192.168.1.1 或 192.168.100.1。这里的常见问题是在桥接模式下光猫只负责光电转换拨号和网关功能由后面的路由器完成在路由模式下光猫自己就是网关。很多人改了桥接模式后忘记把家里路由器的上网方式改成 PPPoE 拨号结果以为网关坏了其实是模式没对齐。家庭网关还有 DNS 设置、DHCP 地址池、终端隔离等功能。遇到某个设备无法上网我建议先登录网关后台看连接状态和设备列表再判断是终端问题还是网关问题。需要注意的是运营商设备的初始密码通常是出厂默认值长期不做修改有安全风险建议使用强密码并定期更新。5.2 企业级融合通信网关企业场景里还有很多“专业网关”比如语音网关、融合通信网关、E1 中继网关等。它们解决的问题仍然是“两个不同网络之间的翻译与转发”只不过从 IP 报文转发变成了不同通信协议之间的转换。例如企业 IP 话机使用 SIP 协议与 IP-PBX 通信传统电话线走 PSTN 网络中间就需要一台融合通信网关把 SIP 信令和语音流与 PSTN 信令做转换。这类网关除了网络连通性还要关注编解码、信令协议、并发通话数和回声消除。从网络工程师的角度看这类设备依然要配置 IP 地址、子网掩码、网关和路由。很多语音问题排查到最后发现不是语音网关配置错误而是给这台网关设置的默认网关指向了错误的三层设备。5.3 API 网关也叫“网关”从后端开发和微服务架构里还会遇到 API 网关。这里的“网关”和网络三层网关不是同一个层面但思想很相似客户端不能直接访问后端任意服务所有请求先经过 API 网关由网关完成认证、限流、路由转发、日志记录。API 网关对应的是应用层网络网关对应网络层。如果面试中被问到可以这样区分网络网关关心的是数据包怎么从一个 IP 网段到另一个网段API 网关关心的是 HTTP 请求怎么从客户端到达正确的微服务。两者都起到“统一出口”和“入口控制”的作用。6. 给软考和面试准备的建议6.1 软考网络工程师常考什么软考中级网络工程师对网关相关内容考查非常细。围绕热搜词里出现的“软考网络工程师真题”“IP、子网掩码、网关、VLAN、DHCP、DNS、路由、端口”几乎每年都会有涉及。备考时重点关注给定 IP 和掩码计算网络地址、广播地址、可用主机数。默认网关和静态路由的配置命令。三层交换机 VLAN 间路由的实现方式。DHCP 报文交互过程和网关参数下发。ping 和 traceroute 在不同网络位置的结果分析。6.2 面试官喜欢追问的问题技术面试中网关相关的问题往往从基础概念开始越问越深。我整理了几个常见的追问思路提问回答要点为什么同一个 VLAN 内通信不需要网关二层 MAC 寻址即可完成网关负责三层转发主机发送数据包时怎么判断是否需要经过网关用自己的掩码和目标 IP 做与运算比较网络号网关设备收到不能路由的包会怎么处理丢弃并可能返回 ICMP 目的不可达配置了网关但 ping 不通外网可能有哪些原因网关设备上行口未 up、缺默认路由、无 NAT、ACL 拦截、运营商封 UDP/ICMP双网关如何做冗余VRRP / HSRP 虚拟网关不推荐终端配置两个不同网关地址6.3 动手实验建议如果条件允许建议自己搭一套最小实验环境。用一台三层交换机或家用路由器划分两个网段各接一台测试电脑然后手动配置网关地址。做完下面几个动作后网关的理解会扎实很多把终端网关配置成错误地址观察跨网段通信失败现象。在交换机上配置 VLAN 接口开启 VLAN 间路由观察通信恢复。在终端上 traceroute观察第一跳是不是网关地址。在网关设备上删除默认路由观察访问外网失败但内网正常。用抓包工具抓一次跨网段通信看源目 MAC 地址如何从终端 MAC 变成网关 MAC。这套实验不依赖昂贵设备GNS3、EVE-NG 或华为 eNSP 都能完成。做一遍比自己看十遍概念更有用。网关这个概念看起来简单实际工作中连接了二层网络、三层路由、地址规划、设备配置和故障排查。先把网关和 IP、掩码、路由、DHCP、DNS 的关系理顺再动手做几个实验比死记命令有效得多。以后再遇到“上不了网”或“跨网段不通”第一反应不是怀疑设备坏了而是先确认网关和路由链路问题基本就解决了一半。
返回列表