2개의 가상 머신이 있습니다. 하나는 클라이언트 역할을 하고 다른 하나는 서버 역할을 합니다. 서버 VM의 경우 다음 IP 주소를 설정했습니다.
sudo ifconfig enp0s8 192.168.0.73/24 up
클라이언트 VM의 경우 IP 주소를 다음과 같이 설정했습니다.
sudo ifconfig enp0s8 192.168.0.77/24 up
클라이언트와 서버가 모두 내부 네트워크의 동일한 서브넷에 있는지 확인하려고 합니다.
그런 다음 다음과 같이 클라이언트 VM에서 서버의 IP를 ping하려고 시도했습니다.
ping 192.168.0.73
그러나 나는 계속해서대상 호스트에 연결할 수 없습니다.실수
두 가상 머신에는 모두 2개의 네트워크 어댑터가 있습니다. 첫 번째 네트워크 어댑터는 호스트 전용 어댑터(두 가상 머신 모두 동일한 MAC 주소를 가짐)이고, 두 번째 네트워크 어댑터는 내부 네트워크 어댑터(두 가상 머신 모두 동일한 네트워크 이름과 MAC 주소를 가짐)입니다.
내가 뭘 잘못했나요?
답변1
당신이 잘못하고 있는 것은 두 컴퓨터가 동일한 MAC을 가지고 있다는 것입니다. 그러지 마세요. 동일한 네트워크의 다른 시스템에서 동일한 MAC-ID를 사용하면 놀랍고 예측할 수 없는 다양한 결과가 발생할 수 있습니다.
그래서 무슨 일이 일어나고 있는지 추측합니다.
- 핑 192.168.0.73
- 192.168.0.73의 MAC-ID는 무엇입니까? ARP 요청 수행
- 아! MAC-ID는 나만의 어댑터이므로 네트워크를 통해 보낼 필요가 없습니다.
- 내 어댑터에서는 192.168.0.73에 대한 ICMP 에코 요청을 받았지만 내 어댑터는 192.168.0.77입니다. 그래서 저는 이 요청에 응답하지 않겠습니다(탁구는 안 됩니다).
Linux(내가 아는 모든 운영 체제와 마찬가지로)는 ARP 캐시를 유지 관리하므로 다음 명령을 사용하여 해당 시스템의 IP 주소와 MAC ID 변환을 볼 수 있습니다.
arp -a