在Linux系统中,静态路由表中的 UG
是路由标志(Flags)的组合,表示该路由的特定属性。以下是详细解释:
UG
的含义U
(Up):表示该路由是活跃的(可用状态)。G
(Gateway):表示该路由需要通过网关(下一跳)到达目标网络。如果没有 G
标志,则目标网络是直接连接的(无需网关)。通过 route -n
或 ip route show
命令查看路由表时,Flags
列会显示类似 UG
的标识:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.0.0 192.168.1.1 255.0.0.0 UG 0 0 0 eth0
192.168.1.0/24
是直连网络(无 G
标志,网关为 0.0.0.0
)。10.0.0.0/8
需要通过网关 192.168.1.1
访问(有 UG
标志)。标志 | 含义 | 示例场景 |
---|---|---|
U |
路由有效 | 所有活跃路由均有 U |
G |
需要网关 | 目标网络不在本地子网,需通过网关转发 |
无 G |
直连网络 | 目标网络直接连接到本机接口 |
添加一条需要网关的静态路由(会显示 UG
标志):
sudo ip route add 10.0.0.0/8 via 192.168.1.1 dev eth0
# 或使用传统命令:
sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.1 eth0
H
(Host):路由目标是单个主机(非网络)。D
(Dynamic):路由由ICMP重定向动态创建。!
(Reject):路由被拒绝(阻塞流量)。UG
表示一条有效的、需要通过网关转发的静态路由。U
标志,无需网关。ip route
或 route
命令管理路由时,G
标志的存在与否取决于是否指定了 via <gateway>
。