Red Hat Training

A Red Hat training course is available for RHEL 8

20.10. 使用旧的网络脚本以键-值格式创建静态路由配置文件

旧的网络脚本支持以 key-value 格式设置静态路由。

以下步骤配置 IPv4 路由到远程 198.51.100.0/24 网络。IP 地址为 192.0.2.10 的对应网关可以通过 enp1s0 接口访问。

注意

旧的网络脚本只支持静态 IPv4 路由的键值格式。对于 IPv6 路由,请使用 ip 命令格式。请参阅在使用旧的网络脚本时,通过 ip-command-format 来创建静态路由配置文件

前提条件

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

流程

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

    ADDRESS0=198.51.100.0
    NETMASK0=255.255.255.0
    GATEWAY0=192.0.2.10
    • ADDRESS0 变量定义第一个路由条目的网络。
    • NETMASK0 变量定义第一个路由条目的子网掩码。
    • GATEWAY0 变量定义到远程网络的网关的 IP 地址或第一个路由条目的主机。

      如果您添加多个静态路由,请增加变量名称的数量。请注意,每个路由的变量都必须按顺序编号。例如,ADDRESS0ADDRESS1ADDRESS3 ,等等。

  2. 重启网络:

    # systemctl restart network

验证

  • 显示 IPv4 路由:

    # ip -4 route
    ...
    198.51.100.0/24 via 192.0.2.10 dev enp1s0

故障排除

  • 显示 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