본딩과 두 개의 기본 게이트웨이를 통해 브리지와 VLAN을 결합하는 방법

본딩과 두 개의 기본 게이트웨이를 통해 브리지와 VLAN을 결합하는 방법

스위치에 세 개의 NIC가 연결된 Linux 서버가 있습니다(하나의 NIC는 관리 NIC이고 두 개의 NIC는 LACP 본드를 형성함). 또한 스위치가 VLAN(167)으로 구성되어 있으므로 이를 사용해야 합니다.

화웨이 스위치:

interface Eth-Trunk10
description #### Server ####
port link-type trunk
port trunk allow-pass vlan 167
stp disable
mode lacp
load-balance src-dst-mac

이제 현재 구성은 다음과 같습니다.

/etc/네트워크/인터페이스:

auto lo
iface lo inet loopback

iface enp3s0 inet manual

auto enp4s0
iface enp4s0 inet manual
    bond-master bond1

auto eno1
iface eno1 inet manual
    bond-master bond1

auto bond1
iface bond1 inet manual
    bond-slaves eno1 enp4s0
    bond-miimon 100
    bond-mode 802.3ad
    bond-lacp-rate 1

auto bond1.167
iface bond1.167 inet static
    address x.x.x.x
    netmask 255.255.255.248
    vlan-raw-device bond1

auto vmbr0
iface vmbr0 inet static
    address  a.a.a.b
    netmask  255.255.255.248
    gateway a.a.a.a
    bridge-ports enp3s0
    bridge-stp off

보시다시피, 가상 호스트 시스템에는 현재 관리 인터페이스인 초기 브리지 인터페이스(vmbr0)가 있습니다.

나중에 관리를 제외한 모든 트래픽은 VLAN 167을 사용하여 결합된 인터페이스를 통과하게 되며 두 개의 기본 게이트웨이가 필요할 것 같습니다.

그래서 모든 것을 다음과 같이 변경해야 한다고 생각합니다.

/etc/네트워크/인터페이스:

auto lo
iface lo inet loopback

iface enp3s0 inet static
    address  a.a.a.b
    netmask  255.255.255.248
    post-up ip route add a.a.a.0/24 dev enp3s0 src a.a.a.b table rt1
    post-up ip route add default via a.a.a.a dev enp3s0 table rt1
    post-up ip rule add from a.a.a.b/32 table rt1
    post-up ip rule add to a.a.a.b/32 table rt1
    post-up ip route add default via a.a.a.a metric 101 dev enp3s0
    post-down ip rule del from 0/0 to 0/0 table rt1
    post-down ip rule del from 0/0 to 0/0 table rt1

auto enp4s0
iface enp4s0 inet manual
    bond-master bond1

auto eno1
iface eno1 inet manual
    bond-master bond1

auto bond1
iface bond1 inet manual
    bond-slaves eno1 enp4s0
    bond-miimon 100
    bond-mode 802.3ad
    bond-lacp-rate 1

auto bond1.167
iface bond1.167 inet manual
    vlan-raw-device bond1

auto vmbr0
iface vmbr0 inet static
    address x.x.x.y
    netmask 255.255.255.248
    bridge-ports bond1.167
    bridge-stp off
    bridge-fd 0
    post-up ip route add x.x.x.0/29 dev vmbr0 src x.x.x.y table rt2
    post-up ip route add default via x.x.x.x dev vmbr0 table rt2
    post-up ip rule add from x.x.x.y/32 table rt2
    post-up ip rule add to x.x.x.y/32 table rt2
    post-up ip route add default via x.x.x.x metric 100 dev vmbr0
    post-down ip rule del from 0/0 to 0/0 table rt2
    post-down ip rule del from 0/0 to 0/0 table rt2

/etc/iproute2/rt_tables:

101 rt1
102 rt2

주소 설명:

x.x.x.0 = net for internet access and bridging vms to internet
x.x.x.x = gateway
x.x.x.y = ip for vmbr0/bonding

a.a.a.0 = net for management
a.a.a.a = gateway
a.a.a.b = ip for management/enp3s0

이제 내 두 가지 질문은 다음과 같습니다.

  1. VLAN 167 호스트와 가상 머신의 모든 트래픽이 이를 통과하도록 vmbr0에서 bond1.167이 올바르게 구성되어 있습니까? 뭔가 잘못됐다는 느낌이 들었습니다.

  2. 두 개의 게이트웨이를 사용하는 이 설정이 작동합니까? 이렇게 관리 인터페이스 enp3s0을 계속 사용할 수 있나요? 내 계획은 결합된 인터페이스(vmbr0/bond1.167)에서 관리 액세스를 차단하고 관리 인터페이스에서는 열어 두는 것입니다.

답변1

1.) 예, 먼저 바인딩한 다음 VLAN, 브리지, 브리지 인터페이스의 호스트 IP 주소가 예상되는 배열입니다.

2.) 나는 물어봐야 합니다:관리 인터페이스가 실제로 인터넷 어디에서나 직접 연결이 필요합니까?

관리 인터페이스가 소수의 네트워크 세그먼트에서만 액세스해야 하는 경우 게이트웨이에 대해 더 제한된 경로를 사용할 수 있습니다. 필요 없음기본관리 인터페이스의 게이트웨이를 사용하면 라우팅이 크게 단순화될 수 있습니다.

예를 들어 관리 워크스테이션이 네트워크 aac0/24에 있고 원격 관리 VPN 엔드포인트가 aad224/27에 있으며 이것이 관리 액세스를 사용하는 유일한 방법이라는 것을 알고 있는 경우 관리 인터페이스를 다음과 같이 지정할 수 있습니다.

iface enp3s0 inet static
    address  a.a.a.b
    netmask  255.255.255.248
    post-up ip route add a.a.c.0/24 via a.a.a.a dev enp3s0
    post-up ip route add a.a.d.224/27 via a.a.a.a dev enp3s0
    # no default gateway on this interface, intentionally!

그렇다면 vmbr0간단하게 할 수 있습니다

auto vmbr0
iface vmbr0 inet static
    address x.x.x.y
    netmask 255.255.255.248
    gateway x.x.x.x
    bridge-ports bond1.167
    bridge-stp off
    bridge-fd 0

관련 정보