ausführbares script erstellen und autostart des scriptes

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
cyrix71
Beiträge: 4
Registriert: 12.06.2003 13:48:01
Wohnort: an der Nordsee
Kontaktdaten:

ausführbares script erstellen und autostart des scriptes

Beitrag von cyrix71 » 12.06.2003 14:14:37

Moin aus dem hohen Norden,

ich weiß zwar nicht, ob ich hier richtig bin, aber meine Fragen passten irgendwie in keine andere Kategorie.
Ich habe einen Debian Server aufgesetzt und möchte einem dahinter sitzenden Netzwerk den Zugrif auf das Internet ermöglichen. Das klappt soweit auch ganz gut nur möchte ich ein script erstellen, das während des bootens bzw. danach automatisch ausgeführt wird.
Das script soll das ip forwarding und masquerading aktivieren und die Einwahl über dsl vornehmen.
Wie muss das script aussehen? Wo muss es platziert werden?

Ich hoffe hier eine Antwort zu bekommen. Google könnte mir bisher nicht wirklich weiterhelfen.
*life is a bitch and then you die*

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 12.06.2003 14:45:16

verschoben.

Benutzeravatar
CaT
Beiträge: 536
Registriert: 08.05.2003 07:59:46

Beitrag von CaT » 12.06.2003 15:02:57

hallo
hier etwas zur platzierung des script's:
um nun das script beim booten gestartet zu haben musst du eigentlich nur einige wenige dinge machen:

Code: Alles auswählen

cp /verzeichniss/name_des_scripts /etc/init.d/
ln -s /etc/init.d/name_des_scripts /etc/rc2.d/SXX_name_des scripts
XX ist dabei eine nummer die frei ist .. (schau einfach im verzeichniss /etc/rc2.d was noch frei ist) rc2.d musst du nehmen, weil es der default runlevel ist von debian (d.h. wenn debian bootet dann werden alle scripts die dort drinn sind ausgeführt)
unter umständen (oder zur sicherheit) mach die links (ln -s etc/init.d/name_des_scripts /etc/rc2.d/SXX_name_des scripts) noch nach rc3.d rc4.d und rc5.d



die andere möglichkeit (die viel einfacher ist ich würde das nehmen)

Code: Alles auswählen

update-rc.d default name_des_scripts
damit wird dein script automatisch in alle entsprechenden ordner kopiert (ich glaube es muss schon in /etc/init.d/ sein. kopier es sicherheitshalber ma dorthin)


hoffentlich konnte ich helfen
grüsse nach norden .)

cyrix71
Beiträge: 4
Registriert: 12.06.2003 13:48:01
Wohnort: an der Nordsee
Kontaktdaten:

Beitrag von cyrix71 » 12.06.2003 19:48:19

Hi CaT,

soweit war ich schon gekommen und habe bei deinen Anweisungen nochmal überprüft, ob ich alles richtig gemacht habe. Dies scheint der Fall zu sein, denn die Links existieren in den von dir genannten Verzeichnissen.
Ich tippe das ganze Ding mal eben ab, vielleicht liegt es an der Syntax, das es nicht funktioniert.

#!/bin/sh

ifconfig eth0 0.0.0.0
ifconfig eth1 192.168.0.1
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-to-mss-pmtu
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 1024:32768 -j DNAT --to 192.168.0.110
pon dsl-provider

Wenn ich die Befehle nacheinander am promt eingebe, funktioniert das ganze, automatisch, so wie es eigentlich sein soll, leider nicht.
Ist die Syntax richtig? Was mache ich falsch?
Vielen Dank schon mal für eine schnelle Hilfe!
*life is a bitch and then you die*

Benutzeravatar
CaT
Beiträge: 536
Registriert: 08.05.2003 07:59:46

Beitrag von CaT » 12.06.2003 21:05:47

also mein script sieht so ziemllich gleich aus.

kannst du denn das sciprt ausführen ? was kommen für meldungen ?

du musst die netzwerkkarte nicht jedesmal mit ifconfig einrichten es geht einfacher

einfach in /etc/network/interfaces
eintragen:

auto eth0
iface eth0 inet static
address 0.0.0.0
netmask dein netzmask

auto eth1
iface eth1 inet static
address 192.168.0.1
netmask ...

so sollte das gehen ..warum 0.0.0.0 ? ist das dhcp .. dann wäre der eintrag anders (in /etc/network/interfaces)

versuch sonst mal die vollen pfade einzutragen
z.b.

/sbin/ifconfig eth0 0.0.0.0
usw
um herauszufinden wo der befehl ist tipp ma

Code: Alles auswählen

whereis command

cyrix71
Beiträge: 4
Registriert: 12.06.2003 13:48:01
Wohnort: an der Nordsee
Kontaktdaten:

Beitrag von cyrix71 » 12.06.2003 21:41:30

Das ist ja gerade das Problem. Ich kenne mich mit scripting usw. nicht aus und deshalb bin ich mir auch nicht sicher, ob ich das script überhaupt in seiner jetzigen Form ausführen kann, oder ob die Syntax falsch ist.
Wenn ich die beiden Netzwerkkarten so konfiguriert habe, wie du mir das beschrieben hast, kann ich dann die Einträge aus dem script löschen?

Das 0.0.0.0 ist für die Netzwerkkarte, die zum DSL-Modem führt, oder ist das dann so nicht richtig?
Was muss ich tun, um zu sehen, ob sich das script ausführen lässt?
*life is a bitch and then you die*

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 12.06.2003 21:59:15

am einfachsten das Script mit ./scriptname ausführen, dazu solltest du in dem gleichen Vereichnis sein wie das Script. Eventuell hast Du auch vergessen das script mit chmod +x scriptname ausführbar zu machen?


Gruß

Dookie

Benutzeravatar
CaT
Beiträge: 536
Registriert: 08.05.2003 07:59:46

Beitrag von CaT » 12.06.2003 22:28:51

ja es muss natürlich ausführbar sein um zu testen.

tipp mal

Code: Alles auswählen

ifconfig -a
ein dann siehst du ob die einstellungen stimmen (so wie ich gesagt hab) sonst lässt du 's halt im script aber normalerweise trägt man das dort ein.

also das script sollte von de syntax her stimmen hat auch sonst keine fehler. die berechtigung halt ...

cyrix71
Beiträge: 4
Registriert: 12.06.2003 13:48:01
Wohnort: an der Nordsee
Kontaktdaten:

Beitrag von cyrix71 » 13.06.2003 11:35:22

Das hat geholfen!!! Bei der Gelegenheit habe ich auch festgestellt, dass die IP Adressen der beiden Netzwerkkarten in /etc/network/interfaces vertauscht waren. Dann kann es ja auch nicht hinhauen.
Vielen Dank für eure Hilfe!
*life is a bitch and then you die*

Benutzeravatar
CaT
Beiträge: 536
Registriert: 08.05.2003 07:59:46

Beitrag von CaT » 13.06.2003 11:45:18

np viel spass ....

Majestic
Beiträge: 557
Registriert: 06.08.2003 17:04:15
Wohnort: Dortmund

Beitrag von Majestic » 10.11.2003 19:31:37

Hallo,

um das Thema wieder aufzugreifen ;)

Ich habe ne Logitech Tasta mit schnellstart tasten die ich jedesmal mit "hotkeys --tpye=itouch" aktivieren muss...

wie man das mit dem autostart klappt weiß ich ja jetzt, nur wie mach ich dass, das der auch meine user "sven" dafuer verwendet?


Danke

Sven
System
Debian 4.0 "Etch"
Kernel 2.6.18
Gnome 2.6

Antworten