브리지의 특정 트래픽을 다른 포트로 리디렉션

브리지의 특정 트래픽을 다른 포트로 리디렉션

2개의 물리적 네트워크 인터페이스가 있는 장치가 있습니다. 이를 이라고 부르겠습니다 A. A두 번째 장치 B와 네트워크 에 연결합니다 .

B - A - network

A이제 포트 502의 모든 트래픽과 로컬 트래픽을 포트 5020으로 리디렉션 하고 싶습니다 A. 하지만 포트 502에서 포트 5020으로 모든 트래픽을 더 이상 리디렉션할 수 없습니다 A. 그래서 B:502그것은 에서 끝나지만 나는 단지 로 리디렉션 A:5020하고 싶습니다 .A:502A:5020

이것이 제가 다리를 만드는 방법입니다:

brctl addbr br0 
brctl stp br0 on

brctl addif br0 eth0 
brctl addif br0 eth1

ifconfig eth0 0.0.0.0 
ifconfig eth1 0.0.0.0

나는 다음 iptables규칙을 사용했습니다.

iptables -A PREROUTING -p tcp -m tcp --dport 502 -j REDIRECT --to-ports 5020

그리고

iptables -A OUTPUT -p tcp -m tcp --dport 502 -j REDIRECT --to-ports 5020

답변1

iptables규칙의 특정 인터페이스를 일치시키려면 -i규칙이 추가되는 테이블을 지정해야 합니다(예 nat: table:).

iptables -t nat -A PREROUTING -i <eth> -p tcp -m tcp --dport 502 -j REDIRECT --to-ports 5020
iptables -t nat -A OUTPUT -i <eth> -p tcp -m tcp --dport 502 -j REDIRECT --to-ports 5020

관련 정보