Hey Dudes,
I've a installation of OpenVPN ans tun-mode and it's running, but i would like to optimize this setup.
Also I've a problem, hat my client try to add routes twice.
I start with my server.conf
# Port
port 1196
# TCP oder UDP?
proto udp
# tun oder tap?
# Das tun Device erstellt einen IP Tunnel,
# während das tap Device einen Ethernet Tunnel erstellt.
dev tun
# Die ermittelte mtu für das tun Interface.
# Wir fügen die Optionen fragment und
# mssfix hinzu, um ein Aushandeln der
# Paketgroessen zu ermoeglichen
tun-mtu 1492
fragment 1300
mssfix
# Die Pfade zu den Keys und Zertifikaten.
# Ich kopiere die Pärchen später in das
# openvpn Verzeichnis, um Wirrwarr vorzubeugen.
ca ./easy-rsa2/keys/ca.crt
cert ./easy-rsa2/keys/server.crt
key ./easy-rsa2/keys/server.key
# der Pfad zu den Diffie-Hellmann Parametern.
# Auch diese werde ich später ins openvpn
# Verzeichnis kopieren.
dh ./easy-rsa2/keys/dh1024.pem
# Durch die Angabe von server veranlassen
# wir openvpn im Servermodus zu lauern.
# Hier übergeben wir auch den Adressbereich
# und die Netzwerkmaske für das virtuelle
# Netzwerk. Der Server wird automatisch
#auf der ersten IP lauschen - also 10.8.0.1
server 10.100.0.0 255.255.255.0
# Wir können einen Pool für die Virtuellen
# Adressen angeben. Falls ein Client die
# Verbindung beendet, bekommt er bei der
# nächsten Verbindung automatisch die selbe
# IP zugewiesen.
ifconfig-pool-persist ipp.txt
# Mit dem push Befehl können wir die
# Clients veranlassen ihre Routing Tabellen
# automatisch beim Verbindungsaufbau neu
# zu schreiben. Wir veranlassen also die Clients
# die Route in den Adressbereich
# 192.168.0.0 automatisch über vpn zu routen
#push "route 192.168.122.0 255.255.0.0"
push "route 10.0.0.0 255.255.0.0"
route 10.0.0.0 255.255.0.0
push "route 10.1.0.0 255.255.0.0"
route 10.1.0.0 255.255.0.0
push "route 10.2.0.0 255.255.0.0"
route 10.2.0.0 255.255.0.0
push "route 10.3.0.0 255.255.0.0"
route 10.3.0.0 255.255.0.0
push "route 10.4.0.0 255.255.0.0"
route 10.4.0.0 255.255.0.0
push "route 10.5.0.0 255.255.0.0"
route 10.5.0.0 255.255.0.0
push "route 192.168.178.0 255.255.255.0"
route 192.168.178.0 255.255.255.0
# Mit keepalive können wir uns
# informieren, ob die Gegenstelle noch
# erreichbar ist. Wir setzen alle 10 Sekunden
# ein ping ähnliches Paket ab und gehen
# davon aus, dass die Gegenstelle weg ist,
# wenn nach 120 Sekunden keine Antwort kommt.
keepalive 10 120
# Unsere Authentifizierungsmethode
auth SHA1
# Unsere Verschlüsselungsmethode
cipher AES-256-CBC
# Wir wollen komprimierten Datenverkehr
comp-lzo
# Wir reduzieren die Rechte, mit dem der
# Server läuft nach dem Verbindungsaufbau.
# Dies wird allerdings zur Folge haben, dass er keine Berechtigung mehr hat die
# Routing Tabelle in den ursprünglichen
# Zustand zu versetzen, was hier aber kein
# Problem darstellt.
user nobody
#group nobody
# Die persist Optionen werden die Keys
# und Zertifikate im Speicher behalten,
# so dass sie auch noch gelesen werden
# können nachdem Gruppe und User
# gewechselt wurden.
persist-key
persist-tun
# Für unsere Versuche setzen wir die Geschwätzigkeit
# auf Level 3
verb 3
client-config-dir ccd
client config looks like this
client
float
dev tun
tun-mtu 1492
fragment 1300
mssfix
proto udp
remote XXXXX 1196
#tls-remote server
ca ca.crt
cert nb001.crt
key nb001.key
dh dh1024.pem
auth SHA1
cipher aes-256-cbc
nobind
comp-lzo
persist-key
persist-tun
verb 3
pull
nb001 ccd config is this
push "route 10.100.0.0 255.255.0.0"
route 10.100.0.0 255.255.0.0
push "route 10.250.0.0 255.255.0.0"
route 10.250.0.0 255.255.0.0
push "route 10.0.0.0 255.255.0.0"
route 10.0.0.0 255.255.0.0
push "route 10.1.0.0 255.255.0.0"
route 10.1.0.0 255.255.0.0
push "route 10.2.0.0 255.255.0.0"
route 10.2.0.0 255.255.0.0
push "route 10.3.0.0 255.255.0.0"
route 10.3.0.0 255.255.0.0
push "route 10.4.0.0 255.255.0.0"
route 10.4.0.0 255.255.0.0
push "route 10.5.0.0 255.255.0.0"
route 10.5.0.0 255.255.0.0
push "route 192.168.178.0 255.255.255.0"
route 192.168.178.0 255.255.255.0
push "dhcp-option DNS 10.250.10.1"
push "dhcp-option DNS 10.0.10.1"
push "dhcp-option DOMAIN ms-dc.network"
push "dhcp-option WINS 10.250.10.1"
push "dhcp-option WINS 10.0.10.1"
So some questions:
In the Server conf stands routes whitch the SERVER should apply and in client config (ccd) the settings the client should apply is'nt it so ?
And is my setup clean and secure?
I've enabled on every side to side server MASQUARADING and sysctl.conf net.ipv4.ip_forward=1 .
Star Root Server hat 100MBits/100MBits and Clients have from 6/0,5 -> 100/5 Connection.
Thanks!