Ubuntu 9.10 auf beiden Rechnern, Im Netzwerk
Server:192.168.1.101 und Client:192.168.1.61
auf 192.168.1.101 läuft postgres-Server
Kann mich nicht vom 198.192.1.61 per pgAdmin-III anmelden.
Es kommt KEINE Fehlermeldung, nur dass das Logo mit dem "X" bleibt.
Meine Fragen:
Muss ich mich mit dem pgAdmin als postgres verbinden?
Logisch wäre, dass ich mich als USER mit der gewünschten Datenbank (zb buchhaltung) verbinde, oder irre ich.
im Clint pgAdmin3 versuche ich die Verbindung mit:
SSL disable, MaintainasnceDB postgres, Username postgres, denn so wird es vorgeschlagen.
Auch versucht:
Am Server: sudo sudo -u postgres psql und createdb buchhaltung (hat geklappt)
und am Client pgAdmin3 versuche ich die Verbindung mit: SSL disable, MaintainasnceDB buchhaltung, Username philipp Service pgsql-8.4
Warum zeigt nmap im Server den Port 5432 nicht an, wohl aber im Client?
nmap localhost zeigt auf beiden PCs
5432/tcp open postgresql
Die Netzwerkverbindung ist intakt, da ich den Postgres-Server vom Client aus installiert habe.
Vielleicht kann mir jemand weiterhelfen.
Danke
Philipp
am 192.168.1.101 (Server): habe ich in /etc/postgresql/8.4/main/postgresql.conf
eingetragen:
listen_addresses = '192.168.1.101, 192.168.1.103, 192.168.1.104, 192.168.1.11, 192.168.1.99, 192.168.1.61, 192.168.1.52, 192.168.1.88'
und
port = 5432 #war 5433 ist aber auch nicht gegangen
und in /etc/postgresql/8.4/main/pg_hba.conf habe ich eingetragen:
# hostssl ALL ALL 192.168.1.0/24 md5 #Versuch von früher
hostnossl ALL ALL 192.168.1.61/24 md5
am Server:$ nmap 192.168.1.61
Starting Nmap 5.00 ( Nmap - Free Security Scanner For Network Exploration & Security Audits. ) at 2010-01-21 19:24 CET
Interesting ports on Beatrice (192.168.1.61):
Not shown: 998 closed ports
PORT STATE SERVICE
139/tcp open netbios-ssn
445/tcp open microsoft-ds
Da sehe ich keinen offenen Port 5432 !!!!!!!!!!!!
Dennoch: Am Client:
$ nmap 192.168.1.101
Starting Nmap 5.00 ( Nmap - Free Security Scanner For Network Exploration & Security Audits. ) at 2010-01-21 19:29 CET
Interesting ports on 192.168.1.101:
Not shown: 993 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
139/tcp open netbios-ssn
445/tcp open microsoft-ds
5432/tcp open postgresql
5900/tcp open vnc
Server hat also hinten 101.
Nein.auf 192.168.1.101 läuft postgres-Server
Kann mich nicht vom 198.192.1.61 per pgAdmin-III anmelden.
Es kommt KEINE Fehlermeldung, nur dass das Logo mit dem "X" bleibt.
Meine Fragen:
Muss ich mich mit dem pgAdmin als postgres verbinden?
Jein. Das regelt die pg_hba.confLogisch wäre, dass ich mich als USER mit der gewünschten Datenbank (zb buchhaltung) verbinde, oder irre ich.
Wo?im Clint pgAdmin3 versuche ich die Verbindung mit:
SSL disable, MaintainasnceDB postgres, Username postgres, denn so wird es vorgeschlagen.
Dort kommt nur die rein, die der Server selbst hat.Auch versucht:
Am Server: sudo sudo -u postgres psql und createdb buchhaltung (hat geklappt)
und am Client pgAdmin3 versuche ich die Verbindung mit: SSL disable, MaintainasnceDB buchhaltung, Username philipp Service pgsql-8.4
Warum zeigt nmap im Server den Port 5432 nicht an, wohl aber im Client?
nmap localhost zeigt auf beiden PCs
5432/tcp open postgresql
Die Netzwerkverbindung ist intakt, da ich den Postgres-Server vom Client aus installiert habe.
Vielleicht kann mir jemand weiterhelfen.
Danke
Philipp
am 192.168.1.101 (Server): habe ich in /etc/postgresql/8.4/main/postgresql.conf
eingetragen:
listen_addresses = '192.168.1.101, 192.168.1.103, 192.168.1.104, 192.168.1.11, 192.168.1.99, 192.168.1.61, 192.168.1.52, 192.168.1.88'
kapotte Angabe... CIDR sieht anders ausund
port = 5432 #war 5433 ist aber auch nicht gegangen
und in /etc/postgresql/8.4/main/pg_hba.conf habe ich eingetragen:
# hostssl ALL ALL 192.168.1.0/24 md5 #Versuch von früher
hostnossl ALL ALL 192.168.1.61/24 md5
Dem Server ist egal, was der Client prostituiert.am Server:$ nmap 192.168.1.61
Warum auch?Starting Nmap 5.00 ( Nmap - Free Security Scanner For Network Exploration & Security Audits. ) at 2010-01-21 19:24 CET
Interesting ports on Beatrice (192.168.1.61):
Not shown: 998 closed ports
PORT STATE SERVICE
139/tcp open netbios-ssn
445/tcp open microsoft-ds
Da sehe ich keinen offenen Port 5432 !!!!!!!!!!!!
Dennoch: Am Client:
$ nmap 192.168.1.101
Starting Nmap 5.00 ( Nmap - Free Security Scanner For Network Exploration & Security Audits. ) at 2010-01-21 19:29 CET
Interesting ports on 192.168.1.101:
Not shown: 993 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
139/tcp open netbios-ssn
445/tcp open microsoft-ds
5432/tcp open postgresql
5900/tcp open vnc
Da läuft einiges falsch. In Deinem Kopf. Ich hab grad leider nicht wirklich Zeit, das alles zu erklären, das ist einfach zu viel und ich muß mein Kind ins Bett schaffen jetzt ...
Andreas
Andreas
--
PostgreSQL Hosting
http://www.amazon.de/gp/registry/2APKFICAIYMWBads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
https://www.xing.com/profile/Andreas_Kretschmer7
Kann es sein, dass du ein paar Sachen zum Thema "Netzwerk" verwechselst?
Damit sagst du der Datenbank, sie soll auf die eigene IP des Clients hören und dort Verbindungen annehmen? Das ist falsch. Richtig wäre eine Einstellung wie "192.168.1.101, 127.0.0.1" oder "192.168.1.101". Dort gehören nur die IP-Adressen des Servers hinein, auf denen die Datenbank Verbindungen annehmen soll.am 192.168.1.101 (Server): habe ich in /etc/postgresql/8.4/main/postgresql.conf
eingetragen:
listen_addresses = '192.168.1.101, 192.168.1.103, 192.168.1.104, 192.168.1.11, 192.168.1.99, 192.168.1.61, 192.168.1.52, 192.168.1.88'
Natürlich nicht. Laut deiner Aussage ist 192.168.1.61 der Client, von dem du dich verbindest. Da läuft natürlich keine Datenbank! Also wird dort auch (hoffentlich) kein offener Datenbankport gefunden.am Server:$ nmap 192.168.1.61
Starting Nmap 5.00 ( Nmap - Free Security Scanner For Network Exploration & Security Audits. ) at 2010-01-21 19:24 CET
Interesting ports on Beatrice (192.168.1.61):
Not shown: 998 closed ports
PORT STATE SERVICE
139/tcp open netbios-ssn
445/tcp open microsoft-ds
Da sehe ich keinen offenen Port 5432 !!!!!!!!!!!!
Übrigens machen mehrere ! die Sache auch nicht besser, bitte lies doch zusätzlich mal nach, was der Begriff "Plenken" bedeutet.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
ja, das stimmt, mir ist da etwas nicht klar (bin halt doch nur ein halb- oder viertel-gebildetern Linuxfreek)
Ich dachte: Die beiden Configurationsdateien bestimmen am Server, wer sich dort mit der Datenbank verbinden darf.
Es scheint aber so zu sein, dass die postgresql.conf am Server bestimmt, auf welchem Port zu hören ist und die pg_hba.conf das Clientverhalten steuert.
stimmt das?
in der pg_hba.conf am Client steht:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident
# IPv4 local connections:
host all all 127.0.0.1/32 md5
#wal
host all all 192.168.1.101/24 md5
# IPv6 local connections:
host all all ::1/128 md5
Das sollte doch stimmen, oder?
Habe die Anleitungen wohl noch nicht richtig verstanden
Client-Authentifizierung
Danke für Tips
ÜPhilipp
Stop. Auch diese Datei gehört auf den Server. Sie bestimmt, wer sich mit dem Server verbinden darf. Sie regelt auch, wie sich diejenigen, die sich verbinden, der Datenbank gegenüber zu identifizieren haben, und welche Datenbanken sie benutzen dürfen. Solch Angaben machen auf einem Client, der sich selber anmelden will, wohl wenig Sinn, oder?
Nein, nicht ganz. Bei den IP-Adressen wird eine CIDR-Adresse erwartet. Wenn Du z.B. allen Rechnern im Netz 192.168.1.* (also von 0 bis 255) Zugriff geben willst, so lautet die Adresse dann 192.168.1.0/24 oder 192.168.1.0/255.255.255.0. Willst Du nur einem bestimmten Host zulassen, z.B. 101, dann so: 192.168.0.101/32 oder 192.168.1.101/255.255.255.255. Eine Angabe wie 192.168.1.101/24 wird (vermutlich) auch das ganze Netz 192.168.1.* betreffen.# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident
# IPv4 local connections:
host all all 127.0.0.1/32 md5
#wal
host all all 192.168.1.101/24 md5
# IPv6 local connections:
host all all ::1/128 md5
Das sollte doch stimmen, oder?
Habe die Anleitungen wohl noch nicht richtig verstanden
Client-Authentifizierung
Danke für Tips
ÜPhilipp
--
PostgreSQL Hosting
http://www.amazon.de/gp/registry/2APKFICAIYMWBads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
https://www.xing.com/profile/Andreas_Kretschmer7
pnphilipjoserichard: Ohne unhöflich sein zu wollen, könntest du dich etwas mit der Dokumentation beschäftigen?
Es gibt ein sehr gutes Online Handbuch und es gibt mehrere gute Bücher zu dem Thema auf der PostgreSQL-Seite. Für Unix Netzwerkgrundlagen gibt es sowieso Dokumentation und Bücher wie Sand am Meer.
Alternativ darfst du in eine meiner Schulungen kommen ;-)
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Danke für die Hilfe
Schreibe kurz zusammen, was mir geholfen hat, das Problem zu lösen, für die nmchsten armen geplagten Postgresql-Seelen
1. die beiden Konfigurationsdateien postgresql.conf und pg_hba.conf sind am Server. Beide steuern das Serververhalten.
Habe sie allerdings am Server 2 x gefunden
/opt/PostgreSQL/8.4/data/postgresql.conf
/opt/PostgreSQL/8.4/data/pg_hba.conf
und
/etc/postgresql/8.4/main/postgresql.conf
/etc/postgresql/8.4/main/pg_hba.conf
(das waren die richtigen)
Durch Versuche habe ich herausgefunden, welche Configurationsdateien die richtigen sind.
Zunächst am Server durch auskommentieren der Zeile für localhost.
Als dann der lokale Zugriff auf die Datenbank nicht mehr ging, war klar, welche Datei zuständig ist.
Eigentlich war das Hauptproblem wie so oft bei solchen Einstellungen, das man nicht konsequent genug vorgeht und herumprobiert, an verschiedenen "Schrauben" dreht aber nur eine einzige Kombination von Einstellungen die richtige ist.
2. Der Eintrag in pg_hba.conf : host all all 192.168.1.0/24 md5
für mein Netzwerk
Da war die Antwort von akretschmer hilfreich:
3. sudo /etc/init.d/postgresql-8.4 restartBei den IP-Adressen wird eine CIDR-Adresse erwartet. Wenn Du z.B. allen Rechnern im Netz 192.168.1.* (also von 0 bis 255) Zugriff geben willst, so lautet die Adresse dann 192.168.1.0/24 oder 192.168.1.0/255.255.255.0. Willst Du nur einem bestimmten Host zulassen, z.B. 101, dann so: 192.168.0.101/32 oder 192.168.1.101/255.255.255.255.
nach dem Ändern der Konfigurationsdateien
Danke, es klappt, habe nun remote Zugriff auf die Datenbank.
Jetzt geht's aber erst richtig los ;-)
Danke für das Angebot zur Schulung.
Ich arbeite seit 20 Jahren mit der Datenbank Informix, habe mir mein Praxis-Organisations-Programm in weiten Teilen selbst geschrieben. Bin aber Arzt und kein Programierer. Mit den SQL-Befehlen aus dieser Zeit (1989) kenne ich mich aus. Allerdings scheint inzwischen doch Einiges neu hinzugekommen zu sein. Das muss ich nun auch lernen.
Einen erfolgreichen Tag
Philipp
Geändert von pnhilippjosefrichard (22.01.2010 um 14:17 Uhr)
undCode:SHOW config_file;in der Datenbank hätten dich ohne Probieren zum Ergebnis geführt.Code:SHOW hba_file;
Das steht aber in der Dokumentation.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen