OpenWRT IPv6 방화벽 리디렉션 포트

OpenWRT IPv6 방화벽 리디렉션 포트

OpenWRT에서 IPv6 주소에 대해 수신 포트를 다른 포트로 리디렉션하는 방법을 아는 사람이 있습니까?

일반적인 글로벌 IPv6 주소에만 관련된 NAT가 없습니다.

내가 하려는 것은 여러 서버의 SSH 포트를 변경하는 것입니다. 내부적으로 임의의 포트 번호를 22로 리디렉션합니다. 로컬 네트워크의 경우 포트 22에 남아 있습니다.

예: [2345::1]:5000 -> OpenWRT -> [2345::1]:22

동등한 IPv4 NAT를 사용하는 경우 포트 전달을 통해 포트를 쉽게 구성할 수 있으므로 이 구성은 매우 간단합니다.

많은 감사

답변1

실제로 Linux ip6tables에서도 동일한 DNAT 기반 포트 전달을 사용할 수 있습니다. 가장 큰 차이점은 그렇지 않다는 것입니다.변화목적지 주소; 반면에 당신은 꼭 해야 할 일이 있어요성냥기존 주소에서

-t nat -I PREROUTING -d 2345::1 -p tcp --dport 5000 -j DNAT --to-destination [2345::1]:22

물론 IPv6를 사용하면 SNAT 기반 매스커레이딩이 필요하지 않지만, 이는 애초에 완전히 별개의 방화벽 규칙이므로 간단히 생략할 수 있습니다.

이것이 OpenWRT로 어떻게 변환되는지는 모르겠지만(패키지가 필요할 수 있다는 점 제외 kmod-ipt-nat6) 다음과 같은 것 같습니다.

config redirect
    option family ipv6
    option src wan6
    option src_dip 2345::1
    option proto tcp
    option src_dport 5000
    option target DNAT
    option dest_ip 2345::1
    option dest_port 22

답변2

현재 OpenWRT의 방화벽 3에서는 IPv6에 "구성 리디렉션"을 사용할 수 없는 것 같습니다.

그러나 다음 규칙을 사용하여 수동으로 달성할 수 있었습니다.

ip6tables -t nat -I PREROUTING -d IPV6_ADDRESS_HERE -p tcp --dport 5000 -j DNAT --to-destination [IPV6_ADDRESS_HERE]:22 ip6tables -A zone_wan_input -m conntrack --ctstate DNAT -j ACCEPT ip6tables -A zone_wan_forward -m conntrack --ctstate DNAT -j zone_(ZONE_NAME)_dest_ACCEPT

관련 정보