Red Hat Training

A Red Hat training course is available for RHEL 8

20.2. 如何使用 nmcli 命令配置静态路由

要配置静态路由,请使用具有以下语法的 nmcli 工具:

$ nmcli connection modify connection_name ipv4.routes "ip[/prefix] [next_hop] [metric] [attribute=value] [attribute=value] ..."

该命令支持以下路由属性:

  • cwnd=n :设置拥塞窗口(CWND)大小,以数据包数量定义。
  • lock-cwnd=true|false :定义内核是否可以更新 CWND 值。
  • lock-mtu=true|false :定义内核是否可以将 MTU 更新为路径 MTU 发现。
  • lock-window=true|false :定义内核是否可更新 TCP 数据包的最大窗口大小。
  • mtu=n :设置要与目的地的路径一起使用的最大传输单元(MTU)。
  • onlink=true|false :定义下一个跃点是否直接附加到此链接,即使它与任何接口前缀都不匹配。
  • scope=n: 对于 IPv4 路由,此属性设置路由前缀所涵盖的目的地的范围。将值设为整数(0-255)。
  • src=address :当将流量发送到路由前缀所涵盖的目的地时,将源地址设为首选。
  • table=table_id :设置应将路由添加到的表的 ID。如果省略此参数,NetworkManager 将使用 main 表。
  • tos=n :设置服务类型(TOS)密钥。将值设为整数(0-255)。
  • type=value :设置路由类型。NetworkManager 支持 unicastlocalblackholeunreachableprohibitthrow 路由类型。默认为 unicast
  • window=n :设置播发到这些目的地的 TCP 的最大窗口大小,以字节为单位。

如果使用 ipv4.routes 子命令,nmcli 会覆盖这个参数的所有当前设置。

要添加一个路由:

$ nmcli connection modify connection_name +ipv4.routes "..."

同样,要删除一个特定的路由:

$ nmcli connection modify connection_name -ipv4.routes "..."