INPUT 레벨의 포트 전달

INPUT 레벨의 포트 전달

INPUT 레벨에서 ipv6 패킷의 대상 포트를 변경하고 싶습니다.

그래서 INPUT 레벨에서 nat와 함께 ip6tables를 사용하려고 했습니다.

하지만 이 명령은 작동하지 않는 것 같습니다

# ip6tables -t nat -I INPUT ! -i br0 -p TCP --dport 8080 -j REDIRECT --to-ports 80
ip6tables v1.2.7a: Unknown arg `--to-ports'
Try `ip6tables -h' or 'ip6tables --help' for more information.

내 생각에는 iptable이 반환한 오류 외에 nat가 INPUT 수준에서 작동하지 않는 것 같습니다.

그렇다면 INPUT 수준에서 ipv6 패킷의 대상 포트를 변경하는 솔루션이 있습니까?

전달될 ipv6 패킷을 변경하고 싶지 않기 때문에 PREROUTING 수준에서 변경하고 싶지 않습니다(로컬 프로세스용 아님).

답변1

NAT는 INPUT 체인에서 작동하지 않습니다. 에서http://www.karlrupp.net/en/computer/nat_tutorial:

REDIRECT - 패킷을 로컬 시스템으로 리디렉션합니다.

DNAT의 특별한 경우는 REDIRECT입니다. 패킷은 라우터의 로컬 포트로 리디렉션되어 투명 프록시 등을 활성화합니다. DNAT의 경우 REDIRECT는 각각 PREROUTING 및 OUTPUT 체인 내에서 작동합니다.

패킷만 자신의 서버로 리디렉션하려면 규칙에 대상 IP 제한을 추가하세요(1.2.3.4는 로컬 IP임).

ip6tables -t nat -I PREROUTING ! -i br0 -p TCP -d 1.2.3.4 --dport 8080 -j REDIRECT --to-ports 80

관련 정보