Wie behandelt Linux virtuelle IPs?

Woodstock

Grand Admiral Special
Mitglied seit
04.05.2002
Beiträge
9.819
Renomée
252
Standort
Somewhere in Oberfranken
Problem ist folgendes.

Ich habe hier einen Server. Dessen Netzwerkarte hat z.b. die 192.168.10.50
Auf dem Server läuft mein Anwendungs System das z.b. die IP 192.168.10.52 hat.
Hintergund ist das sich die IP der Anwendung nicht ändert selbst wenn sie mal auf einem anderen Server läuft im Cluster läuft.
Die IP des Anwendungssystems ist auch bei uns im DNS entsprechend eingetragen.

Das Anwendungssystem baut eine Verbindung zu einem Prozess auf einem Linuxserver auf.
Gestern gab es da Probleme und ich wunderte mich warum auf dem Linux Server laut Logfile der Verbindungsversuch von der 192.168.10.50 gekommen ist und nicht von der 192.168.10.52.

Jetzt frage ich mich warum auf dem Linux Server die Adresse der Netzwerkarte im Logfile hat und nicht die IP des Anwendungssystems das die Verbindung aufbaut.
 
Meine laienhafte Erklärung wäre das bei Incoming intern von 50 auf 52 geroutet d.h. eigentlich gebridged wird aber wenn was rausgeschickt wird, geht alles über 50. Man kann die NIC halt nicht übergehen.
 
Zuletzt bearbeitet:
Was ist bei dir eine virtuelle IP und was ist ein Anwendungssystem? Sprichst du von virtualisierten Rechnern a la VMware?
 
Meine laienhafte Erklärung wäre das bei Incoming intern von 50 auf 52 geroutet d.h. eigentlich gebridged wird aber wenn was rausgeschickt wird, geht alles über 50. Man kann die NIC halt nicht übergehen.

Das würde die "falsche" IP im Logfile erklären.
Aber irgendwie macht das die Fehlerdiagnose bei Problemen nicht wirklich einfacher. Deswegen kann ich mir das nicht so wirklich vorstellen das dem so ist.


Was ist bei dir eine virtuelle IP und was ist ein Anwendungssystem? Sprichst du von virtualisierten Rechnern a la VMware?

Evtl drück ich mich ja etwas verkehrt aus aber ich meinte das mit virtueller IP:
http://de.wikipedia.org/wiki/Virtuelle_IP-Adresse


Stell es dir so vor. Ich habe meinen Server mit dem Betriebssystem. Da hat die Netzwerkkarte z.b. die 192.168.10.50.

Auf dem Server starte ich dann meine Anwendungssysteme. Z.b. ein Lagerverwaltungssystem. Dieses Lagerverwaltungssysten bekommt beim starten die z.b. 192.168.10.52.
Dann evtl. noch ein Wareneingangssystem das die z.b. 192.168.10.53 beim starten des Systems bekommt.
Diese IPs sind nur solange vorhanden wie die Anwendungssysteme laufen. Deswegen "virtuell".
Die IPs sind im DNS den entsprechenden Systemen zugewiesen.


Mein Anwendungssystem mit der IP 192.168.10.152 baut über einen Prozess eine Verbindung zu einem Prozess auf Linuxserver auf.
Und gestern fand ich im Logfile des Prozesses auf dem Linuxserver den Eintrag das er eine Verbindung von der 192.168.10.50 nich akzieptiert.
Dabei kommt die Verbindung aber von der 192.168.10.52.

Sieht Linux also anstatt der IP 192.168.10.52 von meinem Anwendungssystem die IP 192.168.010.50 der Netzwerkkarte?
Wenn ja macht das die Diagnose bei Problemen nicht einfacher.
 
Die Lagerverwaltung kann keine IP Adresse bekommen sondern nur die Netzwerkkarte eine weitere.

Die Anwendung muss sich dann natürlich auch auf diese IP Adresse binden.
Wenn Du das dort nicht extra konfigurierst hört die Anwendung auf allen IP Adressen.

Was mich aber schon ein wenig irritiert ist, dass Du ja über DNS die Anwendung ansprichst...

Wie erstellst Du die sekundäre IP?
"ip addr add xx.xx.xx.xx dev xxxx" oder anders?

lg
__tom
 
Die Lagerverwaltung kann keine IP Adresse bekommen sondern nur die Netzwerkkarte eine weitere.

Die Anwendung muss sich dann natürlich auch auf diese IP Adresse binden.
Wenn Du das dort nicht extra konfigurierst hört die Anwendung auf allen IP Adressen.

Was mich aber schon ein wenig irritiert ist, dass Du ja über DNS die Anwendung ansprichst...

Wie erstellst Du die sekundäre IP?
"ip addr add xx.xx.xx.xx dev xxxx" oder anders?

lg
__tom

Die Lagerverwaltung läuft unter OpenVMS :)
Fahren wir unsere Anwendung hoch ist die 2. IP vorhanden. Da wird dann wohl irgendwo in den Start Scripten die 2. auf die Netzwerkkarte "gelegt".
Die Anwendungssysteme sind wie die Server alle im DNS eingetragen damit auch die Windowskisten unserer Anwender sich mit der Terminalemulation verbinden können.

Was mich halt gewundert hat war das ich vorgestern 3 Stunden lang keine Verbindung vom Lagerverwaltungssystem zur Anlagensteuerung ( Linux Server ) bekommen habe.
Im Logfile auf dem Linux Server fand ich da nur immer wieder die Meldung das er eine Verbindung von der 192.168.10.50 nicht akzeptiert.
Das wiederum habe ich nicht so ganz verstanden weil mein Lagerverwaltungssystem ja gelaufen ist. Und das hat die die 192.168.10.52. Warum auf einmal der Verbindungsversuch von der 192.168.10.50??
Mein Kollege von der Linuxfront meinte das ist normal. Linux "sieht" und "nimmt" immer die Adresse von der Netzwerkkarte von der die Verbindung kommt.

Ich weiss nicht ob ich das so glauben soll. Weil sonst hätte ich ja dauernd Probleme mit der Verbindung.
 
Mein Kollege von der Linuxfront meinte das ist normal. Linux "sieht" und "nimmt" immer die Adresse von der Netzwerkkarte von der die Verbindung kommt.

Ich weiss nicht ob ich das so glauben soll. Weil sonst hätte ich ja dauernd Probleme mit der Verbindung.
Du brauchst es ihm nicht glauben ;)

Linux kann nur das "nehmen" was als source Adresse im ankommenden Paket steht.
Also das was der Ausgangsrechner dort rein schreibt.

Des Rätsels Lösung liegt also am Ausgangsrechner bzw. an der Lagerverwaltung unter VMS.

Keine Ahnung ob es wireshark für OpenVMS gibt aber das würde auf jeden Fall zeigen was sich auf der Leitung abspielt.
Sonstige Tool die die Links der Maschine inkl. Port und ProzessID anzeigen gibt es ja eh auch unter VMS. (Hab grad keine Maschine da wo ich das probieren könnte).

lg
__tom
 
Hi,

virtuelle IPs sind ja keine Seltenheit (an sich), unter Solaris halt IP Multipathing.
Die Frage an sich ist doch warum der Server der die Anfrage an die 192.168.10.50 stellt und nicht die 192.168.10.52 nimmt. Auf dem Zielrechner sehe ich da erstmal weniger ein Problem, wenn er nicht die Server steuer die die Anfrage stellen (aber das müsstet Ihr wissen). Das der Zielserver unter 192.168.10.50 sagt "Nenene mein Freund, Du kommst hier nicht rein" sollte normal sein (I Filter oder sonstwas).

Unter Solaris wäre snopp arp und Co mein Freund - und zwar auf dem Server der die Anfrage stellt - Wireshark wäre sicherlich besser ;). Könnte ja sein das der Quellrechner beim booten oder starten der App die 192.168.10.52 noch nicht kannte und deswegen die Software alles nach 192.168.10.50 schickt. Kann auch einfach nur ein flascher Routingeintrag sein. Hostroute auf 192.168.10.50 oder so (netstat -r IMHO)

Schönen Gruß
 
Zuletzt bearbeitet:
Du brauchst es ihm nicht glauben ;)

Linux kann nur das "nehmen" was als source Adresse im ankommenden Paket steht.
Also das was der Ausgangsrechner dort rein schreibt.

Des Rätsels Lösung liegt also am Ausgangsrechner bzw. an der Lagerverwaltung unter VMS.

Keine Ahnung ob es wireshark für OpenVMS gibt aber das würde auf jeden Fall zeigen was sich auf der Leitung abspielt.
Sonstige Tool die die Links der Maschine inkl. Port und ProzessID anzeigen gibt es ja eh auch unter VMS. (Hab grad keine Maschine da wo ich das probieren könnte).

lg
__tom


Typischer Fall von Brett vorm Kopf.
Es kann ja nur am Server liegen von dem die die Verbindung zum Linux Server aufgebaut wird. Danke fürs Augen öffnen :)
Ich werd mir da ab Dienstag mal das eine oder andere Script bei mir ansehen. Und wenn die Zeit dazu ab 6. November reicht in Böblingen bei HP da mal dazu ein paar Fragen stellen.

Weil es kann ja nicht sein das ohne das jemand was gemacht hat die Verbindung auf einmal mit der falschen Adresse aufgebaut wird.
Ich glaub fast das wir da den "Fehler" schon länger haben und der uns nur bis jetzt noch nicht auf die Füße gefallen ist.

Hi,

virtuelle IPs sind ja keine Seltenheit (an sich), unter Solaris halt IP Multipathing.
Die Frage an sich ist doch warum der Server der die Anfrage an die 192.168.10.50 stellt und nicht die 192.168.10.52 nimmt. Auf dem Zielrechner sehe ich da erstmal weniger ein Problem, wenn er nicht die Server steuer die die Anfrage stellen (aber das müsstet Ihr wissen). Das der Zielserver unter 192.168.10.50 sagt "Nenene mein Freund, Du kommst hier nicht rein" sollte normal sein (I Filter oder sonstwas).

Genau anders rum :)
Die z.b. 192.168.10.50 ist die Adresse der Netzwerkkarte in der Itanium Büchse. Die z.b. 192.168.10.52 die IP meines Anwendungssystems. Und von da wird die Verbindung zum Linux Server der z.b. die 192.168.100.10 hat aufgebaut. Und bei Linux sagte mir ein Prozess im Log file "192.168.10.50 du kommst hier nicht rein"

Unter Solaris wäre snopp arp und Co mein Freund - und zwar auf dem Server der die Anfrage stellt - Wireshark wäre sicherlich besser ;). Könnte ja sein das der Quellrechner beim booten oder starten der App die 192.168.10.52 noch nicht kannte und deswegen die Software alles nach 192.168.10.50 schickt. Kann auch einfach nur ein flascher Routingeintrag sein. Hostroute auf 192.168.10.50 oder so (netstat -r IMHO)

Schönen Gruß

Der "Quellrechner" hat logisch die 192.168.10.52 nach einem Booten noch nicht. Die virtuellen IPs ( Wir haben mehrere Anwendungssysteme auf dem Cluster laufen ) stehen erst zur Verfügung wenn wir unsere Anwendungssysteme hochfahren. Die werden manuell gestartet und nicht automatisch.

Aber alle Systeme waren am laufen als das passiert ist. Wie schon geschrieben. Ich denke das wird da wohl in einem Script nen Fehler haben der uns bis jetzt nur noch nicht auf die Füße gefallen ist.
 
Zurück
Oben Unten