스위치에 세 개의 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
이제 내 두 가지 질문은 다음과 같습니다.
VLAN 167 호스트와 가상 머신의 모든 트래픽이 이를 통과하도록 vmbr0에서 bond1.167이 올바르게 구성되어 있습니까? 뭔가 잘못됐다는 느낌이 들었습니다.
두 개의 게이트웨이를 사용하는 이 설정이 작동합니까? 이렇게 관리 인터페이스 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