
Estou tentando direcionar o tráfego do cliente para um cluster Kubernetes NodePort escutando em 192.168.1.100.30000 (porta https).
O cliente precisa fazer uma solicitação para 192.168.1.100.8000, então adicionei a seguinte regra REDIRECT no iptables:
iptables -t nat -I PREROUTING -p tcp --dst 192.168.1.100 --dport 8000 -j REDIRECT --to-port 30000
iptables -t nat -I OUTPUT -d 192.168.1.100 -p tcp --dport 8000 -j REDIRECT --to-port 30000
No entanto, estou recebendo o seguinte erro:
# curl -vk https://192.168.1.100:8000/v1/api
* About to connect() to 192.168.1.100 port 8000 (#0)
* Trying 192.168.1.100...
* Connected to 192.168.1.100 (192.168.1.100) port 8000 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* NSS error -12263 (SSL_ERROR_RX_RECORD_TOO_LONG)
* SSL received a record that exceeded the maximum permissible length.
* Closing connection 0
curl: (35) SSL received a record that exceeded the maximum permissible length.
também tentou configurar o sistema remoto indicado emesserespondi e fiz uma solicitação para o mesmo endpoint e recebi o seguinte erro:
# ip netns exec remotesystem curl -vk https://192.168.1.100:8000/v1/api
* About to connect() to 192.168.1.100 port 8000 (#0)
* Trying 192.168.1.100...
* Connection timed out
* Failed connect to 192.168.1.100:8000; Connection timed out
* Closing connection 0
curl: (7) Failed connect to 192.168.1.100:8000; Connection timed out
Eu sei que o cluster Kubernetes tem políticas de rede aplicadas com calico crds, no entanto, adicionei um padrão permitir tudo à política de rede e o tráfego parece ainda estar suspenso.
Também verifiquei os logs do controlador de ingresso para ver se a solicitação chegou lá, mas não vi nenhuma saída de log ao fazer a solicitação.
O estranho é que o enrolamento direto da porta do nó https://192.168.1.100.30000/v1/api
funciona e recebo uma resposta bem-sucedida.
A pergunta é: por que o curling https://192.168.1.100:8000/v1/api (with the REDIRECT rule to 30000)
faz com que a solicitação seja interrompida?