Shellscript automatisch starten?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
slottY
Beiträge: 11
Registriert: 24.10.2004 15:34:12
Kontaktdaten:

Shellscript automatisch starten?

Beitrag von slottY » 24.10.2004 15:37:26

Hi,
Ich habe mir unter debian woody ohne x auf einem alten K6/2 366 mit 64 MB Ram einen Router aufgesetzt. Gemacht habe ich das so:

Code: Alles auswählen

ifconfig eth0 192.168.0.1 up
ifconfig eth1 192.168.255.254 up

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

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0/0 -o ppp0 -j MASQUERADE
Das Problem ist dass ich das jedesmal eingeben muss wenn das System startet. Gibt es keine Möglichkeit das in ein Script zu packen und automatisch bei jedem start auszuführen? Die Suchfunktion habe ich schon benutzt *duck*. Bin um jede Hilfe dankbar!
"Vorstellungskraft ist wichtiger als Wissen" - Albert Einstein

trozmo
Beiträge: 288
Registriert: 05.01.2003 20:01:03
Kontaktdaten:

Beitrag von trozmo » 24.10.2004 15:53:01

du kannst das script unter /etc/rc2.d packen oder analog in /etc/init.d/ mit einem symlink nach rc2.d. alle scripte bzw. verweise in diesem ordner werden bei systemstart ausgeführt und zwar beginnend bei S01... aufsteigend.

dann vielleicht in S99routing umbenennen und im script die einzelnen befehle durch ein semikolon trennen.

alternativ kannst du natürlich auch ein "fremdes" firewallscript nutzen, z.b. dass von das von lutel, das wurde auch mal 'ne zeitlang direkt auf netfilter.org verlinkt => http://firewall.lutel.pl/index.php

slottY
Beiträge: 11
Registriert: 24.10.2004 15:34:12
Kontaktdaten:

Beitrag von slottY » 24.10.2004 16:22:23

Habe ich genauso gemacht.

Habe ein shellscript daraus gemacht wenn ich es mit "sh s99routing" aufrufe arbeitet es auch korrekt. Aber es wird wieder erwarten NICHT beim Systemstart ausfegührt :(.

Das Script befindet sich jetzt direkt in /etc/rc2.d und nicht mittels symlink (da ich davon leider noch keine Ahnung habe).

Sollte das Script denn starten wenn das System nur startet oder wenn ich mich einlogge? Ich hätte natürlich gern dass es ohne login startet da das Teil ja nen Server werden soll.

Btw. habe ich in meinem Debian Buch gelesen es gibt die Möglichkeit mittels /etc/profiles auch Sachen beim einloggen auszuführen.

Kann mir Jemand helfen? thx ;)
"Vorstellungskraft ist wichtiger als Wissen" - Albert Einstein

fluid
Beiträge: 494
Registriert: 14.11.2003 21:52:49

Beitrag von fluid » 24.10.2004 16:42:52

Ich denke, der Scriptname muss mit einem großen "S" beginnen. Den Link erzeugst du ganz einfach mit

Code: Alles auswählen

ln -s deine_originale_datei dein_link_name
Ich persönlich würde das Skript allerdings sowieso in /etc/network/interfaces unter pre-up aufrufen, dann wird es immer ausgeführt, bevor dass Netzwerkdevice aktiviert wird.

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 25.10.2004 12:54:04

Dafür gibt es das Tool "update-rc.d": das Script, was gestartet werden soll, nach /etc/init.d/ kopieren und dann mit "update-rc.d <scriptname> defaults" die Symlinks automatisch anlegen lassen. Mehr dazu mit "man update-rc.d". Die Datei /etc/init.d/skeleton ist ein Beispiel-Script, das man sich kopieren kann/soll, um sein eigenes Start/Stopscript zu bauen.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 25.10.2004 14:27:53

mistersixt hat geschrieben:Die Datei /etc/init.d/skeleton ist ein Beispiel-Script [...]
Und ich dachte schon, dass gehört zur "Advanced Dungeons & Debian"-Distribution :mrgreen:

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 25.10.2004 14:33:41

:mrgreen: :mrgreen: :mrgreen:
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

slottY
Beiträge: 11
Registriert: 24.10.2004 15:34:12
Kontaktdaten:

Beitrag von slottY » 25.10.2004 16:50:24

mistersixt hat geschrieben:Dafür gibt es das Tool "update-rc.d": das Script, was gestartet werden soll, nach /etc/init.d/ kopieren und dann mit "update-rc.d <scriptname> defaults" die Symlinks automatisch anlegen lassen. Mehr dazu mit "man update-rc.d". Die Datei /etc/init.d/skeleton ist ein Beispiel-Script, das man sich kopieren kann/soll, um sein eigenes Start/Stopscript zu bauen.

Gruss, mistersixt.
vielen dank, damit funktioniert es inzwischen auch. jetzt muss ich nur noch das webinterface von mldonkey auf die reihe kriegen und wunderbar :).

btw: mir ist aufgefallen dass der server ja jetzt erstmal alles ausspuckt , also nix mit firewall und so. gibts da nicht was ganz einfaches was erstmal alle ports zu macht und nur die auf die ich erlaube? (so wie fli4l)....

sry bin nub aber will das jetzt lernen :D
"Vorstellungskraft ist wichtiger als Wissen" - Albert Einstein

Benutzeravatar
b0LbiT
Beiträge: 262
Registriert: 30.05.2003 15:17:10
Wohnort: Köln

Beitrag von b0LbiT » 26.10.2004 07:53:08

ich bin mal ne ganze zei mit dem routing/firewallscript [1] gut zurechtgekommen....

bis ich mir dann einen router zugelegt habe

[1] http://home.bawue.de/~arny/fireroute

dort muss man jeden port einzeln freischalten
guss
b0LbiT

Jeder dumme Junge kann einen Käfer zertreten. Aber alle Professoren der Welt können keinen herstellen.
-- Arthur Schopenhauer

Antworten