Wo firewallscript starten?

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Counterspell
Beiträge: 2
Registriert: 05.01.2004 17:43:41

Wo firewallscript starten?

Beitrag von Counterspell » 05.01.2004 17:50:32

Hallo allerseits,

seit kurzem benutze ich Debian (vorher Redhat). Ich stelle beim Booten automatisch eine DSL-Internetverbindung her (pppoeconfig) und möchte mein Firewall-Script ebenfalls beim Booten ausführen, nachdem die Verbindung hergestellt ist.

Bei Redhat gab es in init.d ein Startscript mit welchem man eigene Scripte starten konnte (local). Ich könnte mir natürlich selbst ein derartiges Script anlegen, aber schöner wäre es, wenn man das irgendwie in die Networking-Scripte einbetten könnte. Was ich bräuchte ist ein Script, welches direkt nach der ppp-Einwahl ausgeführt wird. Gibt es sowas? Besten Dank im voraus.

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 05.01.2004 18:32:58

Viele Möglichkeiten. Du kannst ein eigenes Script in /etc/init.d/ ablegen und per update-rc.d in die ensprechenden Levels verlinken. Dann wird das beim Wechsel in den ensprechenden Runlevel (unter Debian per default 2) gestartet. (Ich hab es so gemacht) Du kannst natürlich auch das Script unter /etc/ppp/ip-up.d ablegen und dann sicherstellen, das es nur für das ppp0 ausgeführt wird. Oder, ....
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Beitrag von roli » 06.01.2004 09:32:04

Hi Counterspell,

ich finde /etc/network/if-up.d/if-up.local bietet sich dafuer an.
Du fragst einfach ab, ob das ppp Device gerade gestartet wurde, um in diesem Falle dann dein Firewallscript zu starten. Genauso kannst du die Firewall natuerlich wieder stoppen indem du in /etc/network/if-down.d/if-down.local auch so ein "Konstrukt" einbaust.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

bagalude25
Beiträge: 7
Registriert: 12.02.2004 09:13:12

Beitrag von bagalude25 » 17.02.2004 10:14:51

Bert hat geschrieben:Viele Möglichkeiten. Du kannst ein eigenes Script in /etc/init.d/ ablegen und per update-rc.d in die ensprechenden Levels verlinken. Dann wird das beim Wechsel in den ensprechenden Runlevel (unter Debian per default 2) gestartet. (Ich hab es so gemacht) Du kannst natürlich auch das Script unter /etc/ppp/ip-up.d ablegen und dann sicherstellen, das es nur für das ppp0 ausgeführt wird. Oder, ....
Hi erstmal,

Ich habe selbiges Problem... Habe die Möglichkeit /etc/init.d auch schon probiert, allerdings will es bei mir nicht funzen :cry:
Zudem würde ich es lieber via /etc/ppp/ip-up.d machen, bin mir aber noch nicht so sicher, wie ich sinnvoll sicherstelle, das es ausgeführt wird.

Kann mir jemand einen Rat geben, wie ich es anstelle. :o
Try and find out!

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 17.02.2004 11:02:33

Nun, wenn Du es richtig machst, wird es auch ausgeführt ;-)

Zu beachten ist der Name des Scripts. Das ganze wird über run-parts gesteuert, und dieses ist da etwas pingelig. Kann man aber in

Code: Alles auswählen

man run-parts
nachlesen.
Ansonsten: Einrichten. Interface aktivieren und schauen, ob die Firewallregeln da sind (iptables -l , wenn ich mich nicht irre). Wenn es einmal klappt, sollte es eigentlich immer klappen. Wenn Du Deinen Fehler mit dem /etc/init.d/... beschreibst, kann Dir hier bestimmt auch jemand helfen.
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

bagalude25
Beiträge: 7
Registriert: 12.02.2004 09:13:12

Beitrag von bagalude25 » 17.02.2004 23:29:52

Danke erstmal für die angebotene Hilfe! :D

Benutzerrechte sollten kein Problem sein, sind auf 500...
Hier die Meldung, die ich nach dem Ausführen erhalte...

Code: Alles auswählen

spacegate:~# update-rc.d -n firewall.sh defaults
 Adding system startup for /etc/init.d/firewall.sh ...
   /etc/rc0.d/K20firewall.sh -> ../init.d/firewall.sh
   /etc/rc1.d/K20firewall.sh -> ../init.d/firewall.sh
   /etc/rc6.d/K20firewall.sh -> ../init.d/firewall.sh
   /etc/rc2.d/S20firewall.sh -> ../init.d/firewall.sh
   /etc/rc3.d/S20firewall.sh -> ../init.d/firewall.sh
   /etc/rc4.d/S20firewall.sh -> ../init.d/firewall.sh
   /etc/rc5.d/S20firewall.sh -> ../init.d/firewall.sh
spacegate:~#

Nach einem Reboot erhalte ich aber nach einem

Code: Alles auswählen


iptables --list

immer noch die "default" Iptables. :roll:

*fg*
Try and find out!

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 17.02.2004 23:45:11

:D Darum hatte ich ja eigentlich auf die Manpage vom run-parts verwiesen...
man run-parts hat geschrieben: Filenames should consist entirely of upper and lower case letters, digits, under­scores, and hyphens.
Entferne also einfach den ".sh" Teils vom Scriptnamen.
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

thorius
Beiträge: 50
Registriert: 07.04.2002 16:25:10
Wohnort: Dresden

Beitrag von thorius » 19.02.2004 17:20:02

Hallo

kann es sein, das du schonmal ein

Code: Alles auswählen

 dpkg-reconfigure iptables
gemacht hast? Das ist nämlich der Dabien way of iptables.
Funktionieren tuts ganz einfach:
- das dpkg-reconfigure machen
- die Firewall aufsetzen, jetzt gehts auch einfach von hand - also ohne script
- und dann als default speicher:

Code: Alles auswählen

/etc/init/iptables save active
Damit wird beim booten des Systems dieses Ruleset geladen. Unter /etc/defaults/iptables findet man nochmehr davon und wie man iptables Regeln einfach verwalten kann.

hth, Thomas

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 19.02.2004 21:27:10

Nun ja, ob das nun die richtige/Debian Way ist, soll jeder selbst entscheiden. Mir gefällt der Ansatz nicht. Dem Autor ja wohl auch nicht:
/etc/default/iptables hat geschrieben:# Q: You concocted this init.d setup, but you do not like it?
# A: I was pretty much hounded into providing it. I do not like it.
# Don't use it.
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

bagalude25
Beiträge: 7
Registriert: 12.02.2004 09:13:12

Beitrag von bagalude25 » 19.02.2004 21:59:04

Bert hat geschrieben::D Darum hatte ich ja eigentlich auf die Manpage vom run-parts verwiesen...
man run-parts hat geschrieben: Filenames should consist entirely of upper and lower case letters, digits, under­scores, and hyphens.
Entferne also einfach den ".sh" Teils vom Scriptnamen.
Das habe ich dann kurz danach auch gelesen... *verlegen*

War zwar nicht der richtige Fehler, hat mich aber auf selbigen gebracht. Mein Script hieß ursprünglich iptables.sh. Es gibt bereits ein script

Code: Alles auswählen

etc/init.d/iptables
Ich hatte folglich zwei:

Code: Alles auswählen

 
etc/init.d/iptables
etc/init.d/iptables.sh
Das Problem war bereits mit dem Umbenennen meines Scriptes in firewall.sh (siehe oben)behoben...:-)

Danke nochmals an Euch alle!! :D

*fg* marc

PS: Kennt sich einer von Euch mit einem Socks 4/5 Proxy für Debian aus?? Bzw. wie ich Socks durch den Firewall auf den dahinter liegenden Socks 4/5 Proxy Server geroutet bekomme?

Mit

Code: Alles auswählen


#socks
$IPTABLES -A FORWARD -i $EXETH -o $INETH -p tcp --dport 1080 -d 192.168.0.1 -j ACCEPT

$IPTABLES -t nat -A PREROUTING -i $EXETH -p tcp --dport 1080 -j DNAT --to 192.168.0.1
geht es leider nicht. Ich bekomme so zwar eine Verbindung hergestellt, werde aber wegen einer "unsicherer Socksverbindung" gleich wieder rausgeschmissen...
Try and find out!

Antworten