WLAN-Traffic mit OpenVPN verschluesseln

Um den Zugriff auf einen OpenBSD-WLAN-Router abzusichern kann man 'authpf'
verwenden (faq_authpf.html) und um den Traffic gegen Mitleser zu
verschluesseln am einfachsten SSH (faq_wlan.html) ... aber um den gesamten
Traffic einer Workstation komplett abzusichern ist eine VPN-Loesung notwendig.

Am folgenden Example moechte ich den Aufbau eines VPN mittels OpenVPN
beschreiben:

Internet <---> DSL<->OpenBSD<->WLAN <---> Linux-Workstation

Folgende Schritte sind dafuer notwendig:

OpenBSD (DSL-WLAN/Gateway)
==========================

- Ergaenzen der pf.conf um eine Zeile der Form:
pass in on $int_if proto udp from any to $int_if port 5000 keep state

- Umschreiben der Zeile:
nat on $ext_if from $int_if:network to any -> $ext_if
in:
nat on $ext_if from { 192.168.0.0/16, 10.0.0.0/24 } to any -> $ext_if

cd /etc/
mkdir openvpn
openvpn --genkey --secret uxs-key.txt

+------------
| obsd.conf
+------------
remote 192.168.1.2
dev tun1
ifconfig 10.0.0.1 10.0.0.2
secret uxs-key.txt
port 5000

Linux (Client-Workstation)
==========================

cd /etc/openvpn
(scp uxs-key.txt .)

+------------
| linux.conf
+------------
remote 192.168.1.1
dev tun
ifconfig 10.0.0.2 10.0.0.1
secret uxs-key.txt
port 5000

Starten und Testen
==================

1)

auf linux:
# openvpn --config linux.conf

auf obsd:
# openvpn --config obsd.conf

--- schnipp ---
[...]
Fri Jan 14 19:01:39 2005 7: Peer Connection Initiated with 192.168.1.2:5000
--- schnipp ---

2)

auf linux:
# ping 10.0.0.1

auf obsd:
# tcpdump -i wi0

--- schnipp ---
19:04:16.322056 ws2.unixscout.org.5000 > ws.unixscout.org.5000:  udp 124 (DF)
19:04:16.322395 ws.unixscout.org.5000 > ws2.unixscout.org.5000:  udp 124
--- schnapp ---

Routing
=======

Damit ALLE Applikationen nun den VPN-Tunnel verwenden und somit der GESAMTE
Traffic getunnelt wird muss das Defaultgateway auf dem Linux-Client
umgeschrieben werde ... entweder mittels:

# route del default
# route add default gw 10.0.0.1

Oder man ergaentz die linux.conf um folgende zwei Zeilen:

+------------
| route-gateway 10.0.0.1
| redirect-gateway
+------------

--
I.S.