tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
484
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    shrink shrink ist offline Mitglied
    Registriert seit
    Mar 2007
    Beiträge
    23
    Hab mir ein script für iptables geschrieben.
    Es liegt unter /etc/init.d/meinScript .
    Danach hab ich mit "ln -s /etc/init.d/meinScript /etc/init.d/rc3.d/S99meinScript" in den
    Initordner für runlevel 3 gelinkt.
    Wenn ich das das script mit "meinScript start" aufrufe t es.
    Jedoch nicht beim booten.
    Weiss jemand woran es liegt.
    Anbei das Script:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    
    #!/bin/sh
     
    ipt=/usr/sbin/iptables
     
    case "$1" in
     
        start)
            #######################################
            #vorhandene ketten und regeln loeschen
            #######################################
     
            $ipt -F
            $ipt -X
     
            #####################################
            #erst mal alles sperren
            #####################################
     
            $ipt -P INPUT DROP
            $ipt -P OUTPUT DROP
            $ipt -P FORWARD DROP
     
            #######################################
            #definieren was rein darf
            #######################################
     
            #http
            $ipt -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
     
            #https
            $ipt -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
     
            #ftp steuerdaten
            $ipt -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
     
            #ftp daten
            $ipt -A INPUT -i eth0 -p udp --dport 20 -j ACCEPT
     
            #ssh
            $ipt -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
     
            #dns tcp
            $ipt -A INPUT -i eth0 -p tcp --dport 53 -j ACCEPT
     
            #dns udp
            $ipt -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT
     
            #webmin
            $ipt -A INPUT -i eth0 -p tcp --dport 10000 -j ACCEPT
     
            ######################################
            #definieren was raus darf
            ######################################
     
            #http
            $ipt -A OUTPUT -o eth0 -p tcp --sport 80 -j ACCEPT
     
            #https
            $ipt -A OUTPUT -o eth0 -p tcp --sport 443 -j ACCEPT
     
            #ftp steuerdaten
            $ipt -A OUTPUT -o eth0 -p tcp --sport 21 -j ACCEPT
     
            #ftp daten
            $ipt -A OUTPUT -o eth0 -p udp --sport 20 -j ACCEPT
     
            #ssh
            $ipt -A OUTPUT -o eth0 -p tcp --sport 22 -j ACCEPT
     
            #dns tcp
            $ipt -A OUTPUT -o eth0 -p tcp --sport 53 -j ACCEPT
     
            #dns udp
            $ipt -A OUTPUT -o eth0 -p udp --sport 53 -j ACCEPT
     
            #webmin
            $ipt -A OUTPUT -o eth0 -p tcp --sport 10000 -j ACCEPT
            ;;
            
        stop)
            #######################################
            #vorhandene ketten und regeln loeschen
            #######################################
            
            $ipt -F
            $ipt -X
            
            #######################################
            #alles erlauben
            #######################################
            
            $ipt -P INPUT ACCEPT
            $ipt -P OUTPUT ACCEPT
            $ipt -P FORWARD ACCEPT
            
            echo "iptables config. set to default. All ports open."
            ;;
            
        status)
            echo "Statusabfrage noch nicht implementiert."
            ;;
            
        *)
            echo "Usage: {start|stop|status}"
            ;;
    esac
        
    exit 0
     

  2. #2
    andy72 andy72 ist offline Mitglied Platin
    Registriert seit
    Oct 2006
    Ort
    München
    Beiträge
    655
    Hat das Script denn die nötigen Berechtigungen ? --> chmod 0700 ?
     

  3. #3
    Avatar von Webstar
    Webstar Webstar ist offline Mitglied
    Registriert seit
    Feb 2007
    Ort
    Dresden(Sachsen)
    Beiträge
    21
    In welchen Runlevel startest Du beim booten?

    Test!
    Code :
    1
    2
    
    jens@webstar2:~$ /sbin/runlevel
    N 5

    Schönen Tag noch, man liest sich.
    Euer Jens Ornot alias Webstar
    Geändert von Webstar (11.09.07 um 13:05 Uhr)
     
    Linux from Scratch System - Release (6.3webstar_20090309)
    gcc (GCC) 4.2.2, Linux version 2.6.26.5, GNU C Library stable release version 2.7
    Fragen Sie ruhig!!
    Hier unsere Dienstleistungspreise:
    leichte Antworten: 3,- €;
    Antworten, bei denen man denken muß: 7,- €;
    ehrliche Antworten: 12,- €;
    und, weil es immer öfter vorkommt,
    Antworten auf dämliche und unnötige Fragen: 20,- €

  4. #4
    andy72 andy72 ist offline Mitglied Platin
    Registriert seit
    Oct 2006
    Ort
    München
    Beiträge
    655
    Als User hast Du gar kein Recht, einen Runlevel zu wechseln das ist nur root vorbehalten...
     

  5. #5
    Avatar von Webstar
    Webstar Webstar ist offline Mitglied
    Registriert seit
    Feb 2007
    Ort
    Dresden(Sachsen)
    Beiträge
    21
    Zitat Zitat von andy72 Beitrag anzeigen
    Als User hast Du gar kein Recht, einen Runlevel zu wechseln das ist nur root vorbehalten...
    Wie wechselt man den Runlevel?
    Naaa!

    per init 0...6! Oder?
    Natürlich darfst Du selbiges nur als Root!

    Du willst aber wissen in welchem Runlevel Du gerade bist?!
    Und das findest Du mit dem Befehl /sbin/runlevel heraus. Auch als Otto-Normaluser.

    Code :
    1
    2
    
    jens@webstar2:~$ /sbin/runlevel
    N 5
    Die erste Stelle steht für den voherigen Runlevel und die zweite Stelle für den momentaten Runlevel!
    N bedeutet das es keinen vorherigen Runlevel gab, und der Rechner in den Runlevel 5 bootete.
    Weiter Infos liefert man runlevel.

    Schönen Tag noch, man liest sich.
    Euer Jens Ornot alias Webstar
     
    Linux from Scratch System - Release (6.3webstar_20090309)
    gcc (GCC) 4.2.2, Linux version 2.6.26.5, GNU C Library stable release version 2.7
    Fragen Sie ruhig!!
    Hier unsere Dienstleistungspreise:
    leichte Antworten: 3,- €;
    Antworten, bei denen man denken muß: 7,- €;
    ehrliche Antworten: 12,- €;
    und, weil es immer öfter vorkommt,
    Antworten auf dämliche und unnötige Fragen: 20,- €

  6. #6
    shrink shrink ist offline Mitglied
    Registriert seit
    Mar 2007
    Beiträge
    23
    also default runlevel ist 3.
    das script wird auch aufgerufen da es unter chkconfig --list als on aufgelistet ist.

    edit: das script hat die nötigen rechte bzw. ist ausführbar.
     

  7. #7
    andy72 andy72 ist offline Mitglied Platin
    Registriert seit
    Oct 2006
    Ort
    München
    Beiträge
    655
    Sooooory @Webstar
    Ich hatte /sbin/runlevel gar ned gelesen, sondern /sbin/init - hatte wahrscheinlich nur die N 5 gesehen und dann etwas überreagiert

    @shrink
    Mit Deiner Erlaubnis kopiere ich Dein Script mal in mein Linux und werde das dann heute Abend mal testen - für mich sieht es aus, als dass es funktionieren muss.

    LG
    Andy
     

  8. #8
    shrink shrink ist offline Mitglied
    Registriert seit
    Mar 2007
    Beiträge
    23
    np,
    das es funktionieren müsste denk ich mir auch :P.
    wie gesagt es ist ja in der chkconfig --list im korrekten runlevel angezeit.
    händisch ausgeführt ist es null problemo und da es mit der priorität S99 auf gerufen wird, sollte auch alles nötige geladen sein. iptables bzw. netfilter an sich wird doch vor den init scripten zusammen mit den netzwerk cfg's geladen und müsste zum zeitpunkt zur verfügung stehen.
     

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 27.12.08, 20:32
  2. CSS wird nicht ausgeführt
    Von Zank im Forum CSS
    Antworten: 7
    Letzter Beitrag: 04.01.07, 17:14
  3. SQL wird nicht ausgeführt
    Von Azi im Forum PHP
    Antworten: 3
    Letzter Beitrag: 11.11.06, 13:11
  4. while wird nicht ausgeführt
    Von ICPUI im Forum PHP
    Antworten: 2
    Letzter Beitrag: 18.01.06, 18:06
  5. Weiterleitung wird nicht ausgeführt
    Von DrEvil im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 08.08.04, 21:17