가상머신 브리지 네트워크 설정
1. 호스트에 bridge 네트워크 생성
가상머신에 bridge 네트워크를 적용하려면, 먼저 호스트 서버에 bridge 인터페이스를 생성해야 합니다.
1
2
3
4
5
6
7
8
9
10
11
| # 출력
default via 192.168.0.254 dev enp1s0 proto static
192.168.0.0/24 dev enp1s0 proto kernel scope link src 192.168.0.55
...
######## 출력 해석 ########
# > 게이트웨이는 192.168.0.254
# > 네트워크 대역은 192.168.0.0/24 대역임
# > 호스트의 IP는 192.168.0.55
# > 물리 NIC 이름은 enp1s0
# NIC : Network Interface Controller
|
- netplan 설정 (위 출력의 게이트웨이, 네트워크대역, 물리 NIC 이름에 맞춰 입력)
1
| sudo vi /etc/netplan/01-br0-static.yaml
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| network:
version: 2
renderer: networkd # 실제 네트워크를 적용하는 백엔드 엔진
ethernets: # 물리 네트워크 카드 정의 영역
enp1s0: # ----------------------------- (1) NIC 이름
dhcp4: no # IPv4 DHCP 사용 여부
dhcp6: no # IPv6 DHCP 사용 여부
bridges: # Linux 브리지 정의 영역
br0: # 브리지 이름
interfaces: [enp1s0] # --------------- (2) 이 브리지에 어떤 물리 NIC를 묶을지
addresses:
- 192.168.0.55/24 # --------------- (3) 호스트의 IP 주소 (직접 설정)
routes:
- to: default
via: 192.168.0.254 # ------------- (4) 기본 게이트웨이 (보통 공유기 IP) 외부 인터넷으로 나갈 때 사용
nameservers: # DNS 설정 블록
addresses:
- 8.8.8.8
|
1
2
3
4
5
6
| ...
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
link/ether ...
inet 192.168.0.55/24 brd 192.168.0.255 scope global br0
...
|
2. Cockpit 에서 bridge 네트워크 확인
호스트 서버에 정상적으로 bridge가 추가되었다면, Cockpit의 “네트워킹” 메뉴에서도 확인하실 수 있습니다.

3. VM 네트워크 설정
만들었던, 혹은 새로 만들 VM 의 네트워크를 새로 만든 bridge(br0)로 바꿔줍니다.
- VM 목록에서 bridge 네트워크를 적용할 VM 선택

- 네트워크 연결장치 추가 혹은 기존 네트워크 편집

- 연결장치 유형, 소스, 방식을 아래와 같이 선택

4. VM 고정 IP 로 설정하기
DHCP로 동적 IP를 할당받아 사용해도 문제는 없지만, 실행 위치를 알아야 하는 특정 서비스를 VM 위에서 실행하는 경우 등에는 고정 IP를 설정해두는 게 좋습니다.
고정 IP를 설정하는 방법은, VM이라고 해서 특별할 것은 없습니다. 리눅스라면 netplan 등에서 자신의 IP를 고정으로 설정하며, 윈도우에서는 네트워크 설정 메뉴에서 IP를 설정할 수 있습니다.
아래는 Ubuntu 운영체제의 예시입니다.
- (VM 안쪽에서) 네트워크 인터페이스 이름과 네트워크 대역대 확인
1
2
3
4
5
| # 출력
...
enp1s0: <BROADCASE,MULTICASE,UP,LOWER_UP>... # --- VM에서 사용중인 네트워크 이름 enp1s0
inet 192.168.0.5/24 brd 192.168.0.255 scope global enp1s0 # --- 현재 VM의 IP : 192.168.0.5
# --- 서브넷 마스크 255.255.255.0(/24)
|
1
| sudo vi /etc/netplan/00-installer-config.yaml
|
1
2
3
4
5
6
7
8
9
10
11
12
| network:
version: 2
ethernets:
enp1s0: # --- (1) 네트워크 인터페이스
addresses:
- "192.168.0.90/24" # ---- (2) VM 의 IP 지정
nameservers:
addresses:
- 8.8.8.8
routes:
- to: "default"
via: "192.168.0.254" # --- (3) 게이트웨이
|
1
2
3
4
| # 출력
...
enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP>... # --- VM에서 사용중인 네트워크 이름 enp1s0
inet 192.168.0.90/24 brd 192.168.0.255 scope global enp1s0 # --- 현재 VM의 IP : 192.168.0.90
|
5. 호스트에서 bridge 네트워크 확인
호스트 서버에서 brctl show 명령어를 통해 VM들이 정상적으로 bridge 네트워크에 포함되었는지 확인할 수 있습니다.
1
2
3
4
5
| # 출력
bridge name bridge id STP enabled interfaces
br0 .... no enp1s0
vnet0 # ------- VM1
vnet1 # ------- VM2
|
- 또한, 호스트에서 VM 의 IP 에
ping 을 날리면 정상적으로 통신이 되는 것을 볼 수 있습니다.
1
2
3
4
5
| PING 192.168.0.90 (192.168.0.90) 56(84) bytes of data.
64 bytes from 192.168.0.90: icmp_seq=1 ttl=64 time=0.466 ms
64 bytes from 192.168.0.90: icmp_seq=2 ttl=64 time=0.231 ms
64 bytes from 192.168.0.90: icmp_seq=3 ttl=64 time=0.155 ms
...
|
Comments