하나의 호스트, 서로 핑할 수없는 두 개의 가상 머신. 해결하는 방법 운영하고 있습니다. 하나는 개발

우리는 KVM환경 내에서 가상 머신을 운영하고 있습니다. 하나는 개발 서버로 실행되는 dev 서버로 Apache, 다른 하나는 Windows개발 환경으로 설정했습니다.

두 환경이 설정되어 있고 제대로 실행되고 있습니다. 그러나 서로 핑할 수는 없습니다. 이것에 대한 명확한 해결책이 있는지 궁금합니다.

이것이 일어나고있는 일입니다.

호스트에서 :

  Cannot ping either of 2 VM's (one `Linux`, one `Windows`)

VM 중 하나에서 :

  Cannot ping host
  Cannot ping each other

다른 네트워크 컴퓨터 (예 : 회사 네트워크 내 노트북)

  Successfully ping host at 192.168.0.64
  Successfully ping VM1 (Linux) 192.168.0.43
  Successfully ping VM2 (Windows) 192.168.0.84



답변

KVM 환경 외부에서 호스트와 두 VM을 핑 (ping) 할 수 있으므로 머신이 브리지 모드로 통신하고 있음이 분명합니다.

문제는 커널의 스푸핑 방지 보호 기능으로 호스트의 IP 주소 이외의 대상으로 패킷을 삭제하는 것입니다.

런타임의 경우 호스트 서버의 명령 행에서이를 수행하십시오.

 sudo sysctl -w net.ipv4.conf.default.rp_filter=0
 sudo sysctl -w net.ipv4.conf.all.rp_filter=0

부팅 후에도 다음 줄을 추가하십시오 /etc/sysctl.conf:

 net.ipv4.conf.default.rp_filter=0
 net.ipv4.conf.all.rp_filter=0

에 대한 의견에서 /etc/sysctl.conf(약간 변경됨) :

rp_filter : 스푸핑 방지 (역경로 필터)를 활성화합니다.

일부 스푸핑 공격을 방지하기 위해 모든 인터페이스에서 소스 주소 확인


답변

일반적으로 연결 유형은 내가 아는 한 NAT 여야합니다. 따라서 마우스 설정에서 특정 VM을 마우스 오른쪽 버튼으로 클릭하면 네트워크 유형을 변경할 수 있습니다.

추신 : 근거리 통신망에서 컴퓨터가 핑되지 않도록 숨기는 것은 특히 불가능하다고 생각합니다. 그러나 그만한 가치가 있습니다.


답변