
我有一台同時啟用了 ipv4 和 v6 的 Linux SUSE 主機,以下是介面:- eth0、app、eth1,但是預設路由可透過 eth0 用於 ipv4。 Kubernetes 運行在該主機(單節點)上,叢集採用 ipv6。我需要某種機制的幫助來從外部主機存取我的集群,那麼連接埠將我的請求從 localhost:port 轉發到 ipv6ClusterIP:port 是否有效?
下面的 ip 表規則不起作用
sudo ip6tables -t nat -A OUTPUT -p tcp --dport <localhost_port> -j DNAT --to-destination [ipv6_addr]:<port>
我已經嘗試過 socat ,但這不能是永久的解決方案,因為重啟場景也應該在這裡處理。
答案1
我能夠透過 socat 實現這一目標,
socat TCP-LISTEN:<localhost_port>,reuseaddr,fork TCP6:[ipv6 cluster IP]:<port>
只是一個問題,如果我們使用它作為守護程式服務,是否會有任何安全性問題或影響?