고정 IP 와 가상머신 네트워크 브릿지

declspec의 이미지

VM웨어나 Vbox 등 가상머신에서 게스트 OS 의 NIC 를
보통 크게 NAT 타입이나 브릿지타입으로 설정합니다.

여기서 먼저 제가 이해하는 바는.

A. NAT 는 호스트 OS 의 IP 를 공인 IP 로 해서
게스트 OS 가 내부에 자체적인 사설네트워크를 갖는 것이며(공유기 쓰듯이)
이렇게 설정하면 호스트 OS 가 알아서 DHCP 서비스를 해주기때문에(VM웨어가 해주는거겟지만)
인터넷이 가능하지만 다른 게스트 OS 나 호스트 OS 로 오는 패킷을
스니핑 할 수 없음.(다른 네트워크 세그먼트 이므로)

B. 브릿지의 경우 호스트 OS 의 NIC 를 공유하는 것으로서
호스트 OS 와 동일한 네트워크 대역을 가짐.
따라서 네트워크 브로드캐스팅을 하면 호스트 OS 뿐만아니라
호스트 OS 와 같은 네트워크에 있는 다른 머신에게까지 패킷을
보낼수 있음(가로챌수도있고).

여기서 질문이 있는데요

1. 브릿지 설정을 할때 애당초 호스트 OS 가 DHCP 로 IP 를 자유롭게 할당받는 경우에는
게스트 OS 도 DHCP로 IP 를 할당받지만. 처음에 호스트 OS 가 고정IP 를 수동으로 세팅해서
사용하는 경우는 게스트 OS 도 추가적으로 공인IP 를 할당받고 수동 설정해야만하나요? 즉, 게스트 OS 도 수동으로
고정IP 를 할당받지 않는이상 브릿지모드는 쓸수없는걸까요?, 또한 게스트 OS 가 독자적으로 고정IP 를
받는다고 해서 인터넷사용이 가능한가요?

2. 만약 호스트 OS 가 고정아이피를 할당받았고, 게스트OS 도 독립적으로 고정아이피를 할당받았다고 할때.
(즉 한컴퓨터에 2개의 IP 가 제공됬다면) 둘다 인터넷이 가능하다면, 이때 사실상 물리적인 NIC 는 하나이지만
호스트와 게스트는 서로다른 MAC 주소를 가지는데, 그렇다면 물리적으로 LAN 선이 물려있는 스위치의
포트는 어떤 MAC 주소로 포트러닝을 하게되는건가요?? 호스트 OS 의 MAC 주소를 스위치가 러닝했다가
게스트 OS 의 프레임이 지나가면 다시 게스트 OS 의 MAC 주소로 러닝하고... 이렇게되나요??

elflord의 이미지

1.브릿지 모드에서 호스트의 고정/유동IP 설정과 관계없이 게스트도 고정/유동IP를 자유로이 선택 가능하고 어느쪽이든 인터넷이 가능합니다. 설정 나름.

2.브릿지 모드에서는 호스트의 NIC은 말그대로 변조없이 그냥 통과시키는 역할을 합니다. 게스트 OS의 가상 NIC은 호스트와 별도의 MAC 어드레스를 가지고 있어서 게스트가 발생시킨 패킷은 자신의 주소를 그대로 가지고 호스트의 물리NIC을 통과(브릿지)하지요. 케이블의 상대편에 스위치의 해당 포트의 MAC어드레스 테이블에는 호스트의 NIC과 게스트의 NIC의 주소가 각각 기록되게 됩니다.


===== ===== ===== ===== =====
그럼 이만 총총...[竹]
http://elflord.egloos.com

declspec의 이미지

답변 감사합니다~!
그런데 케이블의 상대편 스위치에서 해당 포트의 MAC 어드레스가 각각 기록된다함은
스위치 포트 1개당 여러개의 MAC 어드레스가 매핑될수 있다는 말씀이신가요?
저는 1:1 매칭이 되는건줄 알고있어서요...

그리고 추가적인 질문인데 혹시 스위치에서
4개의 포트가 있을때 포트 1, 2번에 동일한 MAC 어드레스 'ABC' 가 매핑되어있는경우
스위치는 3번포트에서 목적지 MAC 어드레스가 'ABC' 인 프레임을 받았을때
어떻게 처리하나요? 1, 2번포트 모두로 보내줄까요?
아니면 애당초 동일한 MAC 어드레스가 2개이상의 포트에 매핑되는거 자체가 안되는건가요?

자기실력이 좋다고 느껴지는건 공부를 안하고 있다는 신호.

elflord의 이미지

1. 스위치의 포트 하나당 복수개의 MAC어드레스의 매핑이 가능합니다. 이게 안되면 일례로 캐스캐이드(스위치에 스위치를 연결) 구성이 안되지요. 가령 사무실 전체를 통괄하는 메인스위치가 있고 거기에 케이블로 연결된 4포트짜리 스위칭 허브가 내 책상에 있어서 스위칭 허브에 컴퓨터를 한 3대쯤 물렸다고 치면 메인 스위치의 포트에는 컴퓨터 3대의 MAC어드레스가 등록되는 셈이죠.

2.두 포트에 동일 MAC어드레스가 매핑되는건 "기본적"으로는 잘못된 구성이라 말씀하신대로 2개이상의 포트에 매핑하는 경우는 없다고 봐도 됩니다. 이 잘못된 구성시 어떤식으로 처리하는가는 스위치 벤더에 따라 다릅니다만 일반적으로는 나중에 들어온 포트의 정보가 남고, 기존의 포트의 정보는 삭제하는 방식으로 움직입니다. (물론 반대도 있을수 있고요. 벤더 나름)
그런데 포트 어그리게이션 같은 다중 포트의 집약 사용시에는 좀 특별하게 움직이는데 이건 또 모드 및 HW벤더에 따라 달라지기 때문에... 이부분은 직접 공부해 보시는게 좋을듯.


===== ===== ===== ===== =====
그럼 이만 총총...[竹]
http://elflord.egloos.com

익명 사용자의 이미지

간단하게말해서...
NAT = 컴퓨터 내부에 가상 공유기
브릿지 = 컴퓨터 내부에 가상 스위치 허브

브릿지 모드로 쓰면 실제 nic 으로 들어오는 모든 패킷을 감청해서 가상 nic 으로 들어오는건 가상머신으로 넘겨주고 그럽니다

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.