• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Firewall soll Subnetze weiterleiten

Madhead

Newbie
Hi, ich bins schonwieder :/
.
Ich steh jetzt vor einem neuen Problem: Ich habe immernoch das gleiche Netz wie ein paar Posts vorher, also:

2 Clients -> Hub -> Firewallrechner -> Router -> Internet

Der Router ist in einem anderen Subnetz als die Clients und der Firewallrechner soll die Subnetze "switchen".

Der Router hat die IP 192.168.15.65 und die Clients haben 192.168.15.130 + 131


Wie sag ich jetzt der Firewall dass sie die Subnetze "umschalten" soll?

Help

Gruß
Tom
 

Martin Breidenbach

Ultimate Guru
Was für eine Subnetzmaske hast Du denn ? Falls das 255.255.255.0 ist dann kannst Du diese Konfiguration knicken. Wenn Du zwischen physikalisch getrennten Subnetzen routest dann müssen die auch logisch getrennt sein.

Also:
- Subnetze richtig konfigurieren

- Auf Linux-Firewall ENTWEDER IP-Forwarding eintragen und dem Router eine statische Route ins Client-Netz verpassen ODER auf der Linux-Firewall NAT (Masquerading) einschalten.
 

gaw

Hacker
Switchen, umschalten?

All diese Begriffe sind mißverständlich, gemeint ist das Weiterleiten von Paketen, gewöhnlich als Routing bezeichnet, im eigentlichen Sinne aber ein Fowarding ist.

Das Weiterleiten von Paketen kann von der Konsole aus mit Befehlen wie route oder ip gesteuert werden. Kennt man dann die entprechenden Routing Anweisungen, kann man sie in Yast eingeben oder in ein Skript schreiben oder gleich nach /etc/sysconfig/network/routes schreiben.
Die Syntax der ist wie folgt zu interpretieren:

<Zielnetz: Wohin sollen die Pakete><Welches Gateway vermittelt die Pakete weiter><Welche Netzwerkmaske ist entscheidend um den Netzanteil einer IP-Adresse zu ermitteln><Über welche Schnittstelle läuft der Verkehr><Zu welchem Typ gehört die Route>

Wobei die letzten nicht immer benötigt werden.

Entprechend sind die Einträge zu setzen.

Eine mögliche Subnetzmaske ist 255.255.255.128

Sie teilt das Netz 192.168.15.0 in die beiden Subnetze 192.168.15.0 und 192.168.15.128 mit den beiden Broadcasts 192.168.15.127 für das .0 Netz und 192.168.15.255 für das .128 Netz.


Der Firewallrechner muß nun über 2 Netzwerkkarten verfügen. Eine könnte 192.168.15.67 sein mit der ist er im ersten Teilnetz. Die zweite Netztwerkarte muß eine IP-Nummer aus dem zweiten Teilnetz erhalten, beispielsweise 192.168.15.129

Dem entsprechend sind in /etc/sysconfig/network/routes auf der Firewall folgende Regeln zu setzen
Code:
192.168.15.0 192.168.15.67 255.255.255.128 eth-id-x
192.168.15.128 192.168.15.129 255.255.255.128 eth-id-y
default 192.168.15.65 - -

wobei x und y die MAC-Nummern der entsprechenden Netzwerkkarten sind in etwa so: eth-id-00:50:fc:af:36:e1

Übersetzt bedeuten diese Einträge: Leite alle Pakete die zum Zielnetz 192.168.15.0 unterwegs sind (Also alle Pakete mit den Ziel-IP's von 192.168.15.1 bis 192.168.15.126 + der Broadcastadresse 192.168.15.127) an die Adresse 192.168.15.67 (eben die Netztwerkkarte mit der die Firewall im gleichen Netz wie der Router steckt) weitergeleitet werden sollen. Der zweite Eintrag besagt analog, dass alle Pakete mit einer Host-Adressen zwischen 192.168.15.129 und 192.168.15.254 an die Adresse 192.168.15.129 weitergeleitet werden. Der dritte Eintrag schickt als default Eintrag alle übrigen Pakete zum Router, also den gesamten Verkehr ins Internet. Da dieser eine Adresse über 192.168.15.128 hat werden die Pakete folgerichtig adressiert. Das ganze lässt sich auch nur über die Schnittstellen konfigurieren, aber so ist es leichter nachvollziehbar.

Dann sollte das Weiterleiten der Pakete funktionieren. Das solltest du testen und erst wenn es funktiniert würde ich die Firewall konfigurieren.
In diesem Szenarion würde ich auch ein iptables Skript bevorzugen, weil die SuSEfirewall doch zu sehr für eine direkte Internetverbindung konzipiert ist.



mfG
gaw
 
OP
M

Madhead

Newbie
Danke für die ausführliche Antwort! Unsere Subnetzmaske lautet 255.255.255.192 und die beiden NICs der Firewall haben die IPs 192.168.15.66 und 192.168.15.129. Die beiden Clients jeweils mit einer 130 bzw 131 am Ende.

@gaw ich hab weder dieses Verzeichnis (/etc/sysconfig/network/routes) noch kann ich das irgendwo anders eingeben. Wenn ich das in ein Shellscript schreibe kommt ein Fehler weil er logischer weise keinen Befehl hat wenn ich die nackte IP da hineinschreibe.

edit: hab ganz vergessen zu sagen: ich nutze Debian!
 

gaw

Hacker
Was für eine Distribution läuft denn auf deinen Rechner?

In neuern Distributionen wird das iproute2 Paket eingesetzt u.a. mit ip als zentrales Tool, sowie ip-up und ip-down Skripte für die Netztwerkkonfiguration statt route und ifconfig. Die Netzwerkkonfigurationsdateien stehen bei neueren SuSE-Distributionen im Verzeichnis /etc/sysconfig/network. Dort finden sich die Konfigurationsdateien der Netzwerkkarten. Der Name einer solchen Datei enthält dann die MAC-Nummer, wobei die einzelnen Byte durch Doppelpunkte gertennt sind. Wenn dort keine Datei routes existiert kann man die aber anlegen. Anschließend startet man das Netzwerk neu, gewöhnlich mit
rcnetwork restart.
oder
/etc/init.d/network restart
Bei anderen oder älteren Distributionen können andere Programme eine Rolle spielen oder die entsprechenden Dateien und Vezeichnisse sind nicht deckungsgleich. Mit find kann man dann nach *route* oder ip-up suchen.
Auf älteren Distributionen existiert die Datei /etc/route in der die Standardrouten gesetzt werden.
Mit ifconfig kann man die Netzwerkkarten anschließend neu starten, aber es kann auch ein allgemeines Skript geben. Das führt aber zu weit dass für alle Distributionen hier zu klären.

Deine Netzwerkmaske teilt das Netz übrigens in vier Subnetze. Du benötigst also 4 Routinganweisungen statt 2 wenn alle Pakete an die richtigen Subnetze kommen sollen.

mfG
gaw
 

gaw

Hacker
In debian werden die routing Anweisungen an die Schnittstellen gebunden und in /etc/network/interfaces gesetzt.

Man kann aber die Routen auch generell mit ip route add setzen und in ein Skript schreiben. So kannst du erst einmal an der Konsole testen ob die Routingbefehle funktionieren und falls ja, kannst du sie in ein Skript schreiben, das du in den Bootmechanismus von debian portierst.

David Sewell unterscheidet in seiner Debian-Anleitung zum Aufsetzen eines Gateways zwischen low-level (ifconfig, ip) als auch high-level (ip-up, ip-down) Netzwerk-Konfigurationsbefehlen: http://qref.sourceforge.net/Debian/reference/ch-gateway.en.html
Das ist eine sehr treffende Bezeichnung. Du kannst es im Prinzip mit beiden machen. Entweder du schreibst die einzelnen Routinganweisungen in /etc/network/interfaces oder du setzt sie alle in ein Skript.

mfG
gaw
 
Oben