ipv4와 v6이 모두 활성화된 Linux SUSE 호스트가 있습니다. 인터페이스는 다음과 같습니다. - eth0, app, eth1. 그러나 기본 경로는 ipv4의 경우 eth0을 통해 사용할 수 있습니다. 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>
질문입니다. 이것을 데몬 서비스로 사용하면 보안 문제나 영향이 있습니까?