Openvpn
Aus Vosp.info
Version vom 24. Februar 2015, 11:09 Uhr von HK (Diskussion | Beiträge) (→Sternförmiges Setup mit zentralem Server)
Inhaltsverzeichnis
Einfaches Setup für zwei Maschinen
Auf beiden Maschinen
apt-get install openvpn
Server side
openvpn --genkey --secret secret.key
scp secret.key root@<remote host>
vim /etc/openvpn/simple.conf
dev tun
ifconfig 10.8.0.1 10.8.0.2
secret secret.key
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
user nobody
group nogroup
daemon
Client side
Der <remote.host> muss durch den Clienten aufgelöst werden können.
Entweder per /etc/hosts oder DNS
vim /etc/openvpn/simple.conf
remote <remote.host>
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret secret.key
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
user nobody
group nogroup
daemon
Sternförmiges Setup mit zentralem Server
OpenVPN-Server mit CentOS 7
Installation
OpenVPN befindet sich nicht in den Repos des CentOS-Projektes.
Deshalb müssen Fedora EPEL repos eingebunden werden.
yum install epel-release yum makecache
yum install openvpn -y
Ifconfig wird benötigt, es ist per default nicht installiert.
yum install net-tools -y
Config
Server Config
#
# /etc/openvpn/newvpn.conf
# Files liegen in /etc/openvpn/newvpn
# und /etc/openvpn/newvpn/ccd-dir
# Port, default ist 1124, alles ist besser als 1124. Minimiert Script-Angriffe.
port <Port des VPN-Servers>
#Protokoll-Typ
proto udp
# Device Typ, möglich sind tun und tap
dev-type tun
# Devicename
dev newvpn
# Speicherort der Zertifikate, Schlüssel usw. Pfade sind relativ zum Configfile
ca newvpn/ca.crt
cert newvpn/server.crt
key newvpn/server.key
dh newvpn/dh2048.pem
mode server
tls-server
# Topologie des Netzwerkes
topology subnet
# mit push wird die Topologie dem Clienten mitgeteilt
push "topology subnet"
# IP des Servers und Netzmaske, ergibt zugleich das Netzwerk
ifconfig 10.8.100.10 255.255.255.0
# Range der frei vergebbaren IPs, vergleichbar mit Range aus DHCP
ifconfig-pool 10.8.0.11 10.8.0.199 255.255.255.0
# Hier werden die IPs der Clienten hinterlegt, vergleichbar mit
# host win01 { hardware ethernet 00:00:00:00:00:00; fixed-address 192.168.0.5; }
# Zuweisung erfolgt über den Dateinamen, der der selbe sein muss wie Common Name im Schlüssel des Clienten
#Pfade sind relativ zum Configfile
client-config-dir newvpn/ccd-dir
ifconfig-pool-persist ipp.txt
# Dadurch können sich Clienten untereinander verbinden
client-to-client
keepalive 10 120
# Kommpression der Verbindung
comp-lzo
# openvpns user-ID
user nobody
# openvpns group-ID
group nobody
# Schlüssel wird bei Erhalt von SIGUSR1 nicht neu geladen
persist-key
# Tun-Device wird bei Erhalt von SIGUSR1 nicht neu geladen
persist-tun
# Pfad ist relativ zum Configfile
status openvpn-status.log
# Verbosity Level
verb 3
IP Zuweisung an Client
Im Verzeichniss newvpn/ccd-dir liegen die Dateien, die den Clienten feste IPs zuweisen können.
Die Datei hat den selben Namen wie der Common Name im Key des Clienten
vim <Common Name>
Inhalt der Datei
ifconfig-push 10.8.100.201 255.255.255.0
Files in newvpn
ca.crt dh2048.pem server.crt server.key
Client Config
# # /etc/openvpn/newvpn.conf # Files liegen in /etc/openvpn/newvpn tls-client remote <IP oder FQDN des VPN-Servers> <Port des VPN-Servers> proto udp dev-type tun dev newvpn ca newvpn/ca.crt cert newvpn/client1.crt key newvpn/client1.key dh newvpn/dh2048.pem pull keepalive 10 120 comp-lzo persist-key persist-tun verb 3
Files in newvpn
ca.crt dh2048.pem client1.crt client1.key