Итак, я использую AWS с использованием EC2, и я пытаюсь открыть порт для Postgresql. В AWS у меня уже есть это:
TCP
Port (Service) Source Action
0 - 65535 sg-92aadda2 (default) Delete
22 (SSH) 0.0.0.0/0 Delete
80 (HTTP) 0.0.0.0/0 Delete
5432 0.0.0.0/0 Delete
Когда я делаю netstat, похоже, что порт прослушивает:
# netstat -an | grep 5432
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
Когда я делаю localhost nmap, я получаю следующее:
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000010s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
5432/tcp open postgresql
И здесь, где начинается веселье. Когда я делаю nmap с альтернативного хоста, я получаю следующее:
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
5432/tcp closed postgresql
Я также посмотрел на мои iptables, чтобы увидеть, что что-то у меня пропало, но iptables выглядят пустыми (что должно означать, что они не очень много делают)
$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere 127.0.0.0/8 reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:postgresql
ACCEPT icmp -- anywhere anywhere
LOG all -- anywhere anywhere limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
DROP all -- anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DROP all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
Мне не хватает чего-то, потому что я не могу понять, как получить доступ к ip. Всякий раз, когда я пытаюсь, я получаю следующую ошибку:
Is the server running on host "xx.xx.xx.xx" and accepting TCP/IP connections on port 5432?
Как сделать так, чтобы я мог открыть порт, чтобы внешние серверы имели к нему доступ? Спасибо заранее =) Lemme знает, нужны ли вам дополнительные данные.
РЕДАКТИРОВАТЬ. Как уже было сказано ниже, я тестировал telnetting, и мне удалось подключиться к локальному хосту telnet, но при попытке извне я получаю:
$ telnet xx.xx.xx.xx 5432
Trying xx.xx.xx.xx...
telnet: Unable to connect to remote host: Connection refused
Кроме того, я дважды проверил, и я правильно смог установить telnet в ssh:
$ telnet xx.xx.xx.xx 22
Trying xx.xx.xx.xx...
Connected to xx.xx.xx.xx.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.1