Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

17.04.2011, 13:29

Script automatisch ausführen?

Hallo,
ich habe ein script, welches ein paar iptables Regeln einspeisen soll, erstellt.

Hier das script:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
## BEGIN INIT INFO
# Provides:      	fw_regeln.sh
# Required-Start:	$on system boot
# Required-Stop: 	$by shutdown
# Default-Start: 	2 3 4 5
# Default-Stop:  	0 1 6
# Short-Description: opens iptables routes from host
# Description:   	opens routes in iptables to get full access
### END INIT INFO
#
#!/bin/sh
#
# oeffne die iptables Regeln
#

sleep 25;
# nat configuration
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.3 -j MASQUERADE 
iptables -t nat -A PREROUTING -i eth0 -d 192.168.1.3 -p tcp --dport 80 -j DNAT --to 127.0.0.1:10080
exit;


Das script liegt unter /home/scripte/script1.sh

Dann habe ich im Netz eine uralte Anleitung irgendwo gefunden und habe folgendes danach gemacht:

script "local.autostart" erstellt -

Quellcode

1
vi /etc/init.d/local.autostart

ausführbar gemacht -

Quellcode

1
chmod +x /etc/init.d/local.autostart
die links erzeugt -

Quellcode

1
update-rc.d local.autostart defaults 80


Das Script "local.autostart" sieht so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
### BEGIN INIT INFO
# Provides:      	local.autostart
# Required-Start:	$start
# Required-Stop: 	$shutdown
# Default-Start: 	2 3 4 5
# Default-Stop:  	0 1 6
# Short-Description: exec scripts on boot
# Description:   	start scripts on system boot
### END INIT INFO

#!/bin/sh
/home/scripte/script1.sh


Aber "script1.sh" startet nicht - es werden keine Regeln geöffnet in iptables. Was mache ich falsch?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Chedak« (17.04.2011, 14:32)


2

17.04.2011, 14:33

Halt sich erledigt.

Ich hätte in dem "local.autostart" script folgende Zeile ändern müssen:

Quellcode

1
2
#!/bin/sh
sh /home/scripte/script1.sh

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

3

26.09.2011, 13:08

Es hätte auch gereicht, wenn du das script script1.sh selbst ausführbar gemacht hättest (chmod +x).
Übrigens der shebang Operator in der Form #!/bin/sh macht nur in der ersten Zeile eines Scriptes Sinn, in allen anderen Zeilen wird der Eintrag als Kommentar behandelt und deshalb ignoriert.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

Thema bewerten