라우팅 및 패킷 맹글링

라우팅 및 패킷 맹글링

한 서브넷에서 다른 서브넷으로 한 홉 이상 떨어진 패킷을 가져오려고 합니다. 예를 들면 다음과 같습니다.

[ 192.168.0.4 ] - - - > [ 192.168.10.11 ] - - - > [ 172.23.100.13 ]

192.168.0.4를 172.23.100.13에 연결하고 싶지만 문제는 다음과 같습니다.

# ip route add 172.23.100.13/32 via 192.168.10.11
Error: Nexthop has invalid gateway.

제가 이해하는 바에 따르면, Error: Nexthop has invalid gateway."192.168.10.11이 귀하가 사용 중인 네트워크인 192.168.0.0/24 네트워크에 없기 때문에 그렇게 할 수 없습니다."라는 뜻입니다.

내 질문은 이것이 iptables 규칙으로 가능한지 여부입니다. 가능하다고 생각하지만 아직 작업을 수행할 수 없습니다. 몇 가지 내용을 읽은 후 172.23.100.13으로 가는 패킷을 192.168.10.11로 보내도록 PREROUTING nat 규칙을 설정하려고 했습니다.

# iptables -t nat -A PREROUTING -d 172.23.100.13 -j DNAT --to-destination 192.168.10.11

불행히도 아무 일도 일어나지 않습니다. 디버깅 방법을 잘 모르겠습니다. 나는 시도했다:

# iptables -t nat -A PREROUTING -d 172.23.100.13 -j LOG

하지만 로그에는 아무 것도 나타나지 않습니다

나는 또한 tcpdump를 시도했습니다:

tcpdump -i <interface> -vv | egrep '(172.23.109.13|192.168.10.11)’ &

하지만 다음과 같은 반복 줄만 얻습니다.

192.168.0.4.43898 > 172.23.100.13.8000: Flags [S], cksum 0x2374 (incorrect -> 0xa00f), seq 573960788, win 62727, options [mss 8961,sackOK,TS val 1537225626 ecr 0,nop,wscale 7], length 0

이것이 올바른 접근 방식입니까? 무엇을 확인해야 할지에 대한 단서가 있나요?

감사합니다!

답변1

나는 이 퍼즐에서 빠진 조각을 발견했습니다. 네트워크용 VXLAN 인터페이스가 있기 때문에 기계 192.168.10.11는 패킷을 보낼 수 있습니다 . 따라서 두 네트워크로 라우팅하려면 두 네트워크를 머신에 연결해야 한다는 기본 요구 사항으로 돌아갑니다.172.23.100.13172.23.100.0/24

관련 정보