Hallo,
Momentan benutzte ich folgende Einstellugen:
Server:
Code:
port <PORT>
proto udp
dev tun
Also OSI-Layer 3, Du baust einen IP-Link auf. Vor diesem Hintergrund wird die Frage nach der IP-Adresse vom DHCP-Server der Fritz!Box vollends sinnlos. Das geht nur im Bridging Mode, also OSI-Layer 2 und dann könntest Du es so wie oben beschrieben handhaben. Und beim AVM-Fernzugang kannst Du den Clients IP-Adressen aus dem Subnetz des Servers zuteilen, weil IPsec ganz anders realisiert ist.
In der Folge müssen die Clients den Server mit seiner IP-Adresse ansprechen, denn NetBIOS geht nicht durch diesen Tunnel.
Code:
ca certs/ca.crt
cert certs/server.crt
key certs/server.key
dh certs/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
Das TUN-Device auf dem OpenVPN-Server bekommt 10.8.0.1, das auf dem zuerst verbindenden OpenVPN-Client 10.8.0.2, der nächste 10.8.0.3 usw. usf. Die Zuteilung wird in der Datei ipp.txt gespeichert. IP-Adressen aus Deinem LAN kannst Du hier nicht verwenden, denn Du mußt routen. Übrigens müssen sich auch die Subnetze der Clients von dem des Servers unterscheiden.
Wozu das? Das brauchst Du doch nur für clientspezifische Konfigurationen, die Du serverseitig vorgeben willst.
Code:
keepalive 10 120
client-to-client
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
push "route 192.168.178.0 255.255.255.0"
Die push-Anweisung sorgt dafür, daß auf dem System jedes Client bei Aufbau des Tunnels ein Routing-Eintrag vorgenommen wird, der ihm den Weg in Dein LAN zeigt. Die Systeme der Clients werden danach jedes Paket mit einer IP-Adresse der Form 192.168.178.x über das TUN-Device in Dein LAN leiten. Bei Abbau des Tunnels entfernt OpenVPN diesen Routing-Eintrag wieder. Gut.
Ich würde noch die float-Direktive ergänzen, weil Clients fast immer wechselnde IP-Adressen haben.
Die Direktiven user und group kann ich nicht einschätzen, da ich OpenVPN bisher nur unter Windows genutzt habe.
In der Serverkonfiguration hast Du proto udp angegeben, also mußt Du das auch clientseitig verwenden. UDP sollte man wann immer möglich einsetzen; TCP nur wenn nötig, etwa wenn Du mit einem Client auch Webproxies überwinden mußt.
Code:
dev tun
remote <IP> <PORT>
Wenn der Internetzugang des OpenVPN-Servers keine feste IP-Adresse hat, mußt Du noch ein DynDNS-Setup vornehmen und im Client anstelle von <IP> den DynDNS-Namen angeben. Die Fritz!Box kann so einen Namen automatisch aktualisieren.
Code:
nobind
persist-key
persist-tun
ca certs/ca.crt
cert certs/client1.crt
key certs/client1.key
comp-lzo
verb 3
route 192.168.178.0 255.255.255.0 10.8.0.1
Wozu diese Routing-Anweisung? Die gibst Du doch bereits serverseitig heraus.
Wenn Du noch eine TLS-Auth-Konfiguration hinfügst, schützt Du Dein Netz vor DoS-Attacken, siehe
http://openvpn.net/index.php/documentation/howto.html#security
Mit freundlichen Grüßen
LPW