CentOS 7에서 Linux Bridge로 VLAN 기반 가상 네트워크 구성

VLAN 지원 모듈 준비

먼저 VLAN 설정에 필요한 도구를 설치하고 커널 모듈을 로드합니다.

# VLAN 설정 도구 설치
sudo yum install -y vconfig

# 802.1Q VLAN 모듈 적재
sudo modprobe 8021q

# 모듈 로드 확인
lsmod | grep 8021q

물리 인터페이스에 VLAN 태그 부여

eth0 인터페이스에 VLAN ID 10과 20을 할당하여 가상 인터페이스를 생성합니다.

# VLAN 10 생성
sudo vconfig add eth0 10

# VLAN 20 생성  
sudo vconfig add eth0 20

# 생성된 인터페이스 확인
ip link show | grep eth0

브리지 인터페이스 구성

각 VLAN에 대응하는 브리지를 만들고 활성화합니다.

# 브리지 생성
sudo brctl addbr vlan10-br
sudo brctl addbr vlan20-br

# 브리지 활성화
sudo ip link set vlan10-br up
sudo ip link set vlan20-br up

VLAN 인터페이스와 브리지 연결

태그가 붙은 VLAN 인터페이스를 각 브리지에 편입시킵니다.

# VLAN 10 브리지에 eth0.10 연결
sudo brctl addif vlan10-br eth0.10

# VLAN 20 브리지에 eth0.20 연결
sudo brctl addif vlan20-br eth0.20

KVM 가상 머신 네트워크 연결

virt-manager로 생성한 VM의 가상 NIC를 적절한 브리지에 연결합니다. VM 시작 시 생성되는 vnetX 인터페이스를 각 브리지에 추가합니다.

# VM1, VM2를 VLAN 10 브리지에 연결
sudo brctl addif vlan10-br vnet0
sudo brctl addif vlan10-br vnet1

# VM3, VM4를 VLAN 20 브리지에 연결  
sudo brctl addif vlan20-br vnet2
sudo brctl addif vlan20-br vnet3

VM 내부 IP 설정

각 가상 신에 다음과 같이 IP를 할당합니다:

브리지인터페이스IP 주소
vlan10-brvnet0192.168.10.30
vlan10-brvnet1192.168.10.99
vlan20-brvnet2192.168.20.40
vlan20-brvnet3192.168.20.101

동일 브리지 내 VM 간 통신은 가능하나, 서로 다른 브리지(VLAN) 간 통신은 불가능합니다.

물리 스위치 트렁크 포트 설정

물리 서버를 연결하는 스위치 포트를 트렁크 모드로 구성합니다. 다음은 Huawei 스위치 설정 예시입니다.

# 전역 모드 진입
system-view

# 포트 3 트렁크 설정
interface GigabitEthernet 0/0/3
 port link-type trunk
 port trunk allow-pass vlan 10 20
 quit

# 포트 4 트렁크 설정  
interface GigabitEthernet 0/0/4
 port link-type trunk
 port trunk allow-pass vlan 10 20
 quit

# VLAN 생성
vlan batch 10 20

동일한 구성으로 여러 대의 KVM 호스트를 준비하고, 각 호스트의 물리 NIC을 스위치의 트렁크 포트에 연결하면 VLAN 10과 20이 호스트 간에 확장됩니다.

태그: Linux Bridge VLAN KVM Network Bridge Huawei Switch

6월 21일 01:03에 게시됨