如何在 Ubuntu 18.04 上正确配置源路由?

如何在 Ubuntu 18.04 上正确配置源路由?

我正在尝试在 Ubuntu 18.04 服务器上配置新的 VLAN/子网。我尝试遵循以下示例:https://netplan.io/examples/#configuring-source-routing

但是当我按照该示例操作时,我可以通过 br10 接口地址通过 SSH 进入服务器。但是从那里,我无法通过 br10 或 br11 接口 ssh 到其他节点。此外,服务器上运行的 Kubernetes 集群无法再与其他组件通信。我试图解决的问题是,当用户连接到在 br11 接口上运行的服务时,响应数据包将通过 br10/VLAN10 接口发出并被网络丢弃。

这是我的 netplan 配置:

network:
version: 2
renderer: networkd

ethernets:
  eth0:
    addresses: []
    dhcp4: false
    dhcp6: false
  eth1:
    addresses: []
    dhcp4: false
    dhcp6: false

bonds:
  bond0:
    interfaces:
      - eth0
      - eth1
    dhcp4: false
    dhcp6: false
    parameters:
      lacp-rate: fast
      mii-monitor-interval: 100
      mode: 802.3ad

vlans:
  vlan10:
    id: 10
    link: bond0
    dhcp4: false
    dhcp6: false
  vlan11:
    id: 11
    link: bond0
    dhcp4: false
    dhcp6: false

bridges:
  br10:
    interfaces:
      - vlan10
    addresses:
      - 10.0.10.2/24
    nameservers:
    addresses:
      - 10.0.1.1
      - 10.0.1.2
    search:
      - domain.com
    dhcp4: false
    dhcp6: false
    routes:
      - to: 0.0.0.0/0
        via: 10.0.10.1
      - to: 10.0.10.0/24
        via: 10.0.10.1
        table: 10
    routing-policy:
      - from: 10.0.10.0/24
        table: 10
   
  br11:
    interfaces:
      - vlan11
    addresses:
      - 10.0.11.2/24        
    nameservers:
    addresses:
      - 10.0.1.1
      - 10.0.1.2
    search:
      - domain.com
    dhcp4: false
    dhcp6: false
    routes:
      - to: 10.0.11.0/24
        via: 10.0.11.1
        table: 11
    routing-policy:
      - from: 10.0.11.0/24
        table: 11

我做错了什么?确保响应数据包从其到达的同一接口路由出去的“正确”方法是什么?

谢谢!

答案1

您的路由表未显示 br11 接口的任何路由,除了本地网络之外,本地网络无论如何都不需要使用路由策略。您可能缺少 br11 接口的默认路由 (0.0.0.0/0) 作为源路由策略的一部分。

答案2

我终于解决了我的问题,结果发现我以一种意想不到的方式攻击了公司防火墙。我的最终网络计划(希望对将来的某人有帮助)如下所示:

network:
  version: 2
  renderer: networkd
  
  ethernets:
    eth0:
      addresses: []
      dhcp4: false
      dhcp6: false

  bonds:
    bond0:
      interfaces:
        - eth0
      dhcp4: false
      dhcp6: false
      parameters:
        lacp-rate: fast
        mii-monitor-interval: 100
        mode: 802.3ad
  
  vlans:
    vlan10:
      id: 10
      link: bond0
      dhcp4: false
      dhcp6: false
      addresses:
        - 10.0.10.2/24
      gateway4: 10.0.10.1
      nameservers:
        addresses:
          - 10.0.1.1
          - 10.0.1.2
        search:
          - domain.com
      dhcp4: false
      dhcp6: false

    vlan11:
      id: 11
      link: bond0
      dhcp4: false
      dhcp6: false
      addresses:
        - 10.0.11.2/24
      nameservers:
        addresses:
          - 10.0.1.1
          - 10.0.1.2
        search:
          - domain.com
      dhcp4: false
      dhcp6: false
      routes:
        - to: 0.0.0.0/0
          via: 10.0.11.1
          metric: 11       
        - to: 0.0.0.0/0
          via: 10.0.11.1
          table: 11
        - to: 10.0.11.0/24
          via: 10.0.11.1
          table: 11
      routing-policy:
        - from: 10.0.11.0/24
          table: 11

我最终按照@slangasek 的建议向备用表添加了一条默认路由。

相关内容