Red Hat Training

A Red Hat training course is available for RHEL 8

第 40 章 在隔离的 VRF 网络内启动服务

使用虚拟路由和转发(VRF),您可以使用与操作系统主路由表不同的路由表创建隔离网络。然后,您可以启动服务和应用程序,以便它们只能访问该路由表中定义的网络。

40.1. 配置 VRF 设备

要使用虚拟路由和转发(VRF),您可以创建一个 VRF 设备,并将物理或虚拟网络接口和路由信息附加给它。

警告

要防止您将自己远程锁定,请在本地控制台中或通过您不想分配给 VRF 设备的网络接口远程执行此流程。

先决条件

  • 您已在本地登录或使用与您要分配给 VRF 设备不同的网络接口。

步骤

  1. 使用同命的虚拟设备创建 vrf0 连接,并将其附加到路由表 1000

    # nmcli connection add type vrf ifname vrf0 con-name vrf0 table 1000 ipv4.method disabled ipv6.method disabled
  2. vrf0 连接添加 enp1s0 设备,并配置 IP 设置:

    # nmcli connection add type ethernet con-name enp1s0 ifname enp1s0 master vrf0 ipv4.method manual ipv4.address 192.0.2.1/24 ipv4.gateway 192.0.2.254

    此命令会创建 enp1s0 连接,来作为 vrf0 连接的端口。由于此配置,路由信息会自动分配给与 vrf0 设备关联的路由表 1000

  3. 如果您在隔离网络中需要静态路由:

    1. 添加静态路由:

      # nmcli connection modify enp1s0 +ipv4.routes "198.51.100.0/24 192.0.2.2"

      这向 198.51.100.0/24 网络添加了一个路由,该网络使用 192.0.2.2 作为路由器。

    2. 激活连接:

      # nmcli connection up enp1s0

验证

  1. 显示与 vrf0 关联的设备的 IP 设置:

    # ip -br addr show vrf vrf0
    enp1s0    UP    192.0.2.1/24
  2. 显示 VRF 设备及其关联的路由表:

    # ip vrf show
    Name              Table
    -----------------------
    vrf0              1000
  3. 显示主路由表:

    # ip route show
    default via 203.0.113.0/24 dev enp7s0 proto static metric 100

    主路由表不会提到任何与 enp1s0 设备或 192.0.2.1/24 子网关联的路由。

  4. 显示路由表 1000

    # ip route show table 1000
    default via 192.0.2.254 dev enp1s0 proto static metric 101
    broadcast 192.0.2.0 dev enp1s0 proto kernel scope link src 192.0.2.1
    192.0.2.0/24 dev enp1s0 proto kernel scope link src 192.0.2.1 metric 101
    local 192.0.2.1 dev enp1s0 proto kernel scope host src 192.0.2.1
    broadcast 192.0.2.255 dev enp1s0 proto kernel scope link src 192.0.2.1
    198.51.100.0/24 via 192.0.2.2 dev enp1s0 proto static metric 101

    default 条目表示使用此路由表的服务,将 192.0.2.254 用作其默认网关,而不是主路由表中的默认网关。

  5. 在与 vrf0 关联的网络中执行 traceroute 工具,以验证工具是否使用表 1000 的路由:

    # ip vrf exec vrf0 traceroute 203.0.113.1
    traceroute to 203.0.113.1 (203.0.113.1), 30 hops max, 60 byte packets
     1  192.0.2.254 (192.0.2.254)  0.516 ms  0.459 ms  0.430 ms
    ...

    第一跳是分配给路由表 1000 的默认网关,而不是系统的主路由表中的默认网关。

其他资源

  • ip-vrf(8) man page