분명히, 구현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에서 어떻게 벗어나는지는 확실하지 않지만 저에게는 작동합니다. 충분히 좋고 작동합니다.