OpenVPN für das private Netz
Aus FunkFeuer Wiki
Version vom 20. Januar 2012, 21:57 Uhr von Haha (Diskussion | Beiträge)
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.
zurück zu wiki_funkfeuer_at
< Startseite > < Backfire-Vienna > < Standards > < Installation > < Weiterführendes > < Aktivitäten > < Index >
<google>WIKI</google>