Router nach erstem Reboot nicht mehr funktionsfähig...

Dieses Thema im Forum "OpenBSD - Installation, Pakete und Anwendungen" wurde erstellt von Herakles, 14 November 2003.

  1. Herakles

    Herakles Profifragensteller

    Registriert seit:
    2 Juni 2003
    Beiträge:
    1.024
    Wohnort:
    Emsdetten
    Hi allerseits!

    So, seit nunmehr einem Monat läuft mein OpenBSD 3.3 Router einwandfrei und ich bin sehr zufrieden mit Bedienbarkeit und Sicherheit. Da ja Anfang dieses Monats OpenBSD 3.4 erschienen ist, hab ich einen neuinstallation von 3.4 gemacht, vorher allerdings meine pf.conf gespeichert (die ja in 3.3 einwandfrei lief).

    Jetzt bin ich heute morgen die gesamte Installation nach dem Schema von

    http://www.fmi.uni-passau.de/~grafj/openbsd/3.3/

    abgegangen und AUF ANHIEB (oh wunder, oh wunder) funktionierte alles. Die Cleints im Netz hatten sofort Internetzugriff (hab direkt mal meine Mails abgerufen). Wohlgemerkt mit der "alten" pf.conf.

    Daraufhin habe ich einen reboot gemacht, um zu sehen, ob danach auch alles noch einwandfrei funktioniert und:

    Code:
    #ping 194.25.2.129
    PING 194.25.2.129 (194.25.2.129): 56 data bytes
    ping: sendto: No route to host
    ping: wrote 194.25.2.129 64 chars, ret=-1
    
    Okay, dann nochmal explizit pf gestartet, also:

    Code:
    #/sbin/pfctl -e -F all -f /etc/pf.conf
    rules cleared
    nat cleared
    atlq cleared
    states cleared
    pf: statistics cleared
    0 tables deleted
    no IP address found for tun0
    no IP address found for tun0
    /etc/pf.conf:39: could not parse host specification
    pfctl:syntax errot in config file: pfrules not loaded
    
    Mich macht vor allem stutzig, daß da "no IP address found for tun0" steht...
    Um möglichen Nachfragen vorzubeugen, nochfolgende Informationen:

    In der sysctl.conf steht folgendes:
    Code:
    pf=YES
    
    Und meine pf.conf sieht folgendermaßen aus: (jetzt wirds lang)
    Code:
    ## Makros
    netzkarte = "rl0"
    lankarte = "ne3"
    herakles = "192.168.0.10"
    junk_zero = "192.168.0.11"
    kobra = "192.168.0.12"
    tille = "192.168.0.13"
    freddi = "192.168.0.16"
    dienste = "{ ssh, ftp, auth, http, www, 53, 5190 }"
    ##, 24506, 24507, 24508, 24509, 24510, 24511 }"
    net_int = "192.168.0.0/24"
    tun_if = tun0
    
    ## Tables
    table <strasse>  { 192.168.0.10 192.168.0.11 192.168.0.12 192.168.0.13 192.168.0.16 }
    
    ## Options
    set block-policy return #wenn filter zutrifft, wird icmp unreachable gemacht
    set loginterface $netzkarte
    set optimization conservative #mehr speicher und cpu nutzung, dafuer werden idle connections gehalten
    set timeout interval 10 #nach X sekunden werden unvollstaendige pakete geloescht
    set timeout frag 30 #nach X sekunden laeuft ein unyusammengesetztes paket ab und wird in timeout interval geschoben
    
    ## Scrub - saeubern, waschen - fuegt fragmentierte pakete zusammen, schmeisst TCP pakete raus, die ungueltige flags haben - evtl. probleme bei einigen spielen
    scrub in on $netzkarte all random-id min-ttl 15 max-mss 1400 fragment reassemble
    
    ## NAT
    nat on $tun_if from $net_int to any -> ($tun_if)
    
    ## Portforward
    
    #Junk_Zero
    rdr on $tun_if proto tcp from any to tun0 port 4662 -> 192.168.0.11 port 4662
    #rdr on $tun_if proto udp from any to tun0 port 4672 -> 192.168.0.11 port 4672
    #rdr on $tun_if proto udp from any to tun0 port 4673 -> 192.168.0.11 port 4673
    #rdr on $tun_if proto udp from any to tun0 port 4800:4810 -> 192.168.0.11 port 4800:4810
    #rdr on $tun_if proto tcp from any to tun0 port 24500:24505 -> 192.168.0.11 port 24500:24505
    #rdr on $tun_if proto tcp from any to tun0 port 6881:6889 -> 192.168.0.11 port 6881:6889
    
    #Herakles
    #rdr on $tun_if proto tcp from any to tun0 port 4762 -> 192.168.0.10 port 4762
    #rdr on $tun_if proto udp from any to tun0 port 4772 -> 192.168.0.10 port 4772
    #rdr on $tun_if proto tcp from any to tun0 port 24506:24511 -> 192.168.0.10 port 24506:24511
    #rdr on $tun_if proto tcp from any to tun0 port 6891:6899 -> 192.168.0.10 port 6891:6899
    
    
    #Router
    #rdr on $lankarte proto tcp from any to $lankarte port 4080 -> 192.168.0.1 port 4080
    #rdr on $tun_if proto tcp from any to tun0 port 4862 -> 192.168.0.1 port 4862
    #rdr on $tun_if proto udp from any to tun0 port 4872 -> 192.168.0.1 port 4872
    
    block in on $tun_if all
    #block out on $netzkarte all
    pass in on $tun_if inet proto tcp from any to any port $dienste flags S/SAFR keep state label ServicesTCP
    pass in on $tun_if inet proto udp from any to any port $dienste keep state label ServicesUDP
    pass in quick on $tun_if inet proto tcp from any to any port 24506 >< 24511
    pass in quick on $tun_if inet proto tcp from any to any port 6891 >< 6899
    pass in quick on $tun_if inet proto tcp from any to any port 4762
    pass in quick on $tun_if inet proto udp from any to any port 4772
    pass in quick on $tun_if inet proto tcp from any to any port 4662
    pass in quick on $tun_if inet proto udp from any to any port 4672 >< 4673
    pass in quick on $tun_if inet proto tcp from any to any port 4862
    pass in quick on $tun_if inet proto udp from any to any port 4872
    pass in quick on $lankarte proto tcp from any to any port 4080
    pass in on $lankarte all
    pass out on $tun_if all
    pass out on $lankarte all
    #pass in all
    #pass out all
    
    Also, hat jemand ne Ahnung, wieso diese oben genannten Probleme erst nach dem reboot auftraten und wieso die vorher nicht da waren? Und vor allem: wie kann ich diese Probleme beheben?

    Für alle, die mich jetzt auf das Netzwerkdebugging von CW verweisen möchten:

    Ich habe das sehr wohl gelesen und mir ist auch klar, was in der pf.conf steht und was die Errormeldungen heißen(ich hab das Ganze hier eben schon vor nem Monat schonmal gemacht mit VIEL VIEL Arbeit), ich kann mir eben nur nicht erklären, wieso das vor dem reboot funktionierte und nach dem reboot nicht mehr. Also seid mir nicht böse, daß ich hier so ellenlangen Code reingeflammt habe...

    Gruß


    Herakles
  2. Herakles

    Herakles Profifragensteller

    Registriert seit:
    2 Juni 2003
    Beiträge:
    1.024
    Wohnort:
    Emsdetten
    Hmm... kann das sein, daß die Netzwerkkarte nen Schlag weg hat?
  3. Herakles

    Herakles Profifragensteller

    Registriert seit:
    2 Juni 2003
    Beiträge:
    1.024
    Wohnort:
    Emsdetten
    Ich betätige mich mal weiter als eigener Beantworter:

    Also, für tun0 is keine ipv4 adress assigned. Das wird mir gemeldet, wenn ich tcpdump auf rl0 mache.

    Bei "ifconfig rl0" wird mir ebenfalls nix für ipv4 angezeigt... hmm was hab ich denn da vorm reboot gelöscht, was nicht hätte gelöscht werden dürfen? Bin eigentlich streng nach der Anleitung gegangen.... Na mal sehen, was mir noch so einfällt.
  4. double-p

    double-p BOFH

    Registriert seit:
    6 September 2003
    Beiträge:
    416
    Wohnort:
    Stuttgart, Germany
    Hi,

    naja, dann ist dein PPPoE halt "noch nicht oben" - warum auch immer.
    Und pfctl kann dann natuerlich schlecht etwas in diese Rule packen.

    Dass auf rl0 keine IPv4 Adresse ist, ist normal. Aber tun0 sollte eine
    bekommen..

    HTH
  5. Ice

    Ice New Member

    Registriert seit:
    4 November 2003
    Beiträge:
    1.251
    Hi,

    ich denke mal, dass Du an der falschen Stelle nach der Lösung für Dein Problem suchst. Das Problem liegt nicht in der pf.conf, sondern im PPPoE.
    Wie double-p das schon erläutert hat, ist es absolut normal, dass rl0 keine IP hat, aber wenn Du die Fehlermeldung bekommst, dass tun0 keine IP-Adresse hat, dann bedeutet das wohl, dass die Interneteinwahl beim Neustart nicht automatisch erfolgt und auch kein dial-on-demand macht.
    Da die Verbindung schon funktioniert hat, würde ich mal darauf tippen, dass Dir einfach ein entsprechendes Startskript fehlt.

    Gruß,

    Ice
  6. Herakles

    Herakles Profifragensteller

    Registriert seit:
    2 Juni 2003
    Beiträge:
    1.024
    Wohnort:
    Emsdetten
    Damals habe ich das Problem wohl irgendwie gelöst, heute steh ich aber wieder mit etwas ähnlichem da, deshalb poste ich in diesen "alten" Thread, also:

    Nach nem Start des Rechners ist tun0 up und bekommt auch eine IP zugewiesen, jedoch wird das Ganze nicht an rl1, mein Internetinterface des Routers, gebunden. Ich habe eine hostname.rl1 erstellt, die schlicht den Inhalt

    Code:
    up media 10baseT
    
    hat. Trotzdem rennt mein Internet erst, wenn ich nach nem Neustart

    Code:
    # ifconfig rl1 up media 10baseT
    
    eingebe. Wieso passiert das nicht automatisch? Die LAN Karte wird automatisch konfiguriert (hostname.rl0 wird folglich gelesen...)

    Any suggestions?

    Herakles