IPTABLES를 사용하여 특정 IP로 트래픽 전달 이것을 달성 할

3 대의 머신 (VM)을 다루고 있습니다 :-

A : -172.20.10.1 (클라이언트)

B : -172.20.10.2 (원본 서버)

C : -172.20.10.5 (리디렉션 서버)

이제 A가 B와 B를 방문하여 C로 전달하기를 원합니다.

나는 이것을 사용하여 이것을 달성 할 수 있었다 :-

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 172.20.10.5:80
iptables -t nat -A POSTROUTING -j MASQUERADE

그러나 이제는 172.20.10.2에 액세스하려고 할 때 하나의 IP (IE) 172.20.10.1에서 172.20.10.5에 대해서만이 작업을 수행하려고합니다. 이미 답변을 시도 했습니다 .

그리고 net.ipv4.ip_forward = 1예도 설정되어 있습니다.



답변

사전 라우팅에 다음을 추가하십시오.

-s 172.20.10.1/32,172.20.10.2/31,172.20.10.4/31


답변

유닉스 SE에 대한 크로스 포스트 사본에서 나는 다음과 같이 대답했다.

규칙과 일치하는 IP와 일치하는 항목을 추가하기 만하면됩니다.

iptables -t nat -A PREROUTING -s 172.20.10.1 -p tcp --dport 80 -j DNAT --to-destination 172.20.10.5:80

그리고 OP는 단순히 “이것은 작동하지 않습니다.”라고 말하면서 의견을 남겼습니다. 전달 된 트래픽이 없거나 다른 클라이언트의 트래픽이 계속 전달됩니까? …


답변