동일한 서브넷에서 머신 1에서 머신 2를 거쳐 머신 3으로 또는 그 반대로 트래픽을 라우팅하려면 어떻게 해야 합니까?

동일한 서브넷에서 머신 1에서 머신 2를 거쳐 머신 3으로 또는 그 반대로 트래픽을 라우팅하려면 어떻게 해야 합니까?

가상 머신을 실행하는 Citrix Xenserver가 있습니다. 거기에는 각각 2개의 네트워크 카드가 있는 3개의 VM이 있습니다. eth0관리에 사용하는 회사 LAN과 eth13개의 VM 모두에 있는 "단일 서버 개인 네트워크"입니다. 관리 인터페이스는 내 SSH 세션에서만 작동합니다.

내 가상 머신에 할당된 IP는 다음과 같습니다.

M1 = 192.168.0.1/24
M2 = 192.168.0.2/24
M3 = 192.168.0.3/24

M2에서는 IP 전달을 활성화했습니다.

echo 1 > /proc/sys/net/ipv4/ip_forward

M1에서 M2를 통해 M3으로 트래픽을 라우팅하려면 다음을 수행합니다.

ip route add 192.168.0.3 via 192.168.0.2 dev eth1

M3에도:

ip route add 192.168.0.1 via 192.168.0.2 dev eth1

그런데 경로를 추적하거나 M1에서 M3로(또는 그 반대로) 트래픽을 보내면 M2를 거치지 않고 바로 목적지로 가는 것 같습니다. 같은 서브넷에 있기 때문인가요? 동일한 서브넷에 있는 경우 이 라우팅을 달성하려면 Linux 상자에서 무엇을 해야 합니까?

답변1

회로망:

  1. Xen에 단일 서버 개인 네트워크를 만듭니다.
  2. machine1과 machine3을 각각 하나씩 추가합니다.
  3. 다음에 추가그 중 두 개는 machine2의 1단계에서 생성되었습니다..

기계 1:

ip addr add 1.1.1.2/24 dev eth1
ip route add 2.2.2.0/24 via 1.1.1.1 dev eth1 proto static

기계 3:

ip addr add 2.2.2.2/24 dev eth1
ip route add 1.1.1.0/24 via 2.2.2.1 dev eth1 proto static

머신 2(라우터):

ip addr add 1.1.1.1/24 dev eth1
ip addr add 2.2.2.1/24 dev eth2

시험:

ping 2.2.2.2 # machine1
ping 1.1.1.2 # machine3

관련 정보