OpenBSD als DSL-Router und Desktop: routet nicht und KDE gönnt sich Ruhepausen

Baseballbatboy

Cpt. Baseballbatboy
Moin zusammen,

da ist man im Urlaub und was hat man davon? Nichts, denn man erfährt dann so nebenbei dass die Festplatte der Linuxkiste defekt ist und nichts mehr geht. Also hab ich mich breitschlagen lassen, den Rechner neu aufzusetzen und nebenbei auch noch als DSL-Router arbeiten zu lassen, für 1 Windows-Client.
Ich mit meiner großen Schnauze sag natürlich "klar, kein Problem, kommt OpenBSD drauf".
Wenn ich vorher gewusst hätte, was das für Probleme gibt! Wenigstens schult es mich im Umgang mit dem System.

Jetzt aber zu Problem No. 1, das ist das wichtigere, deshalb hier unter Netzwerke: er routet nicht.

PPP/PPPOE funktioniert, ich kann auch vom Router ins Internet pingen, kann Webseiten aufrufen etc., also alles was der soll. Egal ob mit oder ohne pf.

Jetzt aber der Windows-Rechner: ping von und zum Router geht, aber nicht darüber hinaus.
Also verschiedene Sachen ausprobiert bzw. nachgeschaut:
- net.inet.ip.forwarding=1 =>OK
- Standardgateway auf Windows-Host ist der Router => OK
- wenn PPP aktiv wird default-Route gesetzt => OK
- nur NAT geladen: nichts.
- nur Filter geladen: nichts.
- nur Filter geladen und PPP als NAT missbraucht: nichts.
- pf disabled und PPP als NAT missbraucht: nichts.
- tcpdump auf interne Netzwerkkarte ausgeführt: ja, Pakete kommen an (war ja klar)
- tcpdump auf tun0 (ppp-Device) ausgeführt: nichts.
- pfctl -ss zeigt Verbindung von internem Rechner zu angepingtem Host an: Host im I-Net <- interner Rechner
- möglicherweise interessant: nach einem Ping vom Windows-Host erhöht sich die Anzahl der durch pf auf tun0 geblockten eingehenden Pakete um 4, also genau die zu erwartenden Antworten; deshalb würde ich auf ein NAT-Problem tippen? (denn ping vom Router auf den gleichen Host geht).

Die Regeln von PF sind sehr konservativ, aus der PF-Doku letztes Beispiel:
Code:
#macros
ext_if="tun0"
int_if="sis1"

tcp_services = "{22}"

priv_nets="{127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8}"

icmp_types="echoreq"

#options
set block-policy return
set loginterface $ext_if

#scrubbing
scrub in all

#nat
nat on $ext_if from $int_if:network to any -> ($ext_if)

#filter rules
block all

pass quick on lo0 all

block drop in quick on $ext_if from $priv_nets to any
block drop out quick on $ext_if from any to $priv_nets

pass in on $ext_if proto tcp from any to ($ext_if) port $tcp_services flags S/SA keep state

pass in inet proto icmp all icmp-type $icmp_types keep state

pass in on $int_if from $int_if:network to any keep state
pass out on $int_if from any to $int_if:network keep state

pass out on $ext_if proto tcp all keep state flags S/SA
pass out on $ext_if proto {udp, icmp} all keep state

Meine ppp.conf, falls es wen interessiert:
Code:
default: 
	set log Phase Chat LCP IPCP CCP tun command

pppoe:
	set device "!/usr/sbin/pppoe -i sis0"
	set mtu max 1492 
	set mru max 1492
	set speed sync
	set dial
	set login
	disable acfcomp protocomp
	deny acfcomp
	set authname "authname"
	set authkey "****"
	enable dns
	enable mssfixup
	add! default HISADDR

Vorschläge oder Ideen? Den Sticky hier in Netzwerke habe ich durchgelesen, aber womöglich was übersehen?

So, und nun Problem No. 2: KDE gönnt sich Ruhepausen

Nachdem ich mich tagelang damit herumgequält habe, den kdm beim Systemstart anzuwerfen, habe ich es nun aufgegeben und benutze den xdm. Das funktioniert, KDE wird flott geladen, aber dann: plötzlich ist Stille, nichts geht.
Programme lassen sich zuerst scheinbar starten, doch verschwinden dann im Nirwana.
Nach mehreren Kaffeeminuten kommt dann plötzlich Bewegung in die Sache, alle Programme, die man starten wollte, erscheinen plötzlich und die KDE rennt.

Ich habe die Kontrollleiste im Verdacht. Denn als ich noch den kdm von der Konsole gestartet habe, blieb er beim Splash-Screen genau da hängen, bei 71% und dann erstmal nichts mehr.
Mit X oder KDE kenne ich mich nun so gut wie garnicht aus, sagt mir bitte welche Dateien/Logs Ihr sehen möchtet.
XFree86.log ist übrigens völlig sauber, keine Fehler.
fc-cache (steht in der Wiki) habe ich auch schon ausgeführt.

Gruß
Cpt.
 
das mit dem "wartet lange und laeuft dann" klingt fuer mich verdaechtig danach, dass der versucht nach deinem rechnernamen im netzwerk zu suchen und erst danach auf die /etc/hosts zugreift.
was steht in der datei bei dir drinne? ist dort localhost mit eingetragen? was passiert, wenn du x im failsafe-modus startest, und als windowmanager twm oder fvwm verwendest? sind auf deiner kontrolleiste irgendwelche "lustigen" applets die eine internetverbindung haben moechten?
 
localhost ist eingetragen, ebenso der Rechnername für beide Interfaces.

Ich habe aber gerade festgestellt, dass es nur meinen Account betrifft, nicht den der anderen beiden User. Deren KDE startet nach einem kompletten reboot sofort.
Und: nachdem einmal die KDE vollständig geladen wurde, kann ich mich an- und abmelden, egal mit welchem Account, keine Probleme.

Auf meiner Kontrolleiste befindet sich z. Z. nur der Klipper, sonst nichts.

Edit:
von wegen, nur mein Account. Als ob die KDE mich ärgern wollte tritt das Problem nun auch bei anderen Nutzern auf. Dreckmist.

Gruß
Cpt.

P.S.: bevor sich irgendjemand denkt, der Cpt. soll dann doch einen anderen WM benutzen: hier lief vorher Linux mit KDE und man möchte sich nicht schon wieder umgewöhnen.
 
Zuletzt bearbeitet:
Hi,

es ist zwar keine direkte Lösung. Aber ich habe letztes Wochenende bei meiner Freundin auch OpenBSD mit Routereinsatz draufgemacht. Dazu habe ich folgende Anleitung benutzt. http://www.fmi.uni-passau.de/~grafj/openbsd/3.5/index.html
Ich habe auch schon öfters Empfehlungen auf diese Anleitung gelesen.

Vielleicht routet er dann ja wenigstens.


Gruss Tobi
 
Uh... äh... frag mich was :D

Halt den, der Standard ist. Muss ich den ändern?

Edit: kern.securelevel=1

Gruß
Cpt.
 
Zuletzt bearbeitet:
Wenn Du ihn nicht geändert hast sollte er noch bei 1 stehen. Ich hatte nur letztes Wochenende mit dem Script, das Verhalten dass ich bei 2 keine Routingfunktion mehr hatte. Das liegt denke ich daran, das ich die pf Regeln nicht mehr ändern kann.

Edit: Was mir grad einfällt, hast Du ip.forwarding aktiviert?
 
Zuletzt bearbeitet von einem Moderator:
Baseballbatboy schrieb:
- net.inet.ip.forwarding=1 =>OK

Ich denke schon.

Es gibt jetzt noch ein 3. Problem:

und zwar ist das hier keine reine DSL-Flat, sondern mit flexiblem Tarif: unter 100h online kostets 10¤ weniger.
Mit ppp -auto kann man zwar ein Dial-on-Demand mit Timeout aktivieren, dummerweise wird die Verbindung von Paketen, die von außerhalb eintreffen (vor allem an Port 445 :zitter: ) aufrecht erhalten. Gibt es da eine Lösung, dass ppp trotzdem auflegt?

Gruß
Cpt.
 
Baseballbatboy schrieb:
- möglicherweise interessant: nach einem Ping vom Windows-Host erhöht sich die Anzahl der durch pf auf tun0 geblockten eingehenden Pakete um 4, also genau die zu erwartenden Antworten; deshalb würde ich auf ein NAT-Problem tippen?
sind das eingehende oder ausgehende pakete? falls du keinen schimmer hast: versuch mal 129.70.4.55 anzupingen. das ist die uni bielefeld, (jaja, keine witze bitte, die nerven nur), denen kannst du zwar ein ping schicken, bekommst aber kein pong zurueck. findest du trotzdem geblockte pakete, dann weissts dus.

ansonsten:
hast dus schonmal mit einer etwas weniger restriktiven pf.conf probiert?
Code:
nat on tun0 from sis1:network to any -> (tun0)
(ist nen schuss ins blaue, mein router faehrt solaris)
 
Zuletzt bearbeitet:
Du meinst, nur die NAT-Regeln laden? Schon getan:

Baseballbatboy schrieb:
- nur NAT geladen: nichts.
[...]
- pf disabled und PPP als NAT missbraucht: nichts.

Das ist ja das was mir so merkwürdig erscheint. Wenigstens das sollte doch gehen, oder?

Achso, bevor noch jemand fragt:
pf wird über ppp.linkup/down sauber gestartet und beendet. Ebenso wird die default-route per linkdown gelöscht.

Gruß
Cpt.
 
Zuletzt bearbeitet:
seas,

hab zwar noch nie was mit dsl zu tun gehabt ;) nicht lachen ...

aber wieso heißt in deiner ppp.conf das netzwerkinterface sis0 und in der pf.conf die ext_if tun0 ?
sollte da dann nicht auch sis0 stehen ?

ciao
 
das ist schon richtig so. sis0 ist das device wo das modem dranhängt und tun0 wird quasi bei einer erfolgreichen verbindung angelegt. wenn du sis0 hier angeben würdest wird nicht sehr viel passieren.
 
Problem No. 2 existiert nicht mehr: es war tatsächlich ein DNS-Problem. Ich hab mit pdnsd einen DNS-Cache eingerichtet und jetzt geht das.

Gruß
Cpt.
 
@ s-tlk
thx; hab das nicht gewußt/gebraucht da ich ein kabelmodem hab; wieder eine bildungslücke weniger ...

@ baseballbatboy
was passiert, wenn du unter "#filter rules" als erstes sofort "pass quick all" eingibst -> keine firewall ?



ciao
 
Zurück
Oben