ausführbares script erstellen und autostart des scriptes
ausführbares script erstellen und autostart des scriptes
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.
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*
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:
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)
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 .)
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
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
hoffentlich konnte ich helfen
grüsse nach norden .)
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!
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*
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
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
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?
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*
ja es muss natürlich ausführbar sein um zu testen.
tipp mal
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 ...
tipp mal
Code: Alles auswählen
ifconfig -a
also das script sollte von de syntax her stimmen hat auch sonst keine fehler. die berechtigung halt ...
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
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
Debian 4.0 "Etch"
Kernel 2.6.18
Gnome 2.6