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 upVLAN 인터페이스와 브리지 연결
태그가 붙은 VLAN 인터페이스를 각 브리지에 편입시킵니다.
# VLAN 10 브리지에 eth0.10 연결
sudo brctl addif vlan10-br eth0.10
# VLAN 20 브리지에 eth0.20 연결
sudo brctl addif vlan20-br eth0.20KVM 가상 머신 네트워크 연결
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 vnet3VM 내부 IP 설정
각 가상 신에 다음과 같이 IP를 할당합니다:
| 브리지 | 인터페이스 | IP 주소 |
|---|---|---|
| vlan10-br | vnet0 | 192.168.10.30 |
| vlan10-br | vnet1 | 192.168.10.99 |
| vlan20-br | vnet2 | 192.168.20.40 |
| vlan20-br | vnet3 | 192.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이 호스트 간에 확장됩니다.