
우분투 서버의 IP 전달에 라우팅 문제가 있습니다.
내 우분투 서버(오래된 노트북)에는 VirtualBox가 설치되어 있고 많은 가상 머신이 있습니다. 각 가상 머신에는 서버의 물리적 wlan0 어댑터에 연결된 가상 네트워크 카드가 있으며, DHCP를 사용하도록 설정된 경우 홈 무선 라우터에서 IP 주소를 얻을 수 있습니다. 그래서 브리징이 잘 작동하는 것 같습니다.
무선 라우터는 서브넷 172.17.17.0/24에서 실행됩니다.
일부 가상 머신에는 실행 중인 애플리케이션으로 인해 변경하기 어려운 다른 서브넷에 고정 IP가 설정되어 있습니다. 두 개의 VM 서브넷이 있습니다.
172.17.40.0/24 192.168.195.0/24
나는 랩톱 호스트에 각 서브넷의 IP 주소를 제공하고 VM이 게이트웨이로 적절한 IP를 가리키도록 한 다음 호스트에서 IP 전달을 활성화하면 그들이 즐겁게 대화할 수 있다고 생각했습니다. 따라서 호스트는 wlan0에 다음 IP를 할당합니다.
172.17.17.100 172.19.40.1 192.168.195.1
이 설정을 사용하면 서브넷 172.19.40.0의 가상 머신이 서브넷 192.168.195.0의 가상 머신을 ping할 수 있으며 그 반대의 경우도 마찬가지입니다. 호스트는 이 두 서브넷 간에 IP를 행복하게 전달합니다. 이러한 서브넷의 가상 머신은 172.17.17.100의 서버를 ping할 수도 있습니다.
그러나 서브넷 172.19.40.0 또는 192.168.195.0의 가상 머신 중 어느 것도 172.17.17.254의 무선 라우터를 ping할 수 없습니다.
호스트의 구성에 뭔가가 누락된 것 같지만 각 서브넷의 VM이 서로 핑을 보내는 것과 두 서브넷의 VM이 세 번째 서브넷의 라우터를 핑하는 것 사이에는 차이가 없습니다. 물리적 장치 - 여전히 호스트에게 한 서브넷에서 다른 서브넷으로 IP를 전달하도록 요청하고 있습니다. 내가 놓치고 있는 차이점은 무엇입니까? !
도움을 주셔서 감사합니다.
시야
아래 차트는 명확성을 위해 편집되었습니다. 가상 머신, 호스트 및 라우터 간에 시도된 ping을 표시합니다.
답변1
자체 IP의 로컬 IP 주소 범위 내에 있지 않은 나가는 패킷을 허용하려면 브리지 호스트에 rp_filter가 있어야 합니다.
net.ipv4.conf.all.rp_filter=0
라우팅의 경우 문제는 라우터가 172.19.40.x 네트워크에 대해 알지 못하며, 패킷이 라우터에 도달하면 응답이 기본 게이트웨이(즉, 돌아오는 것이 아닌 알 수 없는 네트워크)를 통과한다는 것입니다.
라우터에서 경로를 정의해야 합니다(예:)
172.19.40.0 255.255.255.0 gw 172.17.17.100
그렇게 하면 답변이 호스트에게 반환됩니다.
다시 생각해 보면 이는 브리지되어 있기 때문에 정답이 아닐 수도 있으므로 라우터에 172.19.40.0 네트워크에 대한 보조 IP를 제공해야 합니다.
답변2
무선 라우터에 일부 경로를 추가해야 합니다.
- 172.17.17.100을 통해 172.19.40.0/24
- 172.17.17.100을 통해 192.168.195.0/24
무선 라우터 설명서로 가서 정적 라우팅을 수행하는 방법을 알아보세요. 나도 같은 문제가 있었는데, 라우터는 서로 다른 서브넷에 있었기 때문에 트래픽을 서버로 다시 보내는 방법을 몰랐습니다. 라우터에서 각 서브넷으로 돌아가는 경로를 만들어야 합니다.