Estoy intentando configurar mi servidor para que solo se pueda acceder al puerto 5432 (Postgres) desde localhost. Así que negué todo y agregué nuevamente el puerto 5432, sin embargo, no puedo conectarme a él.
Aquí está mi configuración de UFW:
$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), deny (outgoing), deny (routed)
New profiles: skip
To Action From
-- ------ ----
22 ALLOW IN Anywhere
80 ALLOW IN Anywhere
443 ALLOW IN Anywhere
127.0.0.1 5432 ALLOW IN 127.0.0.1
22 (v6) ALLOW IN Anywhere (v6)
80 (v6) ALLOW IN Anywhere (v6)
443 (v6) ALLOW IN Anywhere (v6)
80 ALLOW OUT Anywhere
22 ALLOW OUT Anywhere
443 ALLOW OUT Anywhere
53 ALLOW OUT Anywhere
33434:33524/udp ALLOW OUT Anywhere
127.0.0.1 5432 ALLOW OUT 127.0.0.1
80 (v6) ALLOW OUT Anywhere (v6)
22 (v6) ALLOW OUT Anywhere (v6)
443 (v6) ALLOW OUT Anywhere (v6)
53 (v6) ALLOW OUT Anywhere (v6)
33434:33524/udp (v6) ALLOW OUT Anywhere (v6)
Y netstat:
$ netstat -an | grep "LISTEN "
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN
tcp6 0 0 :::55056 :::* LISTEN
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 :::5432 :::* LISTEN
tcp6 0 0 :::443 :::* LISTEN
Solo para confirmar es realmente ufw lo que impide la conexión, ya que si lo desactivo funciona bien. ¿Alguna idea de lo que me estoy perdiendo?
Respuesta1
Desde su netstat, podemos ver que solo hay una mención del puerto 5432 (es decir, la línea tcp6 escuchando en :::5432
. Esto nos muestra que su programa solo está escuchando en IPv6
. Su Firewall solo lo permite IPv4
. Hay dos opciones, una es que usted permitir que la dirección IPv6 ::1
(que es el IPv6
equivalente de localhost) se conecte a ese servicio en su firewall, y la otra es hacer que su programa escuche IPv4
. Probablemente lo mejor sea hacer ambas cosas.