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

Herakles

Profifragensteller
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
 
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.
 
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
 
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
 
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
 
Zurück
Oben