Baseballbatboy
Cpt. Baseballbatboy
Nabend zusammen,
nachdem mein Tablet zuverlässig unter OpenBSD läuft wollte ich jetzt endlich mal mein WLAN richtig absichern, also nicht per WEP, sondern mit IPSec. Es gab dazu mal eine Beschreibung mit OpenVPN, aber ich wollte die Bordmittel verwenden, vor allem nach dem ich den berühmten Artikel "Zero to IPSec in 4 minutes" gelesen habe. An der dortigen Vorgehensweise habe ich mich auch orientiert.
Mal die Netzstruktur:
$wired
Das kabelgebundene Netz hat den Bereich 10.0.0.0/24, das WLAN 10.0.1.0/24
Die /etc/ipsec.conf:
Der erste Eintrag ist der flow von überall zu meinem Tablet, der andere von meinem Router zum Tablet (ist vermutlich überflüssig).
Die ipsec.conf auf dem Tablet:
Es existiert (noch) keine isakmpd.conf oder *.policy, ist auch erstmal nicht nötig. Die flows und SADBs werden auch einwandfrei erstellt, ping auf beliebige Websites oder in mein $wired funktioniert.
Nur halt nichts "größeres". Wie zum Beispiel kein http, imap, smtp, smb. Inzwischen läuft auf dem Router ein transparenter Squid, so dass ich wenigstens Webseiten ansurfen kann. Das (also den Squid) wollte ich aber nicht (auch wenn ich inzwischen mit dem Gedanken spiele, den für das gesamte Netz zwangsweise zu verwenden - mit dem kann man doch bestimmt ne Menge filtern?), und zufriedenstellend ist der Zustand auch nicht.
An der pf.conf liegt es nicht, so wie ich das sehe. Trotzdem mal die wichtigen Passagen:
Das sollte es gewesen sein.
Was mich darin ziemlich sicher macht, dass das Problem nicht an der pf.conf liegt:
- ein set skip enc0 bringt kein besseres Ergebnis
- ich kann Verbindungen zu Webservern und SMB-Hosts in meinen Netzen aufbauen, kann bei smb sogar die Ordnerstruktur durchsuchen, aber sobald es an etwas wichtiges geht (also an die Daten selber) oder ein SMB-Ordner auch Dateien enthält ist Hängen im Schacht.
Und jetzt fällt mir einfach nichts mehr ein. Euch vielleicht? Hab ich was überlesen? Ein grundsätzlicher Fehler?
Gruß
Baseballbatboy
P.S.: das SMB-Problem könnte auch mit der Konfiguration desselben zusammenhängen, die hab ich noch nicht angepasst.
nachdem mein Tablet zuverlässig unter OpenBSD läuft wollte ich jetzt endlich mal mein WLAN richtig absichern, also nicht per WEP, sondern mit IPSec. Es gab dazu mal eine Beschreibung mit OpenVPN, aber ich wollte die Bordmittel verwenden, vor allem nach dem ich den berühmten Artikel "Zero to IPSec in 4 minutes" gelesen habe. An der dortigen Vorgehensweise habe ich mich auch orientiert.
Mal die Netzstruktur:
$wired
> router ---- inet
$wlan Das kabelgebundene Netz hat den Bereich 10.0.0.0/24, das WLAN 10.0.1.0/24
Die /etc/ipsec.conf:
Code:
# cat /etc/ipsec.conf
ike esp from 0.0.0.0/0 to 10.0.1.100
ike esp from 10.0.1.254 to 10.0.1.100
Der erste Eintrag ist der flow von überall zu meinem Tablet, der andere von meinem Router zum Tablet (ist vermutlich überflüssig).
Die ipsec.conf auf dem Tablet:
Code:
# cat /etc/ipsec.conf
ike esp from 10.0.1.100 to 0.0.0.0/0 peer 10.0.1.254
ike esp from 10.0.1.100 to 10.0.1.254
Es existiert (noch) keine isakmpd.conf oder *.policy, ist auch erstmal nicht nötig. Die flows und SADBs werden auch einwandfrei erstellt, ping auf beliebige Websites oder in mein $wired funktioniert.
Nur halt nichts "größeres". Wie zum Beispiel kein http, imap, smtp, smb. Inzwischen läuft auf dem Router ein transparenter Squid, so dass ich wenigstens Webseiten ansurfen kann. Das (also den Squid) wollte ich aber nicht (auch wenn ich inzwischen mit dem Gedanken spiele, den für das gesamte Netz zwangsweise zu verwenden - mit dem kann man doch bestimmt ne Menge filtern?), und zufriedenstellend ist der Zustand auch nicht.
An der pf.conf liegt es nicht, so wie ich das sehe. Trotzdem mal die wichtigen Passagen:
Code:
# interfaces
ext_if="tun0"
int_if="pcn0"
vpn_if = "enc0"
wlan_if = "ath0"
# hosts
tablet = "10.0.1.100"
router_wired = "10.0.0.254"
router_wlan = "10.0.1.254"
$int_nets = { "10.0.0.0/24", "10.0.1.0/24" };
# nat
nat on $ext_if from $int_nets to !$int_nets -> ($ext_if:0)
rdr on $vpn_if proto tcp from any to any port 80 -> 127.0.0.1 port 3128
# die Umleitung auf den Squid wird reingelassen
pass in quick on $vpn_if proto tcp from $wlan to 127.0.0.1/32 port 3128
# das muss laut man vpn
# und eigener Erfahrung
pass in proto esp from $tablet to any
pass out proto esp from any to $tablet
pass in on $vpn_if proto ipencap from $tablet to $router_wlan
# der restliche Verkehr
# hier könnte auch ein keep state stehen
# aber das verträgt sich nicht mit altq
pass in on $vpn_if from $puffy to any
pass out on $vpn_if from any to $puffy
# der IKE
pass in on $wlan_if proto udp from $tablet port = 500 to $router_wlan port = 500
pass out on $wlan_if proto udp from $router_wlan port = 500 to $tablet port = 500
Das sollte es gewesen sein.
Was mich darin ziemlich sicher macht, dass das Problem nicht an der pf.conf liegt:
- ein set skip enc0 bringt kein besseres Ergebnis
- ich kann Verbindungen zu Webservern und SMB-Hosts in meinen Netzen aufbauen, kann bei smb sogar die Ordnerstruktur durchsuchen, aber sobald es an etwas wichtiges geht (also an die Daten selber) oder ein SMB-Ordner auch Dateien enthält ist Hängen im Schacht.
Und jetzt fällt mir einfach nichts mehr ein. Euch vielleicht? Hab ich was überlesen? Ein grundsätzlicher Fehler?
Gruß
Baseballbatboy
P.S.: das SMB-Problem könnte auch mit der Konfiguration desselben zusammenhängen, die hab ich noch nicht angepasst.
Zuletzt bearbeitet: