postgres im netzwerk

ok, klingt echt gut

aber für einen Neuling wie mich sind das sieben Siegel.

Existiert irgednwo eine Anleitung oder ähnliches,

danke,

mathes

was ist ein buch mit sieben siegeln? die einrichtung eines tcp/ip netzwerkes oder der postgresql server?

du müsstest hier schon etwas genauer werden.

cu tb.

Hi,

also den ODBC Treiber von postgres/win habe ich installiert.

Wie greife ich nun von Rechner a auf den Rechner b zu, wo der postgresserver läuft.

Ich arbeite mit einer Software in dieser ist ein Tool implementiert von wo aus ich direkt auf die Postgres/Postgis Umgebung zugreifen kann und meine Geometriedaten laden kann. Wenn ich aber nun an einem Rechner sitze auf dem ebenso diese Software installiert ist möchte ich über das Netzwerk auch auf Postgres/Postgis zugreifen aber wie???

herzlichen Dank für deine Hilfe…

indem du in der odbc verbindung die ip deines postgresql servers angibst!?

cu tb.

Hallo Xandrian,

ok. das mit odbc habe ich gefunden- wunderbar.

Ich habe mir nun die pg_hba, pg_ident, postgresql und die slavedatabse etwas genauer
angesehen. Wenn ich von einem Fremdrechner auf den Postgresserver zugreife, muss ich ver-
mutlich irgendwo die Authentifizierung erteilen bzw. die ip anmelden aber wo???

Ich habe z.B. in der pg_hba folgendes geändert aber genützt hat es nichts.

TYPE DATABASE USER CIDR-ADDRESS METHOD

IPv4 local connections:

host all all 127.0.0.1/32 md5

IPv6 local connections:

host all all 168.0.0.0 trust


und in der pq_ident

MAPNAME IDENT-USERNAME PG-USERNAME

host all all 168.0.0.0 trust



Die Firewall ist aus aber ich kann trotzdem nicht mit einem Fremdrechner auf
die Datenabnk zugreifen.

Hilfe!!!


mathes

authentifizierst du dich auch mit einem benutzer und passwort?

was sagt die logdatei des servers?

sicher das eine firewall aus ist? gibt einige die sind hier etwas störrisch (z.b. trendmicro).

postgresql server nach den änderungen neugestartet?

cu tb.

wie gehe ich vor:

das Programm gibt mir eine Maske vor

host: 168.192.1.100 (meine Eingabe)
datenbank: geo (meine Eingabe)
eigentümer: mathes (meine Eingabe)
passwort: ******* (meine Eingabe)

Firewall ist sicher aus!!!

die Logdatei muss ich mir noch ansehen - gute Idee

computer wurde nach änderung der *.conf heruntergefahren…


mathes

Trad da mal die entsprechende Subnet-Masek ein und probier dann nochmal. Und schau gleichzeitig ins log. Die pg_ident müsste aber eigentlich verzichtbar sein. Wichtig ist die pg_hba

Domski

http://www.pg-forum.de/ftopic137.html

sollte helfen. offenbar haben viele postgres-neulinge (oder mysql-umsteiger) dasselbe problem wie ich… :slight_smile:

ts

Hey,

zu erst ein herzliches Dankeschön für die vielen Tipps, ich werde dies am Wochenende testen.

Danke!


Auf den Rat von Xandrian nun die Einträge aus der Logdatei:

2006-02-16 16:41:43 LOG: database system is ready
2006-02-16 16:41:43 LOG: transaction ID wrap limit is 1073742401, limited by database “mapbender”

2006-02-16 16:41:43 LOG: autovacuum: processing database “template1”

2006-02-16 16:42:46 LOG: invalid IP mask “trust” in file “C:/Programme/PostgreSQL/8.1/data/pg_hba.conf” line 69: Unknown host
2006-02-16 16:42:46 FATAL: missing or erroneous pg_hba.conf file

2006-02-16 16:42:46 HINT: See server log for details.
2006-02-16 16:42:46 LOG: autovacuum: processing database “mapbender”

2006-02-16 16:44:17 LOG: autovacuum: processing database “postgres”

2006-02-16 16:45:18 LOG: autovacuum: processing database “geo”


Ich denke, das die von mir mit ROT markiertev Zeile das Problem lokalisiert. Aber was ich nicht verstehe ist, dass der HOST eigentlich nicht unknown sein kann. Ich habe diesen über pgadmin eintragen lassen und ersteht auch wirklich drin!

schönen Gruss,

mathes

Gehe in Zeile 69 der pg_hba.conf. Dort fehlt die Subnet-Maske. Wie schon oben geschrieben. Steht doch sogar alles in der log-Message drin, nämlich genau deine rot markierte Zeile.

Hallo Liste,

zu meinem Netzwerkproblem:

1. pg_hba sieht folgendermassen aus

TYPE DATABASE USER CIDR-ADDRESS METHOD

IPv4 local connections:

host all all 127.0.0.1/32 md5

IPv6 local connections:

host all all 168.0.0.0 trust
host all all 168.192.0.0/255.255.0.0 md5

Wieviele Leerzeichen müssen eigentlich zwischen den Einträgen sein?
Habe ich die IP und die Submask richtig mit “/” getrennt?

2. Das Logfile

2006-02-21 15:02:19 LOG: could not receive data from client: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.


2006-02-21 15:02:19 LOG: unexpected EOF on client connection
2006-02-21 15:02:19 LOG: could not receive data from client: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.


2006-02-21 15:02:19 LOG: unexpected EOF on client connection
2006-02-21 15:03:17 LOG: autovacuum: processing database “geo”
2006-02-21 15:04:43 LOG: invalid IP mask “trust” in file “C:/Programme/PostgreSQL/8.1/data/pg_hba.conf” line 69: Unknown host
2006-02-21 15:04:43 FATAL: missing or erroneous pg_hba.conf file
2006-02-21 15:04:43 HINT: See server log for details.
2006-02-21 15:04:43 LOG: autovacuum: processing database “template1”
2006-02-21 15:05:04 LOG: invalid IP mask “trust” in file “C:/Programme/PostgreSQL/8.1/data/pg_hba.conf” line 69: Unknown host
2006-02-21 15:05:04 FATAL: missing or erroneous pg_hba.conf file
2006-02-21 15:05:04 HINT: See server log for details.
2006-02-21 15:05:11 LOG: invalid IP mask “trust” in file “C:/Programme/PostgreSQL/8.1/data/pg_hba.conf” line 69: Unknown host
2006-02-21 15:05:11 FATAL: missing or erroneous pg_hba.conf file
2006-02-21 15:05:11 HINT: See server log for details.

Wieso klappt die Verbindung nicht?

schönen Gruss und DANKE,

mathes

Hallo mathes,

Was hattest Du im ersten Artikel geschrieben?

… und habe auf meinen Win XP System PostgrSQL8.1 installiert. In unserem Netzwerk existieren zwei Rechner.

Zwei Rechner mit Win XP? Und die beiden Rechner kommunizieren mit dem tcp/ip-Protokoll miteinander? Und welche Ip-Adressen haben Deine Netzwerkkarten?

Entsprechen die Eintragungen in der pg_hba eigentlich Deiner Konfiguration der Betriebsysteme?



mfg

fristo

Beachte bitte das IPv4 und IPv6. Das sind keine gültigen IPv6-Adressen und ich gehe davon aus, das du das klassische IPv4 benutzt. Das mit dem Schräger ist schon ok, die andere Variante siehst du in meiner pg_hba.conf:

host    all         all         127.0.0.1     255.255.255.255   ident sameuser
host    all         all         10.17.1.1         255.255.255.0     password



Eins reicht. Ich nehm aber des besseren Handlings halber Tabulatoren.

Steht doch alles da :twisted:

Domski

Hallo

Rechner A:
ip: 168.192.1.100
sub:255.255.0.0

Rechner B:
ip: 168.192.1.150
sub:255.255.0.0


hilft dir das was?

schönen Gruss

Deine Rechner stehen in Pennsylvania? Spass beiseite, bist du sicher das du nicht 192.168.1.x meinst? Wenn ja, vergib Adressen aus den privaten Ranges:

10.0.0.0/8, 172.16.0.0/11 oder 192.168.0.0/16

Domski

Hallo mathes,

nochmals zu Deinem Netzwerkproblem.

Aus den Angaben der Netzwerkadressen kann ich entnehmen, dass die IP-Adressen der Netzwerkkarte explizit zugeteilt wurden. Andererseits hast Du aber auch Verbindung mit dem Internet. Kannst Du mal Deine Netzwerkkonfiguration beschreiben. Bei der Verbindung der beiden Rechner wird da ein HUB oder ROUTER verwendet oder sind die beiden Rechner nur mittels eines Kabels verbunden? Wenn nur mit einem Kabel, ist das ein spezielles Netzwerkkabel oder ein ganz normales?

Ob überhaupt eine Verbindung mit einen anderen Rechner zustande kommt kann man mit PING im DOS-Modus testen. Dazu gibt Du z.B folgenden Befehl ein:

ping 192.168.0.1

wobei die IP-Adresse nicht die eigene sondern die eines anderen Rechners ist.

Da Du mit WinXp arbeitest, solltest Du unter Netzwerkumgebung ==> Microsoft Windows Netzwerk die Namen der beiden Rechner sehen, oder, falls beide die gleiche Gruppe anwenden, unter ==> (??? Gruppe ???). In der Regel kann man auch dort “Drucker und Faxgeräte” und “Geplante Task” sehen, da diese defaultmäßig immer freigeschaltet sind.



mfg

fristo

Hallo Liste,

herzlichen Dank für eure Hilfe - jetzt funktioniert alles.

Meine beiden Rechner hatten die IP 168.192.x.x. Beide konnten über diese IP kommunizieren, egal ob win-win oder linux-linux oder win-linux. Selbst ein Ping hat wunderbar geklappt. Nachdem ich aber die IP auf 192.168.x.x geändert hatte, hat auch die Kommunikation mit Postgres funktioniert.

Was mich nur noch interessieren würde ist der Punkt warum die Postgreskommunikation unter der alten IP nicht funktioniert hat. Ich habe am pg_hba.conf nach der IP Umstellung ja nichts geändert.

Nochmals herzlichen Dank an Alle,

mathes

Ich kann mir das nich vorstellen, das du an der pg_hba.cnf nix geändert hast und genau das drin steht, was du gepostet hast. Naja, hab jetzt nicht nochmal intensiv drübergeschaut.

Normalerweise sollte der “falsche” IP-Bereich kein Problem darstellen, da zuallererst die Anfragen ins lokale Netz geschickt werden und nur wenn das nicht mit der Ziel-IP übereinstimmt wird eine Anfrage an das Gateway des Netzes geschickt. Ein Problem kriegst du nur, wenn du 216.239.39.0/24 als lokales Netz verwendest und irgendeinem Rechner dadrin die 216.239.39.104 verpasst. Dann wirst du google.de niemals erreichen können, da alle Anfragen an deinen lokalen Rechner gehen statt an google. Deshalb nur Adressen aus den speziell dafür reservierten bereichen im privaten LAN verwenden!

Was vielleicht bei deiner IP-Konfiguration noch schief hing, lässt sich schlecht sagen. Hauptsache es geht :wink: