(문제의 원인만 찾아서 글 내용을 변경합니다.)
안녕하세요.
최근에 Hyper-V Server를 설치해 가상화 환경을 테스트하고 있습니다.
그런데 윈도우 VM에선 네트워크가 잘 작동하지만, 리눅스 VM에서는 정상적으로 동작하지 않는 문제점을 발견했습니다.
제 로컬 데스크탑 환경의 Hyper-V와 서버 Hyper-V에서 동일하게 발생하는 문제입니다.
---------------------------------------------------------------------------------------------------------------------
우선 상황 설명을 위해 아래의 제가 구성한 네트워크 구성도를 첨부합니다.
각각 VM들은 169.254.225.X IP를 수동으로 설정되었습니다.
그리고 가상 스위치의 게이트웨이 IP는 169.254.225.196입니다.
여기에 윈도우에서 제공해주는 NAT인 WinNAT를 169.254.0.0/16 대역으로 설정했습니다.
그런데 WinNAT의 현재 활성화된 Session(주소 변환 세션)을 확인해보니 (Get-NetNatSession cmdlet)
리눅스 VM에서 오는 요청은 Source IP가 0.0.0.0으로 인식되고 있었습니다.
윈도우 VM에서 오는 요청은 Source IP가 원래 자신의 IP로 인식되고 있었습니다.
결과는 아래의 사진과 같습니다.
NAT의 번역 테이블에 Linux VM에서 보내는 요청들이 전부 0.0.0.0으로 쌓여서
요청은 Remote Server로 잘 가지만 응답을 어디로 보내야 할지 모르는듯 합니다.
이 상황에 대해서 여러가지 검색도 해보고 있지만... 아직 이런 인프라쪽은 미숙해서 찾아봐도 잘 모르겠습니다.
어떻게 해야 이 문제를 해결할 수 있을까요?
좀 알아보니 1.1.1.1은 DHCP서버의 기본 주소더군요.
https://superuser.com/questions/970371/what-is-1-1-1-1-why-does-it-work-for-traceoute-but-not-ping
DHCP 서버를 찾는다는건 NIC의 IP 할당이 자동으로 되어있는 상태에서 IP 할당을 못 받았다는 뜻이고,
IP 할당을 못받았으니 발신지 IP가 없는거겠죠.
(발신자 IP는 없어도 MAC 주소는 적혀 나가므로 해당 MAC주소로 DHCP 서버가 IP를 할당해서 회신합니다.)
리눅스 VM의 NIC 설정에서 IP를 수동으로 할당하시는게 좋겠습니다.
제가 현재 상황에 대해서 부족하게 설명한거 같습니다 ㅜㅜ
현재 제 가상 스위치에는 dhcp서버가 없어서 전부 수동 ip로 설정된 상태입니다. 1.1.1.1로 ping날린것도 제가 수동으로 친건데 이것도 설명을 까먹어서 혼란스럽게 해버렸네요.
저도 1.1.1.1에 대해서 알아보니 dns서버로 목적이 바뀐게 작년이더라구요. 알려주신 글은 15년도에 작성된거라 당시엔 연구 목적으로 사용했던거 같습니다.
아무튼 아무 답변도 안 달릴 줄 알았는데 신경써주셔서
정말 감사합니다!!
기본적인 부분을 다시 체크 해보는 수 밖에 없어 보입니다.