Подтвердить что ты не робот

Открытый порт в Ubuntu

Итак, я использую 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
4b9b3361

Ответ 1

Измените /etc/postgresql/<version>/main/postgresql.conf и установите listen_addresses на свой исходящий интерфейс или все. Перезапустите postgresql: sudo service postgresql restart.

Ответ 2

Это работает для меня последний метод (thux ​​Julio):

Изменить: postgresql.conf

sudo nano /etc/postgresql/9.3/main/postgresql.conf

Включить или добавить:

listen_addresses = '*'

Перезапустить механизм базы данных:

sudo service postgresql restart


Кроме того, вы можете проверить файл: pg_hba.conf

sudo nano /etc/postgresql/9.3/main/pg_hba.conf

И добавьте адрес своей сети или хоста:

host all all 192.168.1.0/24 md5