동일한 인터페이스에서 들어오는 패킷의 소스 IP를 변경하고 이를 보는 방법은 무엇입니까?

동일한 인터페이스에서 들어오는 패킷의 소스 IP를 변경하고 이를 보는 방법은 무엇입니까?

서버 B에서 eth0을 수신하는 애플리케이션을 서버 B에서 실행하고 있습니다.

서버 A의 GTP 패킷이 있는데 소스 주소를 변경하고 싶습니다. 패킷의 GTP 계층에는 공용 IP(예: xxxx)가 있습니다. 소스 IP를 xxxx로 변경하고 싶습니다.

애플리케이션은 xxxx 시리즈를 예상하지만 헤더에 10.xxx가 있으므로 패킷을 삭제하고 연결 설정에 실패합니다.

10.xxx(소스)---->xxxx(대상)

포털에 몇 가지 해결책이 있다는 것을 알고 있지만 내 문제는 나가는 인터페이스가 없고 애플리케이션이 변경된 IP(예: eth0의 xxxx)만 수신하고 응답한다는 것입니다. 패킷을 어떻게 볼 수 있나요? 그리고 tcpdump?

나는 인터넷에서 다음과 같은 예제 규칙을 사용했습니다.

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to x.x.x.x

하지만 그건 내 목적에 부합하지 않습니다.

기본적으로 패킷은 gtp이며 지정된 인터페이스에서 나옵니다. 패킷은 gtp 계층의 공용 IP로 구성됩니다. 애플리케이션은 연결 요청 시 패킷 내에 존재하는 공용 IP를 찾기 때문에 지정된 소스 IP를 삭제합니다. 공용 IP를 src IP(연결 가능)로 할당할 수 있으면 연결이 설정되고 나가는 트래픽도 수정된 src IP를 응답으로 통과할 수 있으며 결국 연결이 설정됩니다.

패킷이 eth0에 도착하면 내 src IP를 GTP 계층에 존재하는 공용 IP로 변경하는 iptable 규칙을 가질 수 있습니까?

관련 정보