ProxMox 네트워크 모드 - Bridge , NAT , Bond

ProxMox 네트워크 모드 - Bridge , NAT , Bond

Summary ProxMox의 네트워크 구성 방식에는 브리지, 라우팅, NAT 및 본딩이 있다. 브리지는 가상 머신이 실제 네트워크에 직접 연결된 것처럼 작동하며, 라우팅은 서버가 모든 네트워크 연결을 처리하여 여러 가상 머신을 인터넷에 연결한다. NAT는 내부 IP를 사용하여 호스트의 IP로 외부에 접속하게 하며, 본딩은 여러 네트워크 포트를 묶어 안정성과 속도를 높이는 기술이다.


https://pve.proxmox.com/wiki/Network_Configuration

Default Configuration using a Bridge

브리지 구성

Image

  • 브리지는 컴퓨터 안에서 만든 가상 스위치입니다. 실제 네트워크 스위치처럼 작동합니다.
  • 가상 머신들이 하나의 브리지를 같이 쓸 수도 있고, 여러 개의 브리지로 나눠서 쓸 수도 있습니다.
  • 브리지를 사용하면 가상 머신이 실제 네트워크에 직접 연결된 것처럼 사용할 수 있습니다.

Routed Configuration

라우팅 구성

Image

  • 일부 서비스에서는 한 네트워크 장치에 여러 개의 주소를 사용할 수 없어서 브리지를 쓸 수 없습니다.
  • 이런 경우에는 라우팅을 사용해서 모든 네트워크 신호를 한 곳으로 모아서 처리할 수 있습니다.

Masquerading (NAT) with iptables

NAT 구성

Image

  • NAT를 사용하면 가상 머신이 내부 IP 주소를 써도 호스트 컴퓨터의 IP를 통해 외부 인터넷을 사용할 수 있습니다.
  • 방화벽 설정에 따라 추가로 conntrack 설정이 필요할 수 있습니다.

그런데, Routed 모드와 NAT 모드가 유사해보인다. 무슨 차이점이 존재할까?

Routed Configuration과 NAT는 비슷해 보이지만 세 가지 중요한 차이가 있습니다:

  1. IP 주소 방식
  • Routed: 가상 머신이 실제 인터넷 IP 주소를 직접 사용합니다.
  • NAT: 가상 머신은 내부용 IP 주소를 사용하고, 호스트 컴퓨터의 IP를 빌려서 인터넷에 접속합니다.
  1. 설정의 어려움
  • Routed: 실제 IP를 바로 사용해서 비교적 쉽게 설정할 수 있습니다.
  • NAT: 내부 IP를 외부 IP로 바꾸는 과정이 필요해서 설정이 좀 더 복잡합니다.
  1. 외부에서의 접속
  • Routed: 가상 머신이 실제 IP를 사용하므로 외부에서 직접 접속이 가능합니다.
  • NAT: 가상 머신이 내부 IP를 사용하므로 외부에서 직접 접속이 어렵습니다. 포트 포워딩이라는 추가 설정이 필요합니다. 정리하면, Routed는 실제 인터넷 IP를 직접 사용하는 방식이고,

NAT는 내부 IP를 사용하면서 호스트 컴퓨터의 IP를 통해 인터넷에 접속하는 방식입니다.


Linux Bond

Image

본딩

  • 본딩은 여러 개의 네트워크 카드를 하나로 묶어서 사용하는 기술입니다.
  • 네트워크 부하 분산, 장애 대비, 속도 향상을 위해 사용합니다.
  • 여러 가지 동작 방식을 선택할 수 있습니다(번갈아 사용, 백업용, 부하 분산 등).
  • 네트워크 장비가 LACP를 지원하면 802.3ad 모드를, 지원하지 않으면 백업 모드를 쓰는 것이 좋습니다.
  • 여러 컴퓨터를 연결하는 클러스터에서는 본딩 대신 여러 개의 네트워크를 따로 구성하는 것이 더 좋습니다. <관조자> “작은 회사에서 서버를 운영한다고 상상해볼게요. 서버에 네트워크 카드(랜포트)가 두 개 있어요. 둘 다 스위치에 연결해요. 그냥 쓰면 서버에서 한 포트만 쓰고, 다른 한 포트는 놀고 있을 수 있죠. 그런데 ‘본딩’을 사용하면 두 포트를 묶어서 마치 하나처럼 쓸 수 있어요.

만약 한 포트가 고장 나면, 다른 포트가 계속 데이터를 주고받아서 서비스가 끊기지 않아요. 또한 두 포트를 동시에 쓸 수 있다면(스위치가 LACP를 지원할 때), 데이터를 더 빠르게 보내고 받을 수 있어요.

이런 식으로 본딩은 ‘속도 향상’과 ‘장애 대비’라는 두 가지 이점을 주는 거예요. 그러니까, 본딩은 “서버의 두 다리를 하나로 합쳐서 더 튼튼하고 빠른 다리로 만드는 것”이라고 생각하면 쉬워요.” </관조자>

<final_answer> “결론적으로, 본딩은 여러 네트워크 포트를 묶어서 속도도 올리고, 하나가 고장 나도 통신이 끊기지 않도록 해주는 기술이에요.” </final_answer>

💬 댓글

GitHub 계정으로 로그인하여 댓글을 남겨보세요. GitHub 로그인

🔧 댓글 시스템 설정이 필요합니다

GitHub Discussions 기반 댓글 시스템을 활성화하려면:

  1. Giscus 설정 페이지에서 설정 생성
  2. GISCUS_SETUP_GUIDE.md 파일의 안내를 따라 설정 완료
  3. Repository의 Discussions 기능 활성화

Repository 관리자만 설정할 수 있습니다. 설정이 완료되면 모든 방문자가 댓글을 남길 수 있습니다.