Welche Netzwerkprotokolle verwendet ein Postgres-Datenbankserver?

Welche Netzwerkprotokolle verwendet ein Postgres-Datenbankserver?

Ich habe einen Postgres 9.1-Server, der auf dem Standardport 5432 auf einem Ubuntu 12.04-Cloud-Server läuft.

Ich möchte den Port öffnen, damit ich Remoteabfragen durchführen kann. Dazu muss ich den Port jedoch für IP-Tabellen öffnen und dafür muss ich ein Protokoll angeben.Dieses Dokumenterwähnt kein TCP/UDP usw.

Welches Protokoll sollte ich in IP-Tabellen zulassen?

Antwort1

Das Protokoll ist einfaches TCP/IP.

Aus der Posgresql-Dokumentation über„Frontends“- und „Backends“-Protokoll:

PostgreSQL verwendet ein nachrichtenbasiertes Protokoll für die Kommunikation zwischen Frontends und Backends (Clients und Servern). Das Protokoll wird unterstützt überTCP/IPund auch über Unix-Domain-Sockets.Portnummer 5432wurde bei IANA als übliche TCP-Portnummer für Server registriert, die dieses Protokoll unterstützen, in der Praxis kann jedoch jede nicht privilegierte Portnummer verwendet werden.

Also bezüglichiptablesVerwenden Sie das tcpProtokoll, da Unix-Domain-Sockets nicht für die Verwendung über das Netzwerk vorgesehen sind.

iptablesBeispiel:

iptables <other_options> -p tcp -dport 5432 -j ACCEPT

Notiz:

Wie betont vonLekensteynist es besonders ratsam, SSL über diese Netzwerkverbindung zu aktivieren (siehe PostgreSQL-Dokumentation bezüglichmit TCP-over-SSL). DeriptablesIn diesem Fall würde sich die Regel nicht ändern: gleicher Port (5432), gleiches Protokoll (TCP).

Antwort2

Standardmäßig lauscht PostgreSQLt auf TCP-Port 5432. Verwenden Sie die folgenden iptables-Regeln, um eingehende Clientanforderungen zuzulassen (öffnen Sie Port 5432).

-A INPUT -p tcp --dport 5432 -s xxx.xxx.xxx.xxx -j ACCEPT

Dabei ist xxx.xxx.xxx.xxx die IP des Servers, von dem aus Sie sich verbinden, damit Sie Postgres nicht der ganzen Welt zugänglich machen.

Antwort3

-A INPUT -p tcp --dport 5432 -s xxx.xxx.xxx.xxx -j ACCEPT

Ändert dieser Befehl pg_hba?

verwandte Informationen