web-dev-qa-db-fra.com

Port ouvert dans Ubuntu

Donc, j'utilise AWS avec EC2 et j'essaie d'ouvrir un port pour Postgresql. Je l'ai déjà ouvert dans 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

Lorsque je fais netstat, il semble que le port écoute:

# netstat -an | grep 5432
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN

Lorsque je fais un nmap localhost, je reçois ce qui suit:

 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

Et voici où commence le plaisir. Quand je fais un nmap à partir d'un hôte alternatif, j'obtiens ce qui suit:

PORT      STATE  SERVICE
22/tcp    open   ssh
80/tcp    open   http
5432/tcp  closed postgresql

J'ai aussi regardé mes iptables pour voir s'il me manquait quelque chose, mais les iptables ont l'air vides (ce qui devrait signifier qu'ils ne font pas vraiment beaucoup)

$ 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

Est-ce que je manque quelque chose parce que je n'arrive pas à comprendre comment accéder à l'ip. Chaque fois que j'essaye, j'obtiens l'erreur suivante:

Is the server running on Host "xx.xx.xx.xx" and accepting TCP/IP connections on port 5432?

Comment faire pour que je puisse ouvrir le port afin que les serveurs externes y aient accès? Merci d'avance =) Laisse-moi savoir si tu as besoin de données supplémentaires.

EDIT: Comme demandé ci-dessous, j'ai testé le telnet, et j'ai pu établir une connexion telnet avec l'hôte local, mais lorsque j'essaie de l'extérieur, je reçois:

$ telnet xx.xx.xx.xx 5432
Trying xx.xx.xx.xx...
telnet: Unable to connect to remote Host: Connection refused

De plus, j’ai vérifié deux fois et j’ai pu correctement utiliser telnet en 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
20
Aram Papazian

Éditez /etc/postgresql/<version>/main/postgresql.conf et réglez le listen_addresses sur votre interface sortante ou sur toutes. Redémarrez postgresql: Sudo service postgresql restart.

36
TeTeT

Cela fonctionne pour moi la dernière méthode (thks Julio):

Modifier: postgresql.conf

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

Activer ou ajouter:

listen_addresses = '*'

Redémarrez le moteur de base de données:

Sudo service postgresql restart


En outre, vous pouvez vérifier le fichier: pg_hba.conf

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

Et ajoutez votre adresse réseau ou hôte:

Host all all 192.168.1.0/24 md5

27
angelous

Si vous avez édité postgresql.conf et main/pg_hba.conf et que vous rencontrez toujours un problème, veuillez essayer Vous pouvez également autoriser 5432/tcp à débloquer le port psql

1
kamasteve