[CentOS-de] Routing, Forward usw.

Tobias Crefeld tc at cataneo.eu
So Mai 6 09:22:31 EDT 2012


Am Fri, 04 May 2012 19:21:44 +0200
schrieb Achim Theobald <ath.mailman at muffti.de>:

(..)
> Auf dem Server läuft dhcpd, dns, ntpd usw. Ebenso ist er als Router
> konfiguriert mit IP-Forwading. Iptables ist aktiv mit den
> entsprechenden Ports freigeschaltet.
> Alle Client beziehen Ihre IP vom Server, der ist auch als Gateway für
> Sie angegeben. Läuft halt so....
(..)
> Alle Client hängen im Subnetz 192.168.1 an eth1 (Server IP:
> 192.168.1.100) Den DSL-Router wollte ich dann an eth0 (Subnetz
> 192.168.0 mit Server IP: 192.168.0.100) hängen.
> Soweit so gut...
> Nur wie mache ich das jetzt mit dem Routing und dem Forwarding?

Am Server muss ip-forwarding eingeschaltet werden, wenn Du
nicht alles über Proxys abwickeln willst. Das ist eine grundsätzliche
Design- und Security-Entscheidung.

Das Routing hängt davon ab. was die "Router" können. Wenn der
DSL-Router kein dynamisches Routing kann und zumindest ein Teil des
Verkehrs nicht über Proxies, sondern via IP-forwarding abgewickelt
werden soll, musst Du ihm eine statische Route zum Client-Netzwerk
mit der eth0-Adresse als Gateway eintragen, sonst finden die Pakete
zwar den Weg hinaus, aber nicht mehr zurück. Für Linux gibt es
routing-Daemons wie Quagga, ehem. Zebra. Vorzugsweise OSPF, notfalls
auch RIP. 
Wenn das nicht möglich ist, musst Du entweder ausschließlich mit
Proxies (egal ob transparent oder non-transparent) oder mit NAT alias
IP-masquerading am Server arbeiten.

Eigentlich hättest Du auch bisher ein dynamisches Routing gebraucht,
weil mit Server und DSL-Router zwei Router im selben Netz mit den
Clients waren. Vermutlich war in Deinem Netz "ICMP redirect" erlaubt,
sonst hätte das nicht funktioniert. Sicheres Netzwerk-Design verbietet
solche Krücken, weil man damit halt auch unerlaubte Router integrieren
kann und außerdem hat es in Deinem alten Setup die iptables-Regeln
ausgehebelt. Aber das musst Du insbesondere am Client korrigieren.


> Für die Clients soll sich natürlich nichts ändern.

Wenn diese via DHCP bereits die Server-Adresse .1.100 als
Default-Gateway bekommen, dann kann das unverändert bleiben.

> Was trage ich nun bei eth1 als Gateway ein?

Nichts. Es kann nur ein Default-Gateway im System geben.

> Für eth0 wird dann wohl als Gateway die (neue) IP vom DSL Router
> eingetragen.

Richtig.

> Wie funktioniert das mit iptables?

"Auch"... aber eigentlich kommt Centos-6 für diese Zwecke mit einem
Tool namens system-config-firewall (bzw. -tui) daher. Für die meisten
Setups inkl. IP-masquerading reicht das aus. Man sollte aber nur das
konfigurieren, was man sicher versteht und nicht nur, was man vermutet.


Gruß,
 Tobias.