我有一台同时启用了 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>
只是一个问题,如果我们使用它作为守护进程服务,是否会有任何安全问题或影响?