Ipv6
有沒有辦法讓 NPTv6 在 Linux 上進行連接跟踪?
顯然,目前在 Linux 核心中的NPTv6 (IPv6 網路前綴轉換)的實現與連接跟踪不兼容。這非常令人失望,因為我覺得 NPTv6 比 NAT66 更明智的解決方案,當您從 ISP 獲得動態 IPv6 前綴並希望擁有穩定的內部 IPv6 地址時。
我當然不想做 NAT66,但也需要狀態防火牆,特別是考慮到 NPTv6 保留端到端連接,因此連接跟踪是必須的。
我的問題是,有沒有人知道任何更新檔/附加組件/變通辦法讓我在同一主機上擁有 NPTv6 和翻譯流的連接跟踪?
SNPT / DNPT 是專門為輕量級 NPTv6 創建的,專門在“mangle”表中完成,並且與連接跟踪不兼容。
如果使用連接跟踪,那麼就有一個 NETMAP 目標可以進行 IPv6 網路前綴轉換。因此,文件對此並不清楚,我懷疑是出於政治/宗教原因(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 有何不同,但它是對我來說已經足夠好了,而且它有效。