Autostart, Dienste: Was startet wen

fanste

Neuer User
Mitglied seit
13 Apr 2006
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Hi,

Ich habe mal eine Frage zu den Diensten/Autostarts der FritzBox.

Soweit ich das bisher verstanden habe, liegt das Script, welches alle Dienste, usw starten in /etc/init.d/.
Aber welches Script ist dafür zuständig? Welches Script ist der Auslöser für die anderen Scripte.

Und wo steht, welche Dienste gestartet werden dürfen. Auch in diesem Script, oder gibt es dafür nochmal eine Extradatei?

Und dann noch eine spezielle Frage zum ds-mod. Wo wird dort gespeichert, welcher der zum Mod gehörenden Dienste gestarten werden sollen?

Viele Fragen, ich weis. Ich hoffe ihr könnt mir die beantworten.

Danke schonmal.

Gruß fanste
 
Das Skript rc.S wird von init aufgerufen, welches wiederum die anderen Startskripte aufruft.
 
Hi,

Danke für deine Antwort.

Noch eine Frage habe ich. Was muss ein Script alles erfüllen, um als Dienst (auch Deamon genannt, oder?) zu laufen?

Gruß fanste
 
fanste schrieb:
Und dann noch eine spezielle Frage zum ds-mod. Wo wird dort gespeichert, welcher der zum Mod gehörenden Dienste gestarten werden sollen?
Das entscheidet jedes Paket für sich (und merkt sich z.B. den Wunsch des Benutzers in einer Konfigurationsvariable): Beim Start des ds-mods werden einfach alle rc-Skripte der Pakete ohne Argument aufgerufen; also kann in jedem Skript separat entschieden werden, ob der Dienst automatisch gestartet werden soll.

Andreas
 
@fanste:
Das ist jetzt die Frage: Meinst du generell einen Shell Skript Daemon oder redest du vom ds-mod?

@buehmann:
Ich glaube fanste will sich ein eigenes Shell Skript als Daemon basteln. Damit kennst du dich besser aus als ich (nohup etc.)

Mfg,
danisahne
 
danisahne schrieb:
@fanste:
Das ist jetzt die Frage: Meinst du generell einen Shell Skript Daemon oder redest du vom ds-mod?

Es wäre bestimmt nicht schlecht, wenn ich es in beiden Fällen wüsste. Aber hauptsächlich geht es mir darum, wie ich einen Deamon scripte, der unter Linux läuft, also ohne ds-mod funktioniert.
 
danisahne schrieb:
Ich glaube fanste will sich ein eigenes Shell Skript als Daemon basteln. Damit kennst du dich besser aus als ich (nohup etc.)
nohup habe ich doch noch nicht gebraucht. Alles, was ich beim Start des Callmonitors mache, ist ein Fork und das Beenden des Vaterprozesses; funktioniert bisher problemlos:
Code:
#! /bin/ash
work() { ...; }
work &
exit

Andreas
 
Kann mir das keiner sagen?


Noch eine kleine Frage.
Was müsste mein Programm können, um den Internettraffic zu ermitteln und den einzelnen Usern im Netzwerk zu zuordenen?
 
fanste schrieb:
Kann mir das keiner sagen?
Buehmann hat es doch schon beantwortet. Was fehlt dir an der Antwort?
fanste schrieb:
Was müsste mein Programm können, um den Internettraffic zu ermitteln und den einzelnen Usern im Netzwerk zu zuordenen?
Es müßte sich im Kernel Space befinden ;) und sich in den IP Paketstrom irgendwo einhängen. Da das Routing komplett im Kernel stattfindet, kannst du mit einem User Space Prozess hier nichts abfangen. Die beste Methode, die ich kenne ist iptables. Netfilter gibt dir auch die Möglichkeit Bytes für die einzelnen Regeln zu zählen, die du mit iptables dann wieder auslesen kannst. ipac-ng macht das beispielsweise so. Das funktioniert aber alles nicht mit dem original Kernel, da mußt du schon den Kernel kompilieren oder den ds-mod verwenden.

Mfg,
danisahne
 
HI,

Ich habe mir ipac-ng mal angeschaut, bzw nach Downloadmöglichkeiten gesucht. Bei einer stand dabei, was alles benötigt wird. Das ist ziemlich viel. Kann man das so soweit hinuter bekommen, dass nur noch das enthalten ist, was ich benötige. Soweit ich jetzt weis, ist da ja auch etwas enthalten, um die ganzen Zahlen grafisch darzustellen. Soetwas brauche ich ja z.B. nicht.

Ansonsten werde ich mich mal noch über Netfilter schlau machen.
 
Zuletzt bearbeitet:
ipac-ng wirst du auch nicht verwenden können, weil es Perl Skripte enthäl. Ich hab es nur wegen der Idee genannt.
 
Ups, da habe ich wohl etwas zu schnell gelesen.

Zu netfilter. Kann es sein, dass manche Module noch fehlen? (habe den ds-mod drauf). Z.B. finde ich "iptable_nat.o" nicht. Wird doch von netfilter benötigt.
Die Module kann ich ja einfach per "make menuconfig" nachladen. Aber welche Module benötige ich außer diesem noch, um das Vorhaben zu realisieren?
 
Zuletzt bearbeitet:
Habe mich jetzt einmal daran versucht.
Folgende Zeile z.B.
Code:
Apr 18 01:56:50 (none) user.info kernel: Netfilter NOTICE: IN=lan OUT=dsl SRC=192.168.178.20 DST=84.168.224.219 LEN=1064 TOS=0x00 PREC=0x00 TTL=127 ID=41597 DF PROTO=TCP SPT=3371 DPT=12349 WINDOW=32191 RES=0x00 ACK PSH URGP=0

Wer es geschickt hat, sehe ich ja hier: SRC=192.168.178.20
Dann fehlt mir noch die Datengröße. Ist die hier abzulesen? LEN=1064 (in Byte?)

Aber wenn ich das so mache, ist das für die FB ja ziemlich belastend, da sie ja ständig (ca alle 1-2 Sekunden) am Eintragen in der Logdatei ist.
Geht das komfortabler? Gibt es außer der Verwendung von ulogd eine Möglichkeit für solche LOGeinträge eine extra Datei anzulegen? Kann ich auch nur SRC, DST und LEN speichern?
 
Schau dir mal die Optionen -vxL an.
 
Wenn ich noch die Option -v mit angebe, steht im Logfile nur "PSH" noch dabei. Also eine extra Information, mit der ich nichts anfagen kann ;) . -x will er mir garnicht erst zulassen.
Illegal option '-x' with this commann

Folgendes habe ich eingegeben:
Code:
iptables -A loggen -x -j LOG --log-level 6 --log-prefix "Netfilter NOTICE: "

Und -L gibt mir ja nur die bestehenden Tabellen mit den Regeln aus.
 
Du kannst -x nur mit -L angeben, das ist ja der Trick! Du hast dir den Link nicht genau genug angeschaut, weil es auf der man page eigentlich genau beschrieben ist:
This option is only relevant for the -L command.

Jetzt lies dir das mal bitte nochmal aufmerksam durch.

Mfg,
danisahne
 
Irgendwie bin ich jetzt zu blöd dazu.

Ich will die Regel erstellen, dass alle Packete, die durch den Router gehen geloggt werden. Daraus benötige ich dann wiederrum Sender/Empfänger und Größe.

Um eine Regel zu erstellen, muss man die Option -A angeben.
Wenn ich nun also
Code:
iptables -A loggen  -j LOG --log-level 6 --log-prefix "Netfilter NOTICE: "
funktioniert es. Nur ist es mir eben zu viel, was in der LOG steht und ich weis die genaue Datengröße nicht.

Deine genannten Optionen funktionieren ja nicht mit -A. Zumindest -L nicht. Die Kombination -vxL funktioniert nur direkt in der Konsole, um mir mehr Infos zu zeigen. (und diese sind dann ja auch nicht der IP zugeordnet.) Ich will es aber später, sobald alles läuft, ohne Konsole machen.

Außerdem brauche ich nur die oben genannten Infos aus der LOG. Daher wollte ich wissen, ob man diesen Output auf das Wichtige beschränken kann.

Ich hoffe, dass es nun etwas verständlicher ist, was ich meine.
 
  1. Du brauchst nicht unbedingt eine Log Regel es langt völlig, wenn du in der Chain gleich wieder mit -j RETURN zurück springst
  2. Für jede IP Adresse, die du unterscheiden willst brauchst du eine eigene Chain (anscheinend gibt es die Zähler nur pro Chain) EDIT: müßte doch auch mit jeder Regel funktionieren.
  3. Wenn ich auf meinem Rechner (hab die Fritzbox jetzt nicht in Reichweite) `iptables -xvL' eingebe, dann kommt da das als Ausgabe:
    Code:
    Chain INPUT (policy ACCEPT 63 packets, 12928 bytes)
        pkts      bytes target     prot opt in     out     source               destination
    
    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
        pkts      bytes target     prot opt in     out     source               destination
           0        0 ACCEPT     tcp  --  any    any     anywhere             anywhere
    
    Chain OUTPUT (policy ACCEPT 15 packets, 1162 bytes)
        pkts      bytes target     prot opt in     out     source               destination
    Natürlich mußt du das an deine Logging Chains anpassen (z.B. iptables -xvL logger), aber ich da stehen doch die Byte und Paket Zähler.

Mfg,
danisahne
 
Zuletzt bearbeitet:
Wie genau soll ich das mit den verschiedenen Chains pro IP machen (2.)? Die werden bei mir per DHCP zugewiesen un ändern sich ab und zu einmal für einen Rechner. Soll ich dann 255 Regeln erstellen?

Ansonsten meinst du es wahrscheinlich so, wenn ich dich recht verstanden habe.

Code:
iptables -N IP1
iptables- A IP1 -j RETURN
iptables -N IP2
iptables- A IP2 -j RETURN

usw...

iptables -A FORWARD -j IP1
iptables -A FORWARD -j IP2

usw...

Ausgabe kann dann mit iptables -vxL bekommen und ausgewertet werden.

Gruß fanste

PS: Ich hoffe, ich geh dir nicht allmählich auf den Geist :)
 
Wie willst du mit dynamischen IPs den Traffic bestimmten Rechnern bzw. Personen zuordnen? Du solltest dann natürlich schon feste IPs verwenden (kannst du auch per DHCP fest vergeben - z.B. mit dnsmasq fest einer MAC Adresse zuordnen) und dann alle anderen IPs oder MAC Adressen verbieten. Sonst hast du nicht die Kontrolle über den Traffic, der über die Box geht und ich denke mal du willst überprüfen, wer wieviel Traffic macht.

Ich hab jetzt mal bei ipac-ng nachgeschaut und du müßtest auch per Regel und nicht nur per Chain loggen können:

Erzeuge also eine Logging Chain in der du an der Stelle verzweigst, an der du loggen willst. Versuch mal fogendes (habs nicht getestet):
Code:
iptables -N LOGGING
iptables -A LOGGING -s 1.1.1.1
iptables -A LOGGING -d 1.1.1.1

Auslesen kannst du es mit
Code:
iptables -xvL LOGGING
Funktioniert es prinzipiell? Du solltest jetzt eine Idee haben, wie man es machen kann, weitergehende Dinge müßte ich auch nachlesen, testen und ausprobieren.

Mfg,
danisahne
 
Kostenlos!

Statistik des Forums

Themen
248,888
Beiträge
2,303,994
Mitglieder
378,568
Neuestes Mitglied
me2k