PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : iptables-script nach buch und vorlage...wohin damit???



pablovschby
06.05.03, 23:45
hallo

/etc/sysconfig/iptables ist bei meinem redhat8 das iptables-file, dass geladen wird...nun habe ich nach vorlage ein iptables-file erstellt... aber jetzt: wohin damit..? wenn ich es ausführbar mache...kann ich es in der konsoler gar net starten...und wenn ich es an die stelle /etc/sysconfig/iptables kopiere und die vorh. datei überschreibe, somit nachher den iptables-dienst neu starte, kommt die fehlermeldung:
iptables Firewall-Regeln anwenden: Bad argument `case'
Try `iptables-restore -h' or 'iptables-restore --help' for more information. [FEHLGESCHLAGEN] naja...ich häng mal das von mir erstellte file an, ist ne firewall für en webserver...... relativ einfach, aber effektiv konfiguriert...
gruss&danke
pablo

Matzetronic
07.05.03, 06:16
hi,

die einfachste lösung ist ein verzeichnis deiner wahl und ein link in das entsprechende runlevel...

matze

Destroyer69
07.05.03, 07:19
ersma die redhat firewall ausschalten und in /etc/rc.local den pfad zu deinem firewallscript eintragen...fertig

pablovschby
07.05.03, 07:58
Original geschrieben von Destroyer69
ersma die redhat firewall ausschalten und in /etc/rc.local den pfad zu deinem firewallscript eintragen...fertig tut mir leid, ist net gegangen... wenn ich dieses script mit chmod "755" ausführen will, heissts auf dem terminal: command not found.... ausserdem blinken die 2 scripts (S50script1 und K50script1) rot im Verzecihniss "/etc/rc.d/rc3.d",,,


ich habe heute abend ev. en biscshen mehr zeit
gruss&danke
pablo

pablovschby
07.05.03, 08:00
dir redhat-firewall wurde natrlich ausgeschaltet, is ja klar

keiner_1
07.05.03, 08:32
führe dein Script aus (chmod o+x firewall.txt)
mach ein iptables-save > /etc/sysconfig/iptables
nun mit chkconfig --list iptables ob es in allen vernünftigen init stats lauft

cu
adme

Belkira
07.05.03, 09:34
tut mir leid, ist net gegangen... wenn ich dieses script mit chmod "755" ausführen will, heissts auf dem terminal: command not found....
Erste Zeile im Skript ist falsch.

ich habe heute abend ev. en biscshen mehr zeit
Nimm Dir die Zeit unbedingt. Hier im Forum haben auch viele nur wenig Zeit.

service iptables stop
*hier deine Regeln laden*
service iptables save
chkconfig --level 2345 iptables on

pablovschby
07.05.03, 20:43
Original geschrieben von adme
führe dein Script aus (chmod o+x firewall.txt)
mach ein iptables-save > /etc/sysconfig/iptables
nun mit chkconfig --list iptables ob es in allen vernünftigen init stats lauft

cu
adme leider geht das net, hab ich ja oben beschrieben....

HangLoose
07.05.03, 21:07
hi

ganz kurz nur

kann es sein, das die fehlermeldungen so aussehen

line 3: t: command not found
line 8: -F: command not found
line 9: -t: command not found
.
.
.

und kann es sein, das du das teil mit einem wineditor erstellt hast?

pablovschby
07.05.03, 21:49
Original geschrieben von HangLoose
hi

ganz kurz nur

kann es sein, das die fehlermeldungen so aussehen

line 3: t: command not found
line 8: -F: command not found
line 9: -t: command not found
.
.

und kann es sein, das du das teil mit einem wineditor erstellt hast? genau, so ist es.... wie batchprogrammierung unter windows....

...was ist daran falsch, bzw., wie ist vorzugehen...? mit cat /etc/sysconfig/iptables bekommt man doch auch eine datei zu gesicht, die geradesogut mit "gedit" erstellt und nach "iptables" benannt werden kann...
gruss
pablo

pablovschby
07.05.03, 22:33
im buch "susefirewall" ist das genau so beschrieben....

gruss

Belkira
07.05.03, 23:20
Ein Vorschlag zur Güte: Du liest nochmal ganz langsam alle Postings in diesem Thread, damit Du sie auch verstehst. Es kamen bereits ein paar Hinweise bzw. Rückfragen. Geh bitte auf die ein! Andernfalls artet Dein Verhalten nur in ABM aus.

pablovschby
08.05.03, 00:03
Original geschrieben von Belkira
Ein Vorschlag zur Güte: Du liest nochmal ganz langsam alle Postings in diesem Thread, damit Du sie auch verstehst. Es kamen bereits ein paar Hinweise bzw. Rückfragen. Geh bitte auf die ein! Andernfalls artet Dein Verhalten nur in ABM aus. tja.....ausser auf den post des HL's bin ich wohl überall drauf eingegangen.... was heisst ABM ausgeschr.?
@HL: nein, ich habe keinen windows-editor benutzt........ gedit von redhat, das ist richtig, oder?

das hat funktioniert, aber nur von der graf. oberfläche her aus:
#!/bin/tcsh

set i=iptables

$i -P INPUT DROP
$i -P OUTPUT DROP
$i -P FORWARE DROP

$i -F

$i -A OUTPUT -o lo -j ACCEPT
$i -A INPUT -o lo -j ACCEPT

#port 67 und 68 für dhcp freigeben..:
$i -A OUTPUT -p TCP --sport 67:68 --dport 67:68 --syn -j ACCEPT #raus
$i -A INPUT -p TCP --sport 67:68 --dport 67:68 --syn -j ACCEPT #rein

#port 80 gegen aussen und innen offen:
$i -A OUTPUT -p udp -m --dport http --syn -j ACCEPT #raus
$i -A INPUT -p udp -m udp --dport http --syn -j ACCEPT #rein

#sshd-verbindung von aussen her erstellbar:
$i -A INPUT -p TCP --dport 22 --syn -j ACCEPT
#sshd-verbindung von innen nicht mehr erstellbar, aber bestehende weiterführen:
$i -A OUTPUT -p TCP --dport 22 !--syn -j ACCEPT


#ftp-verbindungen von aussen her erstellbar machen:
$i -A OUTPUT -p TCP --dport 20 --syn -j ACCEPT #datenport raus
$i -A INPUT -p TCP --dport 20 --syn -j ACCEPT #datenport rein
$i -A INPUT -p TCP --dport 21 --syn -j ACCEPT #befehlsport rein
$i -A OUTPUT -p TCP --dport 21 --syn -j ACCEPT #befehlsport rausjetzt die frage: wie zum geier starte ich dieses skript per terminal...? es scheint in ordnung zu sein, da es, von graf. oberfläche her ausgeführt, alle iptables richtig übernimmt....(es übernimmt einfach was, also hat es einen effekt gehabt)

aber dann las ich über das ausführen von skripten (http://www.google.ch/search?hl=de&ie=UTF-8&oe=UTF-8&q=linux+%22skript+starten%22+terminal&btnG=Google+Suche&meta=) ..... und da war sehr wenig hilfreiches dabei...das versuchte ich alles:[root@linuxserver1 root]# at 1
parse error. Last token seen: 1
Garbled time
[root@linuxserver1 root]# bash 1
1: line 5: -P: command not found
1: line 6: -P: command not found
1: line 7: -P: command not found
1: line 9: -F: command not found
1: line 11: -A: command not found
1: line 12: -A: command not found
1: line 15: -A: command not found
1: line 16: -A: command not found
1: line 19: -A: command not found
1: line 20: -A: command not found
1: line 23: -A: command not found
1: line 25: -A: command not found
1: line 29: -A: command not found
1: line 30: -A: command not found
1: line 31: -A: command not found
1: line 32: -A: command not found
[root@linuxserver1 root]#so, das wärs.... ich frage mich jetzt einfach wirklich nur noch, wieso zum geier dieses skript nicht einfach vom terminal her ausgeführt werden kann....

...wie mache ich das??
gruss&danke
pablo

Da.Bull
08.05.03, 00:21
ABM = Arbeitsbeschaffungsmaßnahme....

MfG Markus

Belkira
08.05.03, 10:21
#!/bin/tcsh

set i=iptables

Bitte erkläre mal, warum Du jetzt plötzlich tcsh verwenden willst, anstatt bash oder sh!

In Deinem vorherigen Skript war die erste Zeile falsch. iptables liegt in /sbin, nicht /bin. Und bei einer Variablenzuweisung dürfen keine Leerzeichen zwischen Variable und Wert sein.

Dein neues Skript wiederum kannst Du nicht explizit mit bash ausführen, sondern nur mit tcsh. Oder Du läßt, weil Du die sogenannte shebang line gesetzt hast, implizit die im Skript definierte /bin/tcsh verwenden, indem Du die Datei nur über den Skriptnamen aufrufst, z.B.: ./skript

pablovschby
08.05.03, 18:29
Original geschrieben von Belkira
Bitte erkläre mal, warum Du jetzt plötzlich tcsh verwenden willst, anstatt bash oder sh!

In Deinem vorherigen Skript war die erste Zeile falsch. iptables liegt in /sbin, nicht /bin. Und bei einer Variablenzuweisung dürfen keine Leerzeichen zwischen Variable und Wert sein.

Dein neues Skript wiederum kannst Du nicht explizit mit bash ausführen, sondern nur mit tcsh. Oder Du läßt, weil Du die sogenannte shebang line gesetzt hast, implizit die im Skript definierte /bin/tcsh verwenden, indem Du die Datei nur über den Skriptnamen aufrufst, z.B.: ./skript danke dir vielmals...sorry, in dem buch haben die eben bei einem "client-script" diese bash genommen, da hab ich sie auch genommen...

wie meinst du das mit "nur den skriptnamen aufrufen...?"...? wenn ich also
./shadow aufrufe, müsste das also gehen, auch wenn das script in /etc/init.d/shadow liegt...?

bin grad net an nem linux-pc, aber werds heute noch probieren....

gruss&danke
pablo

Destroyer69
08.05.03, 18:33
./blablub = im aktuellen Verzeichnis ausfuehren
/pfad/zum/script/blablub = von irgendwo aus ausfuehren

Belkira
08.05.03, 18:37
danke dir vielmals...sorry, in dem buch haben die eben bei einem "client-script" diese bash genommen, da hab ich sie auch genommen...
Du hast aber tcsh genommen, nicht bash. :ugly:

wie meinst du das mit "nur den skriptnamen aufrufen...?"...?

Wie rufst Du eine ausführbare Datei auf?

Indem Du sie inklusive (relativen oder absoluten) Pfad angibst.

wenn ich also
./shadow aufrufe, müsste das also gehen, auch wenn das script in /etc/init.d/shadow liegt...?
Nur, wenn Du Dich in /etc/init.d befindest. Denn der Punkt in ./ wäre das aktuelle Verzeichnis. Befindest Du Dich in einem anderen Verzeichnis, mußt Du den Pfad zum Skript angeben, notfalls absolut: /etc/init.d/shadow

Hatte angenommen, Du kennst bereits die Grundzüge. Lies mal ein paar Linux FAQs und frei verfügbare Einsteigerdokumentation, z.B. die Linux Fibel.

In /etc/init.d/shadow hat ein Firewall-Skript meiner Ansicht nach übrigens nichts zu suchen. Die empfohlene Art der Einbindung haben andere und ich ein paar Postings vorher schon genannt.

pablovschby
10.05.03, 17:37
Nur, wenn Du Dich in /etc/init.d befindest. Denn der Punkt in ./ wäre das aktuelle Verzeichnis. Befindest Du Dich in einem anderen Verzeichnis, mußt Du den Pfad zum Skript angeben, notfalls absolut: /etc/init.d/shadow gut, es ist gegeangen...
danke, dass du das alles geschrieben hast, aber ich hab eigentlich alles schon gewusst...
ich hatte mein skript als chmod 777-file im ordner "/home/pablo"... hab natürlich das skript immer nur mit dem absoluten pfad (/home/pablo/shadow) aufgerufen, das ist schon logisch...
Hatte angenommen, Du kennst bereits die Grundzüge. Lies mal ein paar Linux FAQs und frei verfügbare Einsteigerdokumentation, z.B. die Linux Fibel. bin ich genug dran, glaub mir

gruss&danke
pablo