
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>
걱정되는 점은 이것을 데몬 서비스로 사용하면 보안 문제나 영향이 있을까요?