themadbrain
Goto Top

W2k3 Server vergisst Routingeinträge

Hallo.

Ich habe in eingen Netzwerken das Problem, dass speziell die Terminal-Server Routen vergessen, bzw. sie erst gar nicht lernen.

Aufbau des Netzwerks:

84f59746ae7da9e18a0c3643acd24d67-routing_prob

Der Cisco-Router enthält alle Routen, die die Rechner im LAN benötigen, somit auch die Route ins LAN2.

Wenn jetzt ein User auf dem Terminal-Server arbeitet und Daten zur Workstation im LAN2 (gesondert gesichertes LAN) kopiert, dann pumpt der alles in den Cisco Router und der muss es dann wieder zurück ins Netzwerk leiten und ist nach kurzer Zeit überlastet, weil er nur für WAN ausgelegt ist.

Komischerweise haben andere Server wiederrum kein Problem damit und übernehmen die Routen in ihre Tabellen.

Momentan halten wir uns damit über Wasser, dass wir die Routen für die Netzsegmente händisch nachtragen. Das ist aber keine zufriedenstellende Lösung.
Wäre riesig, wenn mir jemand helfen könnte.

Grüße
Matthias

Content-Key: 34818

Url: https://administrator.de/contentid/34818

Printed on: April 19, 2024 at 16:04 o'clock

Member: unzhurst
unzhurst Jun 26, 2006 at 08:32:58 (UTC)
Goto Top
Hallo Matthias,

wie trägst du die Routen ein? Über den route add Befehl mit Parameter -p?
Dann sollten sie eigentlich dauerhaft drin bleiben.

Wann genau verlieren die Terminalserver die Routen? Werden evtl. VPN Verbindungen
von den Server gewählt, die das Routing durcheinander bringen?

Gruß aus dem Badischen
Patrick
Member: TheMaDBrain
TheMaDBrain Jun 26, 2006 at 09:01:51 (UTC)
Goto Top
Hallo Patrick.

Danke für die schnelle Reaktion.
Nein, ich trage die Routen bewusst nicht permanent ein, weil sich in naher Zukunft die Netzwerkstruktur ändern wird. Und da die Rechner das eh alleine lernen sollten, möchte ich das Ganze auch nicht gerne manuell administrieren, da es sich auch nicht nur um einen Server und einen Standort handelt. Dafür könnten wir wen einstellen....

Die Server selber stellen keine VPNs her, sondern sind auf einen Dienst, z.B. Terminal Server, spezialisiert. Daher sollten sie nicht so vergesslich sein, bzw. nicht so stur sein und die Routen nicht lernen wollen. :-[

Grüße
Matthias
Member: unzhurst
unzhurst Jun 26, 2006 at 09:08:29 (UTC)
Goto Top
Hallo Matthias,

wie meinst du das mit Routen selbst lernen?
Ist auf den Terminalservern Routing & RAS bwz. RIP usw. aktiv, oder wie
sollen die Server die Routen lernen?
Ich hätte gesagt der Server schickt alles was er nicht durch seine eingetragenen
Routen abwickeln kann ans Default Gateway und fertig?! Oder täusche ich mich da?

Gruß
Patrick
Member: aqui
aqui Jun 26, 2006 at 09:15:46 (UTC)
Goto Top
Wo genau ist dein Terminalserver ?? Ist das der "geriffelte" Klotz mit dem Dreieck im "LAN" Segment ???
Normalerweise brauchst du auf diesem Server KEINE einzige Route eintragen es sei denn der Server ist selber Router und hat mehrere Netzwerkkarten. Das sieht aber laut deiner Zeichnung nicht so aus !
Zweitens lernen MS Endsysteme oder Server niemals Routen allein, automatisch oder dynamisch, das wäre auch gar nicht erforderlich und ist zudem eher kontraproduktiv (Performance) abgesehen davon das sie es ohne Zusatzsoftware auch gar nicht können !!!

Der Cisco sollte alle Routen in die LAN Segmente und ins WAN haben. Was ist der "Router und default Gateway für LAN2" für eine Maschine ???
Ist das auch ein dedizierter Router oder ein Layer 3 Switch ???
Wenn er das ist, sollte dieser für alle Geräte im LAN und LAN 2 das default Gateway sein und selber eine default Route auf den Cisco eingetragen haben, der wiederum natürlich eine statische Route ins LAN2. Das statische Routen kann man sich sparen wenn du auf "Cisco" und "Router und default Gateway für LAN" ein dynamisches Routing Protokoll ala RIP, RIP2 oder OSPF laufen hast.
Damit (statisch oder dynamisch) wäre das Szenario routingtechnisch sauber aufgesetzt !
Auch wenn alle im LAN Segment den Cisco als default Gateway haben, würde niemals aller Traffic für das LAN 2 Segment immer über den Cisco gehen. Dieser würde sofort allen Endgeräten die im Segment "LAN" sind und ins Segment "LAN 2" gehen ein ICMP Redirect Packet schicken (ICMP Packettyp 5) in dem der "Router und default Gateway für LAN2" als Gateway Adresse für "LAN2" den Endgeräten in "LAN" mitgeteilt wird. Diese Endgeräte nutzen dann direkt diese IP Adresse um die Packete zu forwarden ins Segment "LAN 2".
Würdest du hier einen Sniffer anschliessen könntest du das Verhalten auch explizit verfolgen ! Es gibt nur eine einzige Ausnahme:
...wenn der Cisco hat folgendes Kommando auf dem Interface oder in der global Config hat:
"no icmp redirect" !
Ist das der Fall, ist natürlich immer der Umweg drin wie du ihn befürchtest, denn wie das Kommando es schon sagt ist das ICMP Redirect Verhalten damit abgeschaltet ! Das ist aber nicht standardkonform und macht nur ein paar ganz seltenen Konstellationen Sinn, den ICMP Redirect ist ein essentieller Teil des Control Message Protocolls !
Dann solltest du das Kommando aber sofort entfernen mit "icmp redirect". Das Kommando ist per default aber nicht in der Konfig sondern muss explizit eingegeben werden oder erscheint manchmal automatisch wenn du ein VRRP oder HSRP Szenarium mit mehreren Routern aus Redundanzgründen hast, um Redirects zu verhindern. Das ist bei dir aber laut Zeichnung NICHT der Fall !

Fazit: Normalerweise brauchst du keinerlei statische Routen auf den Endgeräten oder Servern, denn die sollen natürlich auch "servern" und nicht routen oder Route Tabellen verwalten !!!
Lediglich auf den Routern selber machen solche Routen Sinn. Ggf. solltest du die default Gateway Einstellungen in deinem Szeanrium umstellen.
Ein WAN Router sollte in der Regel niemals ein default Gateway System für LAN attachte Systeme sein. Sollte der aus Wartungsgründen oder zur Konfiguration mal abgeschaltet werden, steht dein ganzes L3 Switching im Netz ! Ein eher schlechtes Design....
Member: TheMaDBrain
TheMaDBrain Jun 26, 2006 at 09:54:12 (UTC)
Goto Top
Auch wenn alle im LAN Segment den Cisco als default Gateway haben, würde niemals aller Traffic für das LAN 2 Segment immer über den Cisco gehen...

Hallo aqui.

Du hast den Nagel auf den Kopf getroffen. Das ist ja auch das, was wir alle nicht verstehen. Bei manchen Servern funktioniert es, dass sie die Routen vom deflaut Gateway bekommen, bei anderen wiederum nicht.

Wo genau ist dein Terminalserver ?? Ist das der "geriffelte" Klotz mit dem Dreieck im "LAN" Segment ???

Joh.

...wenn der Cisco hat folgendes Kommando auf dem Interface oder in der global Config hat:
"no icmp redirect" !

Steht nicht in der Config.

Ein WAN Router sollte in der Regel niemals ein default Gateway System für LAN attachte Systeme sein.

Ich weiß. Möchte ich auch gerne ändern. Beim Netzwerk Re-Design kommt das mit auf die Liste.

Tja, nu bin ich der Lösung leider auch nicht näher gekommen. Es handelt sich hier um ein sehr seltsames Phänomen. Ich hatte gehofft, das das vielleicht ein MS-Bug wäre. (MS: "It's not a bug, it's a feature!")

Grüße
MaD
Member: aqui
aqui Jun 26, 2006 at 15:43:58 (UTC)
Goto Top
Hi MaD

Es ist eigentlich unmöglich das deine Server Routen vom Gateway sprich hier deinem Router bekommen !!! Andersrum gefragt: Habt ihr denn auf dem Cisco ein dynamisches Routing Protokoll eingeschaltet ? (In der Konfig steht dann sowas wie "router rip" oder "router ospf" oder schlimmer noch "router eigrp")
Das würde überhaupt erstmal klarstellen das Routen im Netz propagiert werden !
Sollten deine Server tatsächlich irgendwie Routen dynamisch lernen, was ich bezweifel, MUSS dort eine 3rd Party Software installiert sein die RIP, RIP2, OSPF oder EIGRP versteht und das ist für MS Systeme absolut unüblich und auch sinnlos. Endgeräte und auch Server partizipieren nie an dynamischen Route Protokollen !

Was ich nicht verstehe warum du so "erpicht" darauf bist das ein Endgerät oder Server im Netz Routen lernen muss ??!
Das ist erstmal generell überflüssig und gar nicht nötig für eine stabilen IP Betrieb !
Es reicht vollkommen wenn diese Maschinen einen normalen statischen default Gateway Eintrag haben und mehr nicht !!! Zumal diese Maschinen und wahrscheinlich auch dein Terminalserver nur eine Netzwerkkarte haben. Wozu also Routen lernen ???
Im Gegenteil, damit kannst du alles viel schlimmer machen indem du IP Trafficströme sinnlos verbiegst. Dies könnte sogar bei dir der Fall sein und diesen Effekt hervorrufen.
Wie gesagt es macht keinen Sinn Routen auf dem Server zu installieren oder sie lernen zu lassen und ist auch IP technisch schlicht falsch ! Ausnahme wäre nur wenn der Server selber routen müsste.

Fazit: Alle diese überflüssigen Routen löschen bzw. deine Systeme rebooten denn du hast ja glücklicherweise noch nicht den -p Paramter verwendet face-wink
Ich würde aber alle Settings auf den Servern nochmal mit "route print" kontrollieren. Danach solltest du darauf achten das alle Systeme ein entsprechendes default Gateway für ihr Segment haben.
In "LAN2" ist es der "Router und default Gateway für LAN2" (was ist das für ein Teil ? auch ein Cisco ?) und in "LAN" der Cisco.
Der "Router und default Gateway für LAN2" Router hat eine default Route auf den Cisco (ip route 0.0.0.0 0.0.0.0 (LAN IP Cisco)) denn an ihm sind ja sonst keine Netze mehr dran, der kann also alles zum Cisco schaufeln und der Cisco selber hat eine statische Route auf den "Router und default Gateway für LAN2" (ip route (LAN2)(Maske) ("LAN " IP des "LAN2" Routers))
Das ist alles, mehr Routen brauchst du nicht, schon gar nicht die Server. Den Rest erledigt das ICMP Protokoll.
Member: TheMaDBrain
TheMaDBrain Jun 27, 2006 at 06:48:32 (UTC)
Goto Top
Guten Morgen.

Also, ich möchte, dass der Server und auch die Clients, die Routen dadurch lernen, dass Sie anhand des "icmp redirect" vom Cisco Router eine Meldung bekommen, dass nicht er dafür zuständig ist, sondern sie sich direkt an den Router vom LAN2 wenden sollen. Der Router vom LAN2 ist übrigens ein LINUX-Rechner.
Im Netzwerk ist kein dynamisches Routing aktiviert und ist auch keine 3rd Party Software auf den Servern oder Clients für Routing installiert.

Das "lernen" der Routen soll dafür sein, dass wenn z.B. der Terminalserver mit einem Rechner im LOAN2 kommunizieren will, nicht alles über den Cisco Router abhandelt, sondern, dass der Server seinen default Gateway (Cisco Router) fragt, ob ihm die IP bekannt ist, mit der er kommunizieren will und der Cisco soll ihm dann eine meldung über das "icmp redirect" geben, dass er sich direkt an den Router für LAN2 wenden soll.
Wenn ich jahrelang nichts falsches gelernt habe, dann müsste das so ablaufen....

Leider funktioniert dieses Verfahren nicht zuverlässig, so dass manche Server und Clients ihre Daten immer über den Cisco Router leiten und nicht den direkten Weg gehen.
Das senden über den Cisco Router darf deshalb nicht passieren, weil dieser nicht für die Bewältigung solch großer Datenmengen geeignet ist und dann sofort in die Knie gehen würde. Glücklicherweise überwache ich das per SNMP.

Wir sind mitlerweile so weit, dass wir wissen, dass das Problem nicht an Microsoft liegt, sondern wahrscheinlich ein Problem des Cisco Routers ist. Denn wenn ich einen ISA-Server aus dem LAN als default Gateway angebe, der auch alle Routeneinträge wie beim Cisco Router hat, so "lernt" der Client bzw. Server die Route sofort und wählt nach kurzer Zeit den direkten Weg über den Router vom LAN2....

Könnte es was mit dem "Cisco Discovery Protocol" zu tun haben? Für die externen Interfaces ist das abgeschaltet (no cdp enable), für das interne zum LAN steht es auf default, also "enable".

Grüße
MaD
Member: TheMaDBrain
TheMaDBrain Jun 27, 2006 at 09:06:08 (UTC)
Goto Top
Tach nochmal.

So, ich hab mich nun mal mit Ethereal auf die Suche gemacht.

Also, wenn ich den Cisco Router als default Gateway angebe, so bekomme ich beim tracert vom Cisco Router kein icmp-Paket vom Typ 5 zurück, sondern vom Typ 11 (11 = Time Exceeded). Das ist soweit ja auch in Ordnung, wenn beim nächsten tracert ein icmp-Paket vom Typ 5 käme und mir mitteilen würde, dass ich mich direkt an den Router vom LAN2 wenden soll.
Wenn ich den ISA-Server aus LAN angebe, so bekomme cih auch erst ein icmp-Paket vom Typ 11 zurück, beim nächsten mal dann aber vom Typ 5 und alles ist gut und die Route wird in die lokale Routing-Tabelle eingetragen.

Das raffe ich nicht.... ip redirect ist aktiviert auf dem Cisco, das habe ich im Debug-Modus überprüft und dort werden auch korrekte redirects verschickt....

Ich bin mit meinem Latein am Ende....

Hat noch wer eine Idee, oder kennt jemanden, der sich damit auskennt? (ausser Gelbe Seiten)

Grüße
MaD
Member: TheMaDBrain
TheMaDBrain Jun 27, 2006 at 14:42:57 (UTC)
Goto Top
So, jetzt noch mal ein Update:

Ich habe den Cisco Router im Debug Modus beobachtet. Er braucht etwas, bis er die redirect-Pakete verschickt. Aber er tut es...
Manche Rechner haben diese Pakete aber ignoriert.
Nach einiger Zeit habe ich dann herausgefunden, dass das alles Rechner mit WinXP und installiertem SP2 und aktivierter Firewall waren.

Möglichkeiten: Man aktiviert das Kästchen "Allow redirects" in der Firewall-Einstellung, oder man deaktiviert sie ganz.

So, damit war das Problem schon mal gelöst.

Leider bleibt da noch ein Terminal Server, der die redirect-Pakete bekommt (mit Ethereal geprüft), sie dennoch ignoriert. (???)

Wir werden heute Abend mal einen Neustart versuchen, eventuell die NIC-Treiber updaten und dann wissen wir Morgen hoffetnlich mehr.
Ansonsten werden wir wohl mal bei Microsoft anfragen müssen.

Ich werd dann mal alle Neuigkeiten hier hinterlassen.

Grüße
MaD
Member: aqui
aqui Jun 27, 2006 at 21:05:56 (UTC)
Goto Top
Routen "lernt" ein Endgerät nicht mit einem ICMP Redirect sondern nur sein richtiges next Hop Gateway wenn es im gleichen IP Segment liegt ! ICMP ist eine Standardimplementation eines jeden TCP/IP Stacks ist also immer per default mit dabei und Endgeräte sollten immer sauber auf diese Packete reagieren..... eine einwandfrei konfigurierte Firewall vorausgesetzt face-wink
Deine Beschreibung mit dem "Lernen der Routen" hat da etwas Verwirrung gestiftet.
Ist natürlich schon bedenklich wenn die MS Firewall gerade diesen ICMP Packettyp filtert, der essentiell wichtig in einem gerouteten Netzwerk ist.
Kleine Ursache..große Wirkung. Ich vermute das der Terminalserver auch diesen ICMP Packettyp irgendwie disabled hat...anders ist ein nicht reagieren nicht zu erklären. Das es am Cisco liegen könnte wäre auch relativ unwahrscheinlich. Solch ein grundlegendes Fehlverhalten im ICMP auf einem Router wäre sofort aufgefallen.