在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>。