
Editar: O problema surgiu porque nossas máquinas não tinham endereço IP externo e, portanto, o tráfego de saída estava passando pelo Cloud NAT, que estava configurado incorretamente (mínimo de conexões por VM)
Estou tendo problemas com uma máquina GCP que consegue se conectar a um servidor HTTP externo. Abaixo está uma linha do tcpdump
16:17:26.561616 IP 2.2.2.2 > 3.3.3.3.http: Flags [S], seq 1152634327, win 28400, options [mss1420,sackOK,TS val3415260604 ecr 0,nop,wscale 7], length 0
16:17:26.561736 IP 1.1.1.1 > 2.2.2.2: ICMP host 3.3.3.3 unreachable - admin prohibited filter, length 68
1.1.1.1 is a GCP gateway
2.2.2.2 is my machine on GCP
3.3.3.3 is the external server
Como posso saber qual máquina está aplicando a regra que bloqueia a tentativa de conexão?
Responder1
O GCP tem 2 regras implícitas declaradas nolink. A regra de saída implícita permite todo o tráfego de saída com a prioridade mais baixa (65535).
Eu repliquei o cenário e coloquei uma regra de firewall em meu projeto GCP (ufa é meu endereço de origem da VM do GCP) negando todo o tráfego de saída para um endereço externo específico (xxxx), consegui que TCPdump (realizado em minha instância) mostra novas tentativas de conexão:
Onde xxxx é um IP externo e vminstance é minha instância do GCP.
18:19:50.499009 IP vminstance.39728 > xxxx80: Flags [S], seq 1309572437, win 28400, opções [mss 1420,sackOK,TS val 323066870 ecr 0,nop,wscale 7], comprimento 0
18:19:51.527849 IP vminstance.39728 > xxxx80: Flags [S], seq 1309572437, win 28400, opções [mss 1420,sackOK,TS val 323067128 ecr 0,nop,wscale 7], comprimento 0
Dito isso, e em comparação com sua saída, você pode querer verificar as regras de firewall de rede/host remoto