Red Hat Training

A Red Hat training course is available for RHEL 8

20.11. 在使用旧的网络脚本时,使用 ip-command-format 创建静态路由配置文件

旧的网络脚本支持设置静态路由。

以下流程配置以下路由:

  • 到远程 198.51.100.0/24 网络的 IPv4 路由。IP 地址为 192.0.2.10 的对应网关可以通过 enp1s0 接口访问。
  • 到远程 2001:db8:2::/64 网络的 IPv6 路由。IP 地址为 2001:db8:1::10 的对应网关可以通过 enp1s0 接口访问。
重要

网关(下一跳)的 IP 地址必须与您在其上配置静态路由的主机位于同一个 IP 子网中。

此流程中的示例使用 ip-command 格式的配置条目。

前提条件

  • 静态路由的网关必须在接口上直接访问。
  • NetworkManager 软件包未安装,或者 NetworkManager 服务被禁用。
  • network-scripts 软件包已安装。
  • network 服务已启用。

流程

  1. 将静态 IPv4 路由添加到 /etc/sysconfig/network-scripts/route-enp1s0 文件中:

    198.51.100.0/24 via 192.0.2.10 dev enp1s0

    始终指定远程网络的网络地址,如 198.51.100.0。在远程网络中设置 IP 地址,如 198.51.100.1 会导致网络脚本添加此路由。

  2. 将静态 IPv6 路由添加到 /etc/sysconfig/network-scripts/route6-enp1s0 文件中:

    2001:db8:2::/64 via 2001:db8:1::10 dev enp1s0
  3. 重启 network 服务 :

    # systemctl restart network

验证

  1. 显示 IPv4 路由:

    # ip -4 route
    ...
    198.51.100.0/24 via 192.0.2.10 dev enp1s0
  2. 显示 IPv6 路由:

    # ip -6 route
    ...
    2001:db8:2::/64 via 2001:db8:1::10 dev enp1s0 metric 1024 pref medium

故障排除

  • 显示 network 单元的日志条目 :

    # journalctl -u network

    以下是可能的错误信息及其原因:

    • Error: Nexthop has invalid gateway: 在 route-enp1s0 文件中指定一个没有与此路由器相同的子网中的 IPv4 网关地址。
    • RTNETLINK answers: No route to host: 在 route6-enp1s0 文件中指定一个没有与此路由器相同的子网中的 IPv6 网关地址。
    • Error: Invalid prefix for given prefix length :您可以使用远程网络中的 IP 地址(而非网络地址)在 route-enp1s0 文件中指定远程网络。

其它资源

  • /usr/share/doc/network-scripts/sysconfig.txt file