Estou criando recursos usando terraform e tenho um nó na sub-rede 172.1.0.0 sem grupo de segurança ou regras atribuídas ao nó; o nó tem duas extremidades 22 e 80.
Usei o nmap para confirmar se as portas estão abertas e são elas:
nmap -Pn -sT -p T:11 some-ingress.cloudapp.net
Starting Nmap 6.47 ( http://nmap.org ) at 2016-07-08 19:02 EAT
Nmap scan report for some-ingress.cloudapp.net (1.2.3.4
Host is up (0.31s latency).
PORT STATE SERVICE
22/tcp open ssh
Nmap done: 1 IP address (1 host up) scanned in 1.34 seconds
nmap -Pn -sT -p T:80 some-ingress.cloudapp.net
Starting Nmap 6.47 ( http://nmap.org ) at 2016-07-08 19:02 EAT
Nmap scan report for some-ingress.cloudapp.net (1.2.3.4)
Host is up (0.036s latency).
PORT STATE SERVICE
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds
Instalei o nginx no nó e em execução e curl 172.1.0.4
recebo a página padrão do nginx.curl 127.0.0.1
curl 0.0.0.0
No entanto, executando curl <public ip>
ou curl <dns name>
trava e recebo um
curl: (56) Recv failure: Connection reset by peer
Minhas regras do iptables são:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:bootpc
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps
ACCEPT udp -- anywhere anywhere udp dpt:bootps
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Por que não consigo acessar o nginx no ip público do nó?
O nó está em uma rede virtual 172.1.0.0/16
e uma sub-rede de 172.1.0.0/24
posso postar as configurações do terraform, se necessário.
Pode haver várias razões para isso:
Normalmente, se você estiver usando um VPC, será necessário adicionar um gateway da Internet e configurar as tabelas de rotas associadas à sua sub-rede com uma rota que diz destino 0.0.0.0/0 enviar para igw.
Espero que isto ajude.