OpenVPN für das private Netz: Unterschied zwischen den Versionen

Aus FunkFeuer Wiki
Wechseln zu: Navigation, Suche
K (Zusammenfassung)
K
Zeile 120: Zeile 120:
  
 
'''Der Server und das geNATete private Netz hinter der Linksys sind dann auf Layer 2 verbunden.'''
 
'''Der Server und das geNATete private Netz hinter der Linksys sind dann auf Layer 2 verbunden.'''
 +
 +
 +
[[Category:Dokumentation]]
 +
[[Category:Software]]
 +
[[Category:VPN]]
 +
[[Category:HowTo]]

Version vom 3. Februar 2009, 01:47 Uhr

Server

unter Gentoo-Linux aus dem Gentoo-Wiki:

 emerge -av net-misc/openvpn

Kernel-config:

 Device Drivers --->
  Network device support --->
   <M> Universal TUN/TAP device driver support

Zertifikate etc:

 cp -r /usr/share/openvpn /etc
 
  • /etc/openvpn/easy-rsa/vars anpassen
 cd /etc/openvpn/easy-rsa
 source vars # nach jeder Änderung in "vars" muss die Datei "gesourced" werden.
 ./clean-all # evtl. vorhandene Zertifikatsdateien in KEY_DIR werden gelöscht!!
 ./build-ca --pass  # Zugriff auf CA-Private-Key wird durch ein Passwort geschützt
 # Passwort -> kein triviales Kennwort verwenden!
 # "Organizational Unit Name" -> leer lassen
 ls /etc/openvpn/easy-rsa/keys/ca* # ca.crt (Zertifikat) ca.key (Private-Key)
 openssl x509 -in /etc/openvpn/easy-rsa/keys/ca.crt -text -noout | less # Zertifikat prüfen
 openssl rsa  -in /etc/openvpn/easy-rsa/keys/ca.key -text -noout | less # Key anschauen
 ./build-key-server xyz-Server # xyz-Server: individuelle, aber "anonyme" Bezeichnung
 # "challenge password" -> leer lassen
 # "An optional company name" -> leer lassen
 # "Sign the certificate? [y/n]" -> y
 # "1 out of 1 certificate requests certified, commit?" -> y
 rm /etc/openvpn/easy-rsa/keys/server.csr # wird nicht benötigt, da Key/Zertifikat zugleich erstellt werden
 ls /etc/openvpn/easy-rsa/keys/server.*   # server.crt server.key
 # Ersetze "server" durch den gewählten Common Name (z.B. "xyz-Server.csr").
 ./build-key client1 # Angaben analog zum Server-Zertifikat
 rm /etc/openvpn/easy-rsa/keys/client1.csr # wird nicht benötigt, da Key/Zertifikat zugleich erstellt werden
 ls /etc/openvpn/easy-rsa/keys/client1.* # client1.crt client1.key
 ./build-dh # dauert ca. 5-10 min., je nach KEY_SIZE in "vars"
 ls /etc/openvpn/easy-rsa/keys/dh* # dh2048.pem (bzw. dh1024.pem, je nach KEY_SIZE)
 openvpn --genkey --secret /etc/openvpn/easy-rsa/keys/ta.key
 ls /etc/openvpn/easy-rsa/keys/ta.key # ta.key
 cd /etc/openvpn/easy-rsa/keys
 cp ca.crt ta.key dh2048.pem server.* /etc/openvpn/
 scp ca.crt ta.key client1.* 88.88.88.1:/etc/openvpn/
 # klappt nur, wenn auf NAT-Router1 Portforwarding von Port tcp/22 zum Client aktiviert ist
 groupadd openvpn
 useradd -d /dev/null -g openvpn -s /bin/false openvpn
 mkdir /etc/openvpn/chroot

/etc/openvpn/openvpn.conf:

 proto udp
 dev tap
 port 1194
 ca /etc/openvpn/ca.crt
 cert /etc/openvpn/Arecibo.crt
 key /etc/openvpn/Arecibo.key
 dh /etc/openvpn/dh1024.pem
 tls-auth /etc/openvpn/ta.key 0  # "0" beim VPN-Server, "1" bei VPN-Clients
 server 10.8.0.0 255.255.255.0
 ifconfig-pool-persist /etc/openvpn/ipp.txt
 keepalive 10 120
 user openvpn
 group openvpn
 persist-key
 persist-tun
 resolv-retry infinite
 status /etc/openvpn/openvpn-status.log
 chroot /etc/openvpn/chroot
 push "route 192.168.1.129 255.255.255.255"
 verb 4

openvpn starten

 /etc/init.d/openvpn start

virtuelles Interface mit privater IP erstellen:

 ifconfig tap0:1 192.168.1.129 up

Client

Linksys mit Freifunk-Firmware

 ipkg install openvpn-ssl-nolzo

Die am Server erstellten Schlüssel und Zertifikate kopieren

/etc/openvpn/openvpn.conf

 proto udp
 dev tap
 port 1194
 local 193.238.156.64                                                           
 remote arecibo.funkfeuer.at                                                    
 ca /etc/openvpn/ca.crt                                                         
 cert /etc/openvpn/sie8omni.crt
 key /etc/openvpn/sie8omni.key 
 dh /etc/openvpn/dh1024.pem    
 tls-auth /etc/openvpn/ta.key 1  # "0" beim VPN-Server, "1" bei VPN-Clients
 client                                                                    
 keepalive 10 120                                                          
 persist-key                                                               
 persist-tun                                                               
 resolv-retry infinite                   
 verb 4 

/etc/init.d/S92openvpn

 #!/bin/sh
 openvpn --config /etc/openvpn/openvpn.conf --daemon areciboconnect
 sleep 10
 brctl addif br0 tap0
 ifconfig tap0 0.0.0.0 promisc up

Der Server und das geNATete private Netz hinter der Linksys sind dann auf Layer 2 verbunden.