NPTv6이 Linux에서 연결 추적을 수행하도록 하는 방법이 있습니까?

NPTv6이 Linux에서 연결 추적을 수행하도록 하는 방법이 있습니까?

분명히, 구현NPTv6(IPv6 네트워크 접두사 변환)은 현재 Linux 커널에서 연결 추적과 호환되지 않습니다. ISP의 동적 IPv6 접두사가 있고 안정적인 내부 IPv6 주소를 원할 때 NPTv6이 NAT66보다 더 합리적인 솔루션이라고 생각하기 때문에 이는 매우 실망스럽습니다.

NAT66을 수행하고 싶지는 않지만 상태 저장 방화벽도 필요합니다. 특히 NPTv6이 종단 간 연결을 유지하므로 연결 추적이 필수입니다.

내 질문은, 동일한 호스트에서 NPTv6 및 번역 스트림에 대한 연결 추적을 허용하는 패치/추가 기능/해결 방법을 아는 사람이 있습니까?

답변1

SNPT/DNPT는 경량 NPTv6용으로 특별히 생성되었으며 "mangle" 테이블에서만 수행되며 연결 추적과 호환되지 않습니다.

연결 추적을 사용하는 경우 IPv6 네트워크 접두사 변환을 수행할 수 있는 NETMAP 대상이 있습니다. 따라서 이에 대한 문서는 명확하지 않습니다. 정치적/종교적인 이유로 의심됩니다(NETMAP 대상은 실제로 많은 사람들이 좋아하지 않는 NAT66의 한 형태입니다).

따라서 2607:xxx::/64외부 접두사, fda3:xxx::/64내부 접두사, eth0.99발신 인터페이스인 경우 다음을 수행합니다.

ip6tables -t nat -A POSTROUTING -o eth0.99 -j NETMAP --to 2607:xxx::/64 -s fda3:xxx::/64
ip6tables -t nat -A PREROUTING -i eth0.99 -j NETMAP -d 2607:xxx::/64 --to fda3:xxx::/64

이제 명확하게 말하면 NETMAP은 1:1 주소 변환(NAT)을 수행하지만 체크섬 중립성 측면에서 RFC6296을 따르는지 또는 RFC 호환 NPTv6에서 어떻게 벗어나는지는 확실하지 않지만 저에게는 작동합니다. 충분히 좋고 작동합니다.

관련 정보