iptables

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
nixdorf
Beiträge: 450
Registriert: 12.11.2004 09:38:34

iptables

Beitrag von nixdorf » 02.02.2005 10:48:16

Hallo,

ich habe gerade eine Firewall an einem Debian-Rechner aktivert. Welche Dienste muß neu starten, damit Anderungen, die am /etc/init.d/iptables - script vornehme, aktiv werden.


Gruß Nixdorf

Benutzeravatar
knecht
Beiträge: 1214
Registriert: 08.01.2004 15:33:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von knecht » 02.02.2005 10:59:22

Ob und welche Regeln gerade in deiner Firewall aktive sind siehst du mit

Code: Alles auswählen

iptables -L
Wenn du die Firewall komplett ausmachen willst:

Code: Alles auswählen

        # Alte Regeln loeschen
  iptables -F
  iptables -F -t mangle
  iptables -F -t nat
  iptables -X
  iptables -X -t mangle
  iptables -X -t nat
        #  POLICIES 
        # Default-Policies setzen - alles bis auf Weiterleitung erlaubt
  iptables -P INPUT ACCEPT
  iptables -P FORWARD DROP
  iptables -P OUTPUT ACCEPT
Einmachen tust du sie wieder durch ausführen deines Firewall Scripts.

Vielleicht interessiert dich folgender Artikel:
https://knecht.homelinux.net/phpBB2/viewtopic.php?t=263
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de

nixdorf
Beiträge: 450
Registriert: 12.11.2004 09:38:34

Beitrag von nixdorf » 02.02.2005 12:36:11

Hallo,

der Link ist prima. Aber ein Problem habe ich immer noch. Wenn ich mein Firewallscript /etc/init.d/iptables.sh editiert habe und die Änderungen in der Firewall aktivieren will, starte ich /etc/init.d/iptables erneut. aber leider werden dadurch nicht immer die Anderungen in der Firewall übernommen. Meistens muß ich Rebooten. Wie kann man das einfacher lösen?

Etwa durch /etc/init.d/networking restart?


Gruß Nixdorf

Benutzeravatar
knecht
Beiträge: 1214
Registriert: 08.01.2004 15:33:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von knecht » 02.02.2005 12:54:58

Du mußt nicht nur einfach das Firewallscript nochmal ausführen, sondern mußt erstmal alle vorhandenen Firewallregeln in den einzelnen chains der Firewall löschen. Eben das macht:

Code: Alles auswählen

# Alte Regeln loeschen
  iptables -F
  iptables -F -t mangle
  iptables -F -t nat
  iptables -X
  iptables -X -t mangle
  iptables -X -t nat
        #  POLICIES
        # Default-Policies setzen - alles bis auf Weiterleitung erlaubt
  iptables -P INPUT ACCEPT
  iptables -P FORWARD DROP
  iptables -P OUTPUT ACCEPT 
Ein iptables -L sollte jetzt nicht viel enthalten ! (das sind die momentan akiven Regeln)

Wenn du danach das Firewallscript wieder ausführst, sind deine Änderungen aktiv.
starte ich /etc/init.d/iptables
Das hilft dir nicht, du mußt verstehen das deine Firewall nicht das Script an sich ist, sondern das Script nur Regeln enthält, die du dem Kernel (genauer IPTABLES im KERNEL) übergibst. Mit deinem Befehl startest du die Softwarekomponente von IPTABLES neu (die Software, die Regeln an den Kernel übergibt), Aber das ist deiner laufenden Firewall (die Regeln im Kernel) ziemlich egal, wenn du den Boten neustartest.
Wie oben gezeigt, mußt du die Regeln aus dem Kernel entfernen und neu hinzufügen !!!

Also, löschen durch ausführen der Zeilen oben, und neu einlesen durch starten des Firewallscripts (./scriptname)
Zuletzt geändert von knecht am 02.02.2005 12:56:37, insgesamt 1-mal geändert.
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de

DeletedUserReAsG

Beitrag von DeletedUserReAsG » 02.02.2005 12:55:47

Ich hab nun kein iptables.sh - aber es wäre das naheliegendste, eben dieses Script zu verwenden.
Ansonsten sagt dir 'grep iptables /etc/init.d/*', in welchen Scripten iptables noch so auftaucht.

[edit]
Nachdem ich den Beitrag von Knecht gelsen habe, würde ich zudem vorschlagen, das Löschen der Tabellen auch in das Script zu übernehmen, so dass bei einem Ausführen alles gelöscht und anschließend neu angelegt wird.
[/edit]

cu

nixdorf
Beiträge: 450
Registriert: 12.11.2004 09:38:34

Beitrag von nixdorf » 02.02.2005 13:14:12

Hallo,

die folgenden Regeln habe ich bei mir zum Löschen der Alten Regeln im /etc/init.d/iptables.sh - Script enthalten. Reichen die denn nicht aus ? Damit müsten doch alle alten Regeln gelöscht werden und so die dann folgenden Regeln installiert werden, wenn man das Script dann ausführt.

Gruß Nixdorf

DeletedUserReAsG

Beitrag von DeletedUserReAsG » 02.02.2005 13:19:26

Was hindert dich daran, es einfach mal zu probieren? ;)
Zum Testen auch mit einem 'iptables -L' zwischen dem Teil des Löschens und dem des Setzens der Rules - dann siehst du ja, ob es sauber läuft.


cu

nixdorf
Beiträge: 450
Registriert: 12.11.2004 09:38:34

Beitrag von nixdorf » 02.02.2005 13:36:45

Na ich weis es ja schon es geht nicht.

nochmal um tu verdeutlichen was ich mache.

zunächst läuft meine Firewall mit den folgenen Einstellungen:

/etc/init.d/iptables.sh:

Code: Alles auswählen

#!/bin/sh
echo 1 >/proc/sys/net/ipv4/ip_forward
#
# Alle bestehenden Regeln loeschen.
#
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

#iptables -P INPUT DROP
#iptables -P OUTPUT DROP
#iptables -P FORWARD DROP


wenn ich nun das # Zeichen vor iptables -P INPUT DROP entferne und /etc/init.d/iptables ausführe, dann kann ich nicht mehr von meinem client zum Router pingen. Alles korrect.

Nun setze ich das #Zeichen wieder ein in /etc/init.d/iptables.sh und starte dann wieder /etc/init.d/iptables.sh, dann müßte ich doch wieder vom client zu Router pingen können aber das geht immer nicht. Da muß ich immer wieder neu booten dann geht das wieder. 

Da muß es doch einen Kürzeren Weg geben den ich nutzen möchte befor ich die ganzen anderen  Einstellungen der Firewall durchgehe.


Gruß Nixdorf

Benutzeravatar
knecht
Beiträge: 1214
Registriert: 08.01.2004 15:33:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von knecht » 02.02.2005 13:47:29

Ein iptables -L würde dir dann sagten das deine default policy nach wie vor auf DROP steht, da das das letzte ist was du ihm gesagt hast. Auskommentieren hilft dir nicht, du mußt ihm sagen

Code: Alles auswählen

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

Damit er überhaupt wieder was durch lässt !!!

Die default policy ist nicht einfach wieder auf "accept" nur weil du ihm nicht mehr "drop" sagst !! Du mußt auch wieder auf Accept schalten
wenn irgendwas wieder durch die IPTABLES können soll.

Hättest du meinen Post befolgt, und einfach mal

Code: Alles auswählen

# Alte Regeln loeschen
  iptables -F
  iptables -F -t mangle
  iptables -F -t nat
  iptables -X
  iptables -X -t mangle
  iptables -X -t nat
        #  POLICIES
        # Default-Policies setzen - alles bis auf Weiterleitung erlaubt
  iptables -P INPUT ACCEPT
  iptables -P FORWARD DROP
  iptables -P OUTPUT ACCEPT 
gemacht, wär alles wieder gegangen, wie du siehst setzt er hier zwei default policy's wieder auf accept !!

Auch ein IPTABLES -L hätte dir das gesagt !

Mach doch einfach mal was man dir vorschlägt !!
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de

nixdorf
Beiträge: 450
Registriert: 12.11.2004 09:38:34

Beitrag von nixdorf » 02.02.2005 13:57:33

Der Andere Vorschlag kam aus einem Buch, der wollte auch das ich mache was er sagt.

Trotzdem danke .... Nixdorf

Benutzeravatar
knecht
Beiträge: 1214
Registriert: 08.01.2004 15:33:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von knecht » 02.02.2005 14:36:01

War auch nicht böse gemeint, Hauptsache du bist das Problem los !
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de

nixdorf
Beiträge: 450
Registriert: 12.11.2004 09:38:34

Beitrag von nixdorf » 02.02.2005 14:56:48

Ja, prima, hat geklappt ..

smashie
Beiträge: 168
Registriert: 21.02.2004 11:23:53

Beitrag von smashie » 02.02.2005 18:42:01

iptables != firewall :wink:
Intel Pentium E2180 @ 3,2 Ghz / Geforce 8800GT / 4096 MB DDRII 800 / 320GB Seagate 7200.11 HDD
running debian 'sid' kernel 2.6.26-rc7/Gnome 2.22

Antworten