Linux 15.052 Themen, 107.240 Beiträge

FC3 + iptables

nickelo / 10 Antworten / Baumansicht Nickles

Hallo community,

ich habe da ein Problem und moechte mich gerne damit mal an Euch wenden, vielleicht gibts
ja jemanden der mir weiterhelfen kann.
Also ich habe FC3 installiert und habe in dem Router 2 Netzwerkkarten installiert.
Device eth0 (192.168.0.10)hat eine direkte verbindung zum dlink router (192.168.0.1).
Device eht1 (10.10.1.1) soll an einen switch angeschlossen werden und der Zugang fuers
interne Netz darstellen. Auf dem Router sollen http, imaps,ssh und ftp von Aussen erreich-
bar sein. Alle anderen Ports sollen auf eth0 sonst gesperrt sein. Von meinen internen PCs
will ich den Router als Gaetway (10.10.1.1) angeben, sodass die Verbindung ins internet ueber diesen PC laeuft. Desweitern soll der Router auch ueber ssh auf eth1 erreichbar sein.
Nun das Problem, wie richte ich die iptables dafuer ein und was sage ich den clients welchen dns die nutzen.
Ich hoffe es gibt hier hilfe :-) Vielen Dank schonmal.

bei Antwort benachrichtigen
FrogPR nickelo „FC3 + iptables“
Optionen

Also nix für ungut, aber ein bißchen Eigeninitiative sollte vielleicht schon vorhanden sein. Ich könnte dir jetzt wahrscheinlich schon mehr oder weniger die die Config hier hinschreiben, aber das würde mit Erklärungen wahrscheinlich ne Stunde dauern. Auf www.iptables.org gibts Anleitungen, wie man ein kleines Heimnetzwerk als DSL-Router mit 2 Netzkarten einrichtet. Und es gibt noch mehr (auch deutschsprachige) Anleitungen im Internet, wie iptables funktioniert und zu konfigurieren ist. Fehlt nur noch ein bissel Suchbereitschaft deinerseits....

Aber vorweg zu den DNS-Einträgen: Du musst bei den Clients (falls du keinen DHCP nutzen willst) die DNS-Server eintragen, z.B. die von der Telekom. Ich kenn zwar dieses dlink-Teil nich, aber irgendwo muss das ja auch Infos darüber rausgeben, welche DNS-Server es benutzt (Diese werden nämlich beim Verbindungsaufbau mit übertragen. Prinzipiell kannst du aber jeden nehmen, der public ist. Von der Telekom gibts etliche z.B.) Bei eventuellen Linux-Clients musst du die in der /etc/resolv.conf (mit nameserver=IP) eintragen, bei Windows geht das ja bekanntlich bei den Netzwerkeinstellungen.

Falls du dann später noch konkretere Fragen hast, kannst du sie ja wieder hier stellen...

Gruß, FrogPR

bei Antwort benachrichtigen
KarstenW FrogPR „Also nix für ungut, aber ein bißchen Eigeninitiative sollte vielleicht schon...“
Optionen

Ich habe in die /etc/resolv.conf - Datei aller Clients als nameserver die Adresse meines D-Link - Routers eingetragen.
Mit iptables kenne ich mich nicht aus. Es gibt aber ein grafisches Konfigurationstool dafür:

http://www.simonzone.com/software/guarddog/

Normalerweise arbeiten Router als Firewall auf Schicht 3 und 4 des OSI-Schichtenmodell.
Das bedeutet, ein Router kann nur die Ports öffnen oder schließen. Er kann aber keine Dienste unterscheiden, die sich einen Port teilen.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
FrogPR KarstenW „Ich habe in die /etc/resolv.conf - Datei aller Clients als nameserver die...“
Optionen

Du kannst den nameservers des dlink-Routers dann dort eintragen, wenn der dlink mit DHCP-enabled läuft. Die grafischen Konfig-Tools für iptables sind im Allgemeinen zu einfach und wenn sie mehr die Möglichkeiten von iptables nutzen werden sie wieder so kompliziert, dass du auch gleich ein Skript editieren kannst, is wesentlich übersichtlicher. Was du mit den Ports sagst, ist richtig, aber die genannten dienste benutzen unterschiedliche Ports, die man mit iptables einfach sperren oder öffnen kann (und noch einiges mehr...)

Gruß, FrogPR

bei Antwort benachrichtigen
KarstenW nickelo „FC3 + iptables“
Optionen

Wenn du schon einen dlink - Router hast, wozu mußt du noch einen Linux Rechner als Router einsetzten ? Ich frage nur weil ich mich mit iptables nicht so gut auskenne.
Wenn sich mehrere Dienste einen gemeinsamen Port teilen, dann muß eine Firewall, die auf Schicht 7 (OSI-Schichtenmodell) arbeitet, installiert werden.
Dafür gibt es Zorp:

http://www.zorpfirewall.com

Ich kenne mich damit aber nicht aus.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
FrogPR KarstenW „Wenn du schon einen dlink - Router hast, wozu mußt du noch einen Linux Rechner...“
Optionen

Das macht dann Sinn, wenn man ein Subnetz extra absichern möchte. somit hängt dieses an einem "Nadelöhr", das gut durch eine iptables-firewall kontrolliert werden kann. Es ist auch ein Sicherheitsaspekt, da dieses Netz dann auch gegen andere vorhandene Subnetze geschützt ist, falls diese durch was auch immer komprimittiert werden.
Ich bin mir jetzt nicht wirklich sicher, was du mit diesem Schichtenmodell meinst, aber iptables ist ein Hardware-Firewall (vom Kernel bereitgestellt), soll heissen, es untersucht direkt die ein- und ausgehenden Pakete auf z.B. Herkunft, Art usw. Das erlaubt eine sehr feine Steuerung und verhindert im Gegensatz zu Software-Firewalls, dass die Pakete überhaupt erst auf den Rechner gelangen.

Gruß, FrogPR

bei Antwort benachrichtigen
nickelo Nachtrag zu: „FC3 + iptables“
Optionen

Hmm wo ist denn meine erste Antwort geblieben?

Also ich nutze die Linuxkiste als Arbeitstier fuer die Dienste: WWW, FTP, SSH, IMAPS.
Auf eth0 ist dieser mit dem DLINK verbunden. Hier wird das 192er Netz benutzt. Auf eth1 ist die Kiste mit einem Switch verbunden wo die restlichen Clients dranhaengen und sich alle im 10er Netz befinden. Das heisst das die Clients die Verbindung ueber die Linux kiste herstellen als Gateway. echo 1 > /proc/sys/net/ipv4/ip_forward und iptables -A INPUT -i eht1 -j ACCEPT
habe ich mittlerweile gemacht. Nun bekomme ich auch einen connect von meiner windoofkiste auf den router, die sich ja beide im 10er netz befinden. jedoch passiert es ein paar min spaeter, das die verbindunh ziemlich zaeh ist. wenn ich ein buchstabe druecke, dann wird dieser erst ca 1-2 minuten spaeter ausgefueht. Irgendwas stimmt da noch nicht.
Die Firewall lass ich erstmal aussen vor. Es soll erstmal die reibungslose verbindung zwischen den clients und der lkinux kiste funktionieren.

bei Antwort benachrichtigen
FrogPR nickelo „Hmm wo ist denn meine erste Antwort geblieben? Also ich nutze die Linuxkiste als...“
Optionen

Hmm, also dieses Verhalten klingt etwas seltsam.

Du brauchst eigentlich kein iptables um ein Netzwerk zu benutzen. Funktioniert denn die Verbindung richtig, wenn du

echo 1 > /proc/sys/net/ipv4/ip_forward

nicht ausführst (also Forwarding nicht aktivierst)?
Und hast du denn auch masquerading aktiviert für eth0?

iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE

Das "tarnt" alle augehenden Pakete die an eth0 (von innen) ankommen mit der externen IP.

Ausserdem musst du Forwarding zulassen:

iptables -A FORWARD -i eth1 -s 192.168.10.0/24 -j ACCEPT

Das erlaubt die Weiterleitung für alle Pakete, die aus deinem 10-er Netz kommen.

Desweiteren...hast du die Policies definiert? Sinnvoll ist:

iptables -P INPUT DROP #drop all incoming packets
iptables -P OUTPUT ACCEPT #allow all outgoing packets
iptables -P FORWARD DROP #drop all forwarded packets

du kannst ja zunächst einmal alle Drop's durch ACCEPT ersetzen, dann ist keine Firewall aktiv (Falls du FORWARD auch auf ACCEPT machst, brauchst die weiter oben angegebene Regel nicht, da eh alles durchgelassen wird)

bei Antwort benachrichtigen
nickelo FrogPR „Hmm, also dieses Verhalten klingt etwas seltsam. Du brauchst eigentlich kein...“
Optionen

>iptables -A FORWARD -i eth1 -s 192.168.10.0/24 -j ACCEPT

Uhh, dieses hatte ich noch nicht eingetragen. Nun scheints wohl zu funktionieren. Ich danke Dir bzw auch den anderen fuer die Hilfe.
Hatte schon soviele iptables- Befehle eingeben, das ich nicht mehr weiss welche nun korrekt sind :-) Aber da die Verbindung nun steht und auch anscheinend gehalten wird in der normalen geschwindigkeit, bin ich erstmal zufrieden und werde mal versuchen meine gemachten schritte zurueck zu folgen um dann eine cleane iptables zu erstellen.
Vielen Dank und einen schonen Sonntag noch!

bei Antwort benachrichtigen
nickelo Nachtrag zu: „FC3 + iptables“
Optionen

grr ich hab mich schon gefreut, aber irgendwie werde ich wieder nach 10 minuten wieder rausgeschmissen, sprich die verbindung wird wieder irgendwie gekappt :(

bei Antwort benachrichtigen
FrogPR nickelo „grr ich hab mich schon gefreut, aber irgendwie werde ich wieder nach 10 minuten...“
Optionen

Also was das ist weiss ich nicht, möglicherweise leigt das aber an der Client-Seite. Iptables hat mit sowas jedenfalls nix zu tun, du brauchst das überhaupt nicht für interne Netzwerkverbindungen. Wirst du denn nach Inaktivität getrennt? Manche Windows-Clients machen das (z.B. Putty), kann man aber ausschalten (Stichwort: "keep connection alive"). Oder vielleicht ist ja das Netzwerk auch nicht stabil? Für mich klingt das irgendwie nach Hardware-Fehler und nicht nach Konfiguration. Aber das kann ich von hier aus halt auch alles nur vermuten...

Gruß, FrogPR

bei Antwort benachrichtigen