OpenVPN-Site-to-Site-Bridged-German

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 12:48, 18 March 2018 (edit)
Ian5142 (Talk | contribs)
(Removed.)
← Previous diff
Revision as of 12:48, 18 March 2018 (edit) (undo)
Ian5142 (Talk | contribs)
(Removed.)
Next diff →
Line 7: Line 7:
- 
-== Konfiguration == 
- 
-=== IP-Adresse vergeben === 
- 
-Nachdem wir ein Bridged-VPN erstellen wollen, müssen alle Router eine IP-Adresse aus dem selben Pool bekommen, und auch an die Clients welche aus diesem Pool verteilen. Es darf aber natürlich keine IP-Adresse doppelt vorkommen, weil das zu Konflikten führen würden. Ich zeige hier die Einstellungen für den Adressraum 192.168.0.0-192.168.0.255 (Es kann natürlich jeder beliebiger Pool gewählt werden, nur muss er eben konsequent eingehalten werden.) 
- 
-'''Router der als Server fungiert:''' 
-* IP-Adresse des Routers: 192.168.0.1 
-* DHCP-Startadresse: 192.168.0.50 
-* Max. DHCP-User: 50 
- 
-'''Router der als Client1 fungiert:''' 
-* IP-Adresse des Routers: 192.168.0.2 
-* DHCP-Startadresse: 192.168.0.101 
-* Max. DHCP-User: 49 
- 
-'''Router der als Client2 fungiert:''' 
-* IP-Adresse des Routers: 192.168.0.3 
-* DHCP-Startadresse: 192.168.0.151 
-* Max. DHCP-User: 49 
- 
-Wenn man Mehr als 3 Router ins Netzwerk aufnehmen will, muss man den einzelen Netzwerken einfach kleinere IP-Ranges zuteilen, einfach immer aufpassen, dass es zu keinen Überschneidungen kommt. 
- 
- 
-=== DDNS Eintrag erstellen === 
- 
-Solltet ihr von eurem ISP einen dynamische IP-Adresse zugewiesen bekommen, müsst ihr dem Router einen DDNS Eintrag verpassen. (Setup/DDNS) 
-Damit können die Clients den Server auch erreichen, wenn ihr eine neue IP-Adresse bekommt. 
- 
-=== Server Konfiguration (WRT54 - Linux) === 
- 
-'''Es ist zu empfehlen den Server am Standort mit der besten Internetanbindung einzurichten. (Höchster Upload)''' 
- 
- #OpenVPN CFG (Server) 09.01.2008 
-  
- cd /tmp 
- mkdir /tmp/myvpn 
- ln -s /usr/sbin/openvpn /tmp/myvpn/myvpn 
- /tmp/myvpn/myvpn --mktun --dev tap0 
- brctl addif br0 tap0 
- ifconfig tap0 0.0.0.0 promisc up 
-  
- echo " 
- # Tunnel options 
- mode server # Set OpenVPN major mode 
- proto udp # Setup the protocol (server) 
- port 1194 # TCP/UDP port number 
- dev tap0 # TUN/TAP virtual network device 
- keepalive 15 60 # Simplify the expression of --ping  
- daemon # Become a daemon after all initialization 
- verb 3 # Set output verbosity to n  
- comp-lzo # Use fast LZO compression  
-  
- # OpenVPN server mode options 
- client-to-client # tells OpenVPN to internally route client-to-client traffic  
- duplicate-cn # Allow multiple clients with the same common name 
- ifconfig-pool 192.168.0.201 192.168.0.210 255.255.255.0 # Define IP-Pool for OpenVPN clients 
-  
- # TLS Mode Options 
- tls-server # Enable TLS and assume server role during TLS handshake  
- ca /tmp/myvpn/ca.crt 
- dh /tmp/myvpn/dh1024.pem 
- cert /tmp/myvpn/server.crt 
- key /tmp/myvpn/server.key 
- " > /tmp/myvpn/ipsec.config 
-  
- echo " 
- -----BEGIN CERTIFICATE----- 
- <span style="color:#ff0000;">Insert the content of your ca.crt</span> 
- -----END CERTIFICATE----- 
-  
- " > /tmp/myvpn/ca.crt 
- echo " 
- -----BEGIN RSA PRIVATE KEY----- 
- <span style="color:#ff0000;">Insert the content of your server.key</span> 
- -----END RSA PRIVATE KEY----- 
-  
- " > /tmp/myvpn/server.key 
- chmod 600 /tmp/myvpn/server.key 
- echo " 
- -----BEGIN CERTIFICATE----- 
- <span style="color:#ff0000;">Insert the content of your server.crt</span> 
- -----END CERTIFICATE----- 
-  
- " > /tmp/myvpn/server.crt 
- echo " 
- -----BEGIN DH PARAMETERS----- 
- <span style="color:#ff0000;">Insert the content of your dh1024.crt</span> 
- -----END DH PARAMETERS----- 
- " > /tmp/myvpn/dh1024.pem 
-  
- route add -net 192.168.0.0/24 dev br0 
-  
- sleep 5 
- /tmp/myvpn/myvpn --config /tmp/myvpn/ipsec.config 
- 
-Diesen Teil müsst ihr im webfrontend unter '''Administration/Commands'' in das Textfenster kopieren und auf '''Save Startup''' drücken. 
- 
-Der Eintrag  
- duplicate-cn # Allow multiple clients with the same common name 
-ist nur notwendig, wenn ihr für Alle Router/Clients ein einziges Zertifikat verwndet (nicht zu empfehlen, weil wenn jemand diese Zertifikat weiter gibt oder ihr jemanden ausschließen wollt werden alle anderen auch ausgeschlossen!). 
- 
-Weiters müsst ihr folgenden Eintrag wieder in das Textfeld kopieren und diesesmal auf '''Save Firewall''' drücken. 
- 
- iptables -I INPUT -p udp --dport 1194 -j ACCEPT 
- 
-=== Client Konfiguration (WRT54 - Linux) === 
- 
- 
- #OpenVPN CFG (Client) 09.01.2008 
- 
- cd /tmp 
- mkdir /tmp/myvpn 
- ln -s /usr/sbin/openvpn /tmp/myvpn/myvpn 
-  
- /tmp/myvpn/myvpn --mktun --dev tap0 # initialize tunnel 
- brctl addif br0 tap0 # create a new network-adapter 
- ifconfig tap0 0.0.0.0 promisc up 
- sleep 5 
-  
- echo " 
- client # Set OpenVPN mode to client 
- daemon 
- dev tap0 # TUN/TAP virtual network device 
- proto udp # Set the protocol (udp/tcp) 
- <span style="color:#ff0000;">remote xxx.xxx.xxx 1194 # Set the IP-adress/DNS-entry of the server</span> 
- resolv-retry infinite 
- nobind 
- persist-key 
- persist-tun 
- ca /tmp/myvpn/ca.crt 
- cert /tmp/myvpn/client1.crt 
- key /tmp/myvpn/client1.key 
- ns-cert-type server 
- comp-lzo 
- verb 3 
- " > /tmp/myvpn/ipsec.config 
-  
- echo " 
- -----BEGIN CERTIFICATE----- 
- <span style="color:#ff0000;">Insert the content of your ca.crt</span> 
- -----END CERTIFICATE----- 
-  
- " > /tmp/myvpn/ca.crt 
- echo " 
- -----BEGIN RSA PRIVATE KEY----- 
- <span style="color:#ff0000;"> Insert the content of your client1.key</span> 
- -----END RSA PRIVATE KEY----- 
-  
- " > /tmp/myvpn/client1.key 
- chmod 600 /tmp/myvpn/client1.key 
- echo " 
- -----BEGIN CERTIFICATE----- 
- <span style="color:#ff0000;">Insert the content of your client1.crt</span> 
- -----END CERTIFICATE----- 
-  
- " > /tmp/myvpn/client1.crt 
-  
- route add -net 192.168.0.0/24 dev br0 
-  
- sleep 5 
- /tmp/myvpn/myvpn --config /tmp/myvpn/ipsec.config 
- 
- 
-Muss wieder unter Administration/Command eingefügt werden, und anschließend mit '''Save Startup''' gespeichert werden. Der DNS-Eintrag bzw. die IP-Adresse des Servers muss natürlich noch vorher geändert werden. 
-Dieser Schritt muss natürlich auf jedem Router, der sich als Client zum Server verbinden soll, durchgeführt werden. 
- 
-Wenn alles richtig hingehaut hat, sollte es nun möglich sein alle Router von einem Standort via webfrontend zu erreich, und auch zu pingen, gleiches gilt für die Clients hinter den Routern. 
- 
- 
-=== Externe Clients (Windows) === 
- 
-Auf den externen Clients welche Zugriff auf das Netzwerk erhalten sollen, z.B. Notebooks ohne festen Standort, muss natürlich zuerst der OpenVPN Client installiert werden, am besten mit GUI. (Download: http://openvpn.se/download.html ) 
-Anschließend muss man die Schlüssel/Zertifikate für das Gerät übertragen (am besten so, dass sie niemand abhören/mitlesen kann.). Benötigt werden die Dateien: 
- * ca.crt 
- * mobile_XX.key 
- * mobile_XX.crt 
- 
-Diese werden in einen neu erstellten Ordner im Programmordner von OpenVPN (standardmäßig C:\Programme\OpenVPN\ ) namens mobile_XX kopiert. 
-Anschließend erstellt man eine Datei namens '''client.ovpn''' im Ordner config, in welche man folgende Parameter kopiert: 
- 
- #OpenVPN CFG mobiler Client 
-  
- port 1194  
- remote xxx.xxx.xxx <span style="color:#ff0000;">#Serveradresse anpassen(URL oder IP)</span> 
- proto udp 
- dev tap 
- tls-client 
- ns-cert-type server 
- ca C:\\Programme\\OpenVPN\\mobile_XX\ca.crt #<span style="color:#ff0000;">Pfad gegebenen Falls anpassen!</span> 
- cert C:\\Programme\\OpenVPN\\mobile_XX\\mobile_XX.crt #<span style="color:#ff0000;">Pfad und Dateinamen gegebenen Falls anpassen!</span> 
- key C:\\Programme\\OpenVPN\\mobile_XX\mobile_XX.key #<span style="color:#ff0000;">Pfad und Dateinamen gegebenen Falls anpassen!</span> 
- pull #Client verliert ohne das Pull bei Inaktivität die Verbindung 
- 
- 
-Anschließend kann man sich, nachdem man das GUI gestartet hat, verbinden, indem man in der Taskleiste einen Rechtsklick auf das OpenVPN GUI Symbol macht, und auf '''Connect''' klickt. 

Revision as of 12:48, 18 March 2018

Moved

The page has been moved here:





Fehlerdiagnose

Nachdem meistens nicht alles auf Anhieb so hinhaut wie man will, kann man sich den Log vom Router zum Computer schicken lassen, und sieht so ob sich etwas tut.

Am leichtesten geht dies so: 1. Zuerst verbindet man sich zum Router via webfrontend, geht auf Administration/Services und scrollt runter, und setzt ein Häckchen bei Syslog, und trägt die IP-Adresse vom Computer ein, an den man die Log schicken will

  Image:Syslogview.JPG 

2. Müsst ihr euch einen Syslog-Viewer herunterladen. Z.B. hier http://www.kiwisyslog.com/kiwi-syslog-daemon-overview/

3. Installiert das Programm und startet es (wenn ihr es nicht als Dienst installiert habt), und schaut dass es aktiv ist.

Wenn ihr jetzt einen Reboot beim Router durchführt 'Administration/Management (Bottom of the site), sollten alles Status Meldungen an den PC weitergeleitet werden, den ihr angegeben habt. Wenn eurer VPN erfolgreich läuft, könnt ihr natürlich sämlichte Logs an einen zentralen Computer schicken lassen.


Schlussworte

Ich hoffe diese Anleitung ist halbwegs verständlich. Viel Vergnügen beim Basteln!

An english version of this tutorial will follow!