다른 서브넷의 머신에서 VM의 웹 서버에 액세스

다른 서브넷의 머신에서 VM의 웹 서버에 액세스

다른 서브넷의 컴퓨터에서 KVM이 호스팅하는 가상 컴퓨터에서 실행 중인 웹 애플리케이션에 액세스할 수 없습니다.

따라서 192.168.1.2 머신(녹색 원의 오른쪽 상단)에서 가상 머신 192.168.10.1(빨간색 원의 중앙 하단)에서 실행되는 웹 애플리케이션에 액세스하고 싶습니다.

192.168.10.0/24에 대한 모든 요청이 호스트 시스템 192.168.1.1로 전달되도록 넷기어 라우터에 고정 경로를 추가했습니다.

호스트 시스템 자체에는 vmbr1 브리지 인터페이스를 통해 192.168.10.0/24로 요청을 전달하는 고정 경로가 있습니다.

  • 80 포트의 텔넷은 192.168.1.2에서 실패하고 호스트 시스템 192.168.1.1에서 성공했습니다.
  • 가상 머신에 대한 ping 호출은 192.168.1.2 머신에서 VM으로 작동합니다.
  • Traceroute가 실패했지만 -I 옵션을 추가하면 Traceroute도 작동합니다.

도움이나 단서를 제공해 주셔서 미리 감사드립니다.

추신: 방화벽이 비활성화되어 있어도 작동하지 않는다고 정확하게 말씀드립니다.

iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

물리적 머신 192.168.1.2에서 VM 머신 192.168.10.1로의 추적 경로 => KO

traceroute to 192.168.10.1 (192.168.10.1), 30 hops max, 60 byte packets
 1  192.168.1.254 (192.168.1.254)  2.390 ms  3.004 ms  3.436 ms
 2  * * *
 3  * * *
 ...
 30  * * *

VM 머신 192.168.1.2에서 물리적 머신 192.168.10.1 머신으로의 추적 경로 => OK

traceroute to 192.168.1.2 (192.168.1.2), 30 hops max, 60 byte packets
 1  192.168.10.254 (192.168.10.254)  0.846 ms  0.648 ms  0.519 ms
 2  192.168.1.2 (192.168.1.2)  5.447 ms  5.277 ms  4.977 ms

192.168.1.2 시스템에서 VM 시스템 192.168.10.1로 ping:

ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.
From 192.168.1.254: icmp_seq=1 Redirect Host(New nexthop: 192.168.1.1)
From 192.168.1.254 icmp_seq=1 Redirect Host64 bytes from 192.168.10.1: icmp_seq=1 ttl=63 time=2.77 ms
From 192.168.1.254: icmp_seq=2 Redirect Host(New nexthop: 192.168.1.1)
From 192.168.1.254 icmp_seq=2 Redirect Host64 bytes from 192.168.10.1: icmp_seq=2 ttl=63 time=2.56 ms

호스트 시스템에서는 경로가 잘 정의되어 있으며 이 호스트 시스템에서 아무런 문제 없이 VM의 웹 애플리케이션에 액세스합니다.

IP 경로 쇼

default via 192.168.1.254 dev eth0 
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.1 
192.168.10.0/24 dev vmbr10  proto kernel  scope link  src 192.168.10.254 
192.168.20.0/24 dev vmbr20  proto kernel  scope link  src 192.168.20.254 

네트워크 다이어그램

편집하다

RJ45 케이블을 사용하여 192.168.1.2 시스템(소스 시스템)을 라우터에 직접 연결하면 작동합니다. 이전에는 192.168.1.2가 Wi-Fi로 라우터에 연결되었습니다. 그래서 저는 Wi-Fi로 연결된 컴퓨터에 고정 경로를 잘 적용하지 않는 것이 이 라우터의 문제라고 생각합니다. 왜인지는 모르겠지만 이상하네요 :S

답변1

문제는 동일한 서브넷 192.168.1.0/24에 2개의 인터페이스가 있는 라우터를 사용하고 있기 때문입니다.

192.168.1.2 시스템은 기본 게이트웨이로 패킷을 보내고 있습니다. 나는 그것이 192.162.1.254, 즉 라우터라고 가정합니다.

그러나 라우터는 패킷의 다음 홉이 동일한 서브넷에 있는 다른 IP임을 확인하므로 ping 출력에 표시되는 리디렉션을 생성합니다.

라우터를 브리지나 스위치로 실행해야 합니다. 즉, KVM 192.168.1.1과 클라이언트 192.168.1.2가 모두 동일한 서브넷에 있으므로 경로가 필요하지 않으며 통신하는 데 라우팅 프로토콜이 필요하지 않습니다.

또한 이는 클라이언트 192.168.1.2의 올바른 기본 게이트웨이가 KVM 192.168.1.1이어야 함을 의미합니다.

그 밖에 KVM에 올바른 기본 게이트웨이를 사용하고 있는지 확인해야 합니다. 실제로 라우터입니까? 라우터는 여기에 그려진 것 이외의 다른 서브넷에 대한 액세스를 KVM 또는 클라이언트에 제공합니까?

관련 정보