Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 82. Windows Virtual PC의 네트워크 유형 (3) [링크 복사], [링크+제목 복사],
조회: 24375
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 2개 있습니다.)
Windows Virtual PC의 네트워크 유형 (3)

아래의 내용에 이어서.

Windows Virtual PC의 네트워크 유형 (1)
; https://www.sysnet.pe.kr/2/0/906

Windows Virtual PC의 네트워크 유형 (2)
; https://www.sysnet.pe.kr/2/0/907

두 번째 글에서 언급했던, 호스트로부터의 통신이 불가능하다는 단점을 보완해보겠습니다. 사실, VPC를 사용할 때 호스트로부터 VPC에 접근할 일은 꽤 빈번하게 있습니다. 물론, "Shared Networking" 유형에서 "VPC -> 호스트"로의 접근이 가능했지만 직접 호스트에서 VPC로 접근하지 못하는 것은 때때로 일을 번거롭게 만드는 것만은 사실입니다.

호스트 네트워크를 어지럽히는(?) "Virtual Network" 옵션을 피하고 내부 VPC 간의 통신 및 호스트와의 통신을 지원하는 방법은 정말 없는 걸까요?

허긴 ^^ 진짜 없었다면, 이 글은 쓰지도 않았겠지요.




이 문제를 해결하기 위해서,
지난번과는 달리 "Internal Network + Shared Network"는 사용하지 않습니다. 오호... 그렇다면 어떻게? 해답은 의외로 간단합니다. ^^ 바로 루프백 어댑터와 인터넷 공유 기능을 함께 이용하는 것입니다.

일단 루프백 어댑터를 생성해야 하는데, 다음의 글을 참고해서 하나 만듭니다.

Windows 7에서 Loopback network adapter 설치하기
; https://www.sysnet.pe.kr/2/0/672

그런 다음, LAN 어댑터에 대해 "인터넷 공유 기능"을 다음과 같이 새로 생성된 루프백 어댑터에 대해서 지정해 줍니다.

how_to_use_loopback_adapter_for_vpc_1.png

이렇게 하면, 당연히 Loopback 어댑터에 걸린 네트워크는 외부망과 통신이 가능해지고,

다음으로, Loopback 어댑터의 인터넷 공유로 생성된 내부 네트워크를 사용할 VPC에 대해 VMCX 설정에서 다음과 같이 "Microsoft Loopback Adapter"를 지정해 줍니다.

how_to_use_loopback_adapter_for_vpc_2.png

이런 식으로 2대의 VPC에 설정해 주면 각각 다음과 같은 네트워크 구성을 확인할 수 있습니다. (물론, DHCP 기능이 활성화되어 자동으로 IP 할당이 가능합니다.)

=== A VPC ===
IP Address: 192.168.137.203
Subnet Mask : 255.255.255.0
Default Gateway: 192.168.137.1

=== B VPC ===
IP Address: 192.168.137.154
Subnet Mask : 255.255.255.0
Default Gateway: 192.168.137.1

원하는 데로, 이전의 "Internal Network + Shared Network" 조합과 비교해서 "VPC <-> 호스트" 통신이 가능해진다는 장점이 있습니다.

반면 한 가지 단점이 있는데, "유선" / "무선" NIC이 설치된 상황에서 "인터넷 공유 기능"이 하나의 어댑터에 대해서만 활성화되기 때문에 지난번에 예를 든 것처럼, 회사에서는 무선, 집에서는 유선을 쓰는 환경에서는 인터넷 공유 기능을 그 때마다 바꿔서 지정해 줘야 합니다. 하지만 "Virtual Network"와 비교해서 다른 점이 있다면, "Virtual Network" 설정은 유/무선 어댑터가 참여하는 네트워크가 달라지면 VPC들의 네트워크도 통째로 달라지는 반면, 이렇게 루프백 어댑터를 이용하게 되면 유/무선 어댑터가 어떤 것을 쓰느냐에 상관없이 동일하게 "192.168.137.0" 네트워크를 유지할 수 있습니다.

[정리: 가능한 접근 방식]
  • VPC <-> VPC
  • VPC <-> HOST
  • VPC -> HOST가 참여하고 있는 네트워크의 다른 PC
  • VPC -> 외부망 (예: 인터넷)


위의 조합으로도 "Virtual Network"와 비교해서 한 가지 아쉬운 점이 남는데요. 바로 다음의 통신이 불가능하다는 점입니다. (물론, "보안"이라는 측면에서 보면 장점일 수도 있습니다.)

  • VPC <- "HOST가 참여하고 있는 네트워크의 다른 PC"
  • VPC <- 외부망

사실, 위의 2가지는 결국 "외부망"에서 해당 VPC로 접근할 수 없다는 것으로 요약되는데요. 아쉽게도 클라이언트 운영체제 군(XP/Vista/7)에서는 "Routing and Remote Access" 서비스 중에서 "라우팅" 기능이 활성화되지 않는다는 제약 때문에 해결할 수가 없습니다. (아마도 라우팅 기능을 제공하는 3rd-party 제품을 사용한다면 해결이 되겠지만. 혹시나, 그 외의 자연스러운 방법을 알고 계신 분이 있다면 ^^ 공유 부탁드립니다.) 따라서, 위의 접근이 꼭 필요한 경우라면 어쩔 수 없이 "Virtual Network"를 선택해서 사용해야 합니다.

어쨌든, 이 정도면 선택 기준이 확실해졌지요!

외부망에서 VPC를 접근해야 할 필요가 있다면, "Virtual Network"를 선택하고,
그럴 필요가 없다면, "Loopback Network + Internet Connection Sharing"을 선택!



여기까지 해서, 제가 아는 수준에서의 "Windows Virtual PC"에서 구성해 볼 수 있는 일반적인 네트워크 유형은 모두 살펴본 것 같습니다. ^^



[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 6/27/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 76  77  78  79  80  81  82  83  [84]  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
11836정성태3/5/201923247오류 유형: 525. Visual Studio 2019 Preview 4/RC - C# 8.0 Missing compiler required member 'System.Range..ctor' [1]
11835정성태3/5/201921755.NET Framework: 810. C# 8.0의 Index/Range 연산자를 .NET Framework에서 사용하는 방법 및 비동기 스트림의 컴파일 방법 [3]파일 다운로드1
11834정성태3/4/201920587개발 환경 구성: 432. Visual Studio 없이 최신 C# (8.0) 컴파일러를 사용하는 방법
11833정성태3/4/201921101개발 환경 구성: 431. Visual Studio 2019 - CMake를 이용한 공유/실행(so/out) 리눅스 프로젝트 설정파일 다운로드1
11832정성태3/4/201917024오류 유형: 524. Visual Studio CMake - rsync: connection unexpectedly closed
11831정성태3/4/201916845오류 유형: 523. Visual Studio 2019 - 새 창으로 뜬 윈도우를 닫을 때 비정상 종료
11830정성태2/26/201916551오류 유형: 522. 이벤트 로그 - Error opening event log file State. Log will not be processed. Return code from OpenEventLog is 87.
11829정성태2/26/201918294개발 환경 구성: 430. 마이크로소프트의 CoreCLR 프로파일러 예제 빌드 방법 - 리눅스 환경 [1]
11828정성태2/26/201926163개발 환경 구성: 429. Component Services 관리자의 RuntimeBroker 설정이 2개 있는 경우 [8]
11827정성태2/26/201919089오류 유형: 521. Visual Studio - Could not start the 'rsync' command on the remote host, please install it using your system package manager.
11826정성태2/26/201919264오류 유형: 520. 우분투에 .NET Core SDK 설치 시 패키지 의존성 오류
11825정성태2/25/201924491개발 환경 구성: 428. Visual Studio 2019 - CMake를 이용한 리눅스 빌드 환경 설정 [1]
11824정성태2/25/201918944오류 유형: 519. The SNMP Service encountered an error while accessing the registry key SYSTEM\CurrentControlSet\Services\SNMP\Parameters\TrapConfiguration. [1]
11823정성태2/21/201920619오류 유형: 518. IIS 관리 콘솔이 뜨지 않는 문제
11822정성태2/20/201918928오류 유형: 517. docker에 설치한 MongoDB 서버로 연결이 안 되는 경우
11821정성태2/20/201919690오류 유형: 516. Visual Studio 2019 - This extension uses deprecated APIs and is at risk of not functioning in a future VS update. [1]
11820정성태2/20/201922764오류 유형: 515. 윈도우 10 1809 업데이트 후 "User Profiles Service" 1534 경고 발생
11819정성태2/20/201922046Windows: 158. 컴퓨터와 사용자의 SID(security identifier) 확인 방법
11818정성태2/20/201920111VS.NET IDE: 131. Visual Studio 2019 Preview의 닷넷 프로젝트 빌드가 20초 이상 걸리는 경우 [2]
11817정성태2/17/201916461오류 유형: 514. WinDbg Preview 실행 오류 - Error : DbgX.dll : WindowsDebugger.WindowsDebuggerException: Could not load dbgeng.dll
11816정성태2/17/201919891Windows: 157. 윈도우 스토어 앱(Microsoft Store App)을 명령행에서 직접 실행하는 방법
11815정성태2/14/201918127오류 유형: 513. Visual Studio 2019 - VSIX 설치 시 "The extension cannot be installed to this product due to prerequisites that cannot be resolved." 오류 발생
11814정성태2/12/201916992오류 유형: 512. VM(가상 머신)의 NT 서비스들이 자동 시작되지 않는 문제
11813정성태2/12/201918321.NET Framework: 809. C# - ("Save File Dialog" 등의) 대화 창에 확장 속성을 보이는 방법
11812정성태2/11/201915632오류 유형: 511. Windows Server 2003 VM 부팅 후 로그인 시점에 0xC0000005 BSOD 발생
11811정성태2/11/201920849오류 유형: 510. 서버 운영체제에 NVIDIA GeForce Experience 실행 시 wlanapi.dll 누락 문제
... 76  77  78  79  80  81  82  83  [84]  85  86  87  88  89  90  ...