{"id":611,"date":"2010-05-23T10:00:05","date_gmt":"2010-05-23T08:00:05","guid":{"rendered":"http:\/\/www.butschek.de\/?p=611"},"modified":"2012-03-11T12:43:49","modified_gmt":"2012-03-11T11:43:49","slug":"sourced-based-routing","status":"publish","type":"post","link":"https:\/\/www.butschek.de\/2010\/05\/23\/sourced-based-routing\/","title":{"rendered":"Source based Routing"},"content":{"rendered":"

Mit 2 IP-Adressen in 2 Netzen unterwegs: Source based Routing<\/strong><\/p>\n

In gr\u00f6\u00dferen Download-Clustern hat der Administrator h\u00e4ufig den Wunsch, \u00fcber einen zweite Uplink auch dann administrativen Zugriff auf die Rechner zu erhalten, wenn der erste Uplink gerade mal voll gelaufen ist.<\/p>\n

So trivial der Wunsch klingt, es gen\u00fcgt nicht, einfach eine zweite Netzwerkkarte zu kaufen, diese mit dem Router zu verbinden und eine IP-Adresse zu vergeben. Denn hier spielt das Routing des Servers eine gro\u00dfe Rolle.<\/p>\n

\u00dcblicherweise entscheidet ein System anhand der ZIEL-Adresse wohin ein Paket geschickt wird. Wird also auf dem zweiten Interface eine IP-Adresse konfiguriert werden zwar eingehende Pakete dort empfangen, sofern der Absender aber nicht im gleichen Netz sitzt wird die Antwort \u00fcber den Default-Gateway – und damit den vollen Link – zugestellt.<\/p>\n

Um das zu verhindern gibt es unter Linux die M\u00f6glichkeit, eine weitere Routing-Table mit einem Default-Gateway im zweiten Netz einzurichten.<\/p>\n


\nip route add table 6 default via ${GATEWAY-AUF-ETH1}
\n<\/code><\/p>\n

Die Table 6 benutze ich weil sie frei ist, k\u00f6nnte hierf\u00fcr aber jede andere freie Table benutzt werden. Notfalls mit ‚ip route show table 6‘ vorher pr\u00fcfen, ob die Table benutzt wird. Nun muss per Regel noch festgelegt werden, dass die Source-Adresse von eth1 auch durch diese Routing-Table geschickt wird:<\/p>\n


\nip rule add table 6 from ${IP-AUF-ETH1}
\n<\/code><\/p>\n

Gehen wir also davon aus, dass wir auf der zweiten Netzwerkkarte das Netz 203.0.113.0\/30 konfiguriert haben (Gateway: .1, unser System: .2). Dann w\u00fcrden die Kommandos wie folgt lauten:<\/p>\n


\nip route add table 6 default via 203.0.113.1
\nip rule add table 6 from 203.0.113.2
\n<\/code><\/p>\n

Und schon werden alle Pakete, die von 203.0.113.1 kommen an das Gateway 203.0.113.2 (also die 2. Netzwerkkarte) geschickt.<\/p>\n

\"\"<\/a><\/p>\n

 <\/p>\n","protected":false},"excerpt":{"rendered":"

Mit 2 IP-Adressen in 2 Netzen unterwegs: Source based Routing In gr\u00f6\u00dferen Download-Clustern hat der Administrator h\u00e4ufig den Wunsch, \u00fcber einen zweite Uplink auch dann administrativen Zugriff auf die Rechner zu erhalten, wenn der erste Uplink gerade mal voll gelaufen ist. So trivial der Wunsch klingt, es gen\u00fcgt nicht, einfach eine zweite Netzwerkkarte zu kaufen, […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4,5],"tags":[45,62,66],"_links":{"self":[{"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/posts\/611"}],"collection":[{"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/comments?post=611"}],"version-history":[{"count":2,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/posts\/611\/revisions"}],"predecessor-version":[{"id":796,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/posts\/611\/revisions\/796"}],"wp:attachment":[{"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/media?parent=611"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/categories?post=611"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/tags?post=611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}