Criei uma instância do Ubuntu no Oracle Cloud Infrastructure (OCI) . Consigo me conectar a esta instância com SSH (TCP 22). Criei alguns serviços nesta instância, como daytime (TCP 13), mail (TCP 25), http (TCP 80), dns (TCP/UDP 53). Adicionei regras semelhantes à lista de segurança padrão na página da web de gerenciamento OCI desta instância semelhante à regra SSH padrão. No entanto, quando tento me conectar a qualquer um desses serviços da Internet, recebo um No route to host
erro. A única exceção é o serviço SSH que funciona sem problemas.
Depois ufw
de instalar nesta instância; no entanto, depois desativei e removi ufw
. Depois disso, removi o iptables
pacote também. Portanto, agora não há firewall Linux. No entanto, ainda tenho esse problema.
Este parece ser um problema relacionado ao OCI. Eu fiz configurações semelhantes em outras plataformas de nuvem (AWS, GCP, etc.) sem nenhum problema.
Onde mais posso procurar para isolar esse problema?
Atualização: remover o iptables e reiniciar resolveu o problema. Agora vou tentar reinstalar o iptables.
O problema parece estar relacionado ao OCI não querer que você use
ufw
no Ubuntu: https://docs.cloud.oracle.com/iaas/Content/knownissues.htm#ufwTenho que desativar ou remover
ufw
e editar o arquivo/etc/iptables/rules.v4
conforme descrito no link fornecido acima. Depois disso, para habilitar as novas regras, preciso executar:Parece que as
ufw
regras não surtem efeito em tal configuração e tenho que usariptables
. Esta não é, no entanto, uma maneira muito amigável de gerenciar as regras de firewall em um servidor Ubuntu na plataforma OCI.Encontrei esse problema com o Oracle Linux na nuvem Oracle. Possui um conjunto predefinido de regras de bloqueio. Então, eu estava conectando com sucesso a porta 22 (ssh), mas estava obtendo "No route to host" tentando conectar outras portas.
Você precisa abrir as portas individualmente:
Ex, para Docker:
Além disso, você precisa configurar a lista de segurança para a rede virtual na nuvem.
Adicione as linhas abaixo
Estas são as etapas exatas que funcionaram para mim, com base na resposta do FedKad à sua postagem original ...
As seguintes etapas extras foram necessárias na nuvem Oracle para abrir portas no Ubuntu 20 :
sudo vim /etc/iptables/rules.v4
(ou qualquer editor que você use)Após a linha
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
, insira:-A INPUT -p tcp -m state --state NEW -m tcp --dport 1234 -j ACCEPT
(mude o número da porta que precisa ser aberta!)
sudo su -
iptables-restore < /etc/iptables/rules.v4
exit
nc -zvw100 THE_IP_ADDRESS_OF_MACHINE_WHOSE_PORT_WE_OPENED THE_PORT_NUMBER
Pode ser na rede ou na instância do Linux. E se for no Linux, pode ser o iptables ou o serviço.
Para começar com o último, e porque você tem e-mail, tente na caixa do Linux:
Você vê 220, 250 e 221 mensagens? Então seu serviço de correio funciona. Se você obtiver
Connection refused
, seu serviço não está funcionando.Em seguida,
iptables -nvL
deve informar se as portas estão abertas para o mundo exterior. Se você não conseguir obter cara ou coroa na saída,deve parar o iptables, o que para um teste pode ser aceitável. Você disse que se livrou de
ufw
, então presumosudo ufw disable
que não será mais necessário.Se, com o iptables fora do caminho, você ainda não conseguir se conectar, provavelmente é uma configuração na nuvem da Amazon, com a qual não tenho experiência.