Wechseln zu:Navigation, Suche
Wiki
Keine Bearbeitungszusammenfassung
K (Lauritzl verschob die Seite Openvpn cli v11 nach UTM/CLI/Openvpn v11)
 
(19 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:UTMV11]]
==SSL-VPN==
==SSL-VPN==


===Optionen===
{| {{prettytable}}
{| {{prettytable}}
!openvpn new/set optionen!!
!openvpn new/set optionen!!
Zeile 18: Zeile 17:
|cert|| Server-Zertifikat, dass für diese Verbindung genutzt wird
|cert|| Server-Zertifikat, dass für diese Verbindung genutzt wird
|-
|-
|dh_size||  
|dh_size|| Größe des Diffie Hellman Schlüssels
|-
|-
|mtu|| Größe der Datenpakete
|mtu|| Größe der Datenpakete
Zeile 24: Zeile 23:
|pool|| Transfernetzwerk, dass für diese TUN Verbindung genutzt wird z.B. 192-168.250.0/24
|pool|| Transfernetzwerk, dass für diese TUN Verbindung genutzt wird z.B. 192-168.250.0/24
|-
|-
|flags||
|flags|| DISABLED wenn diese Verbindung nicht genutzt werden soll, MULTIHOME wenn mehrere WAN Anschlüsse vorhanden sind, LZO Kompession, PUSH_DNS für die IP des DNS-Server, PUSH_WINS für die IP des Wins-Server
|-
|-
|local_addr|| IP Adresse der TUN Schnittstelle
|local_addr|| IP des Interface das für die Verbindung genutzt werden soll
|-
|-
|local_port|| Port der für diese Verbindung genutzt wird z.B. 1194
|local_port|| Port der für diese Verbindung genutzt wird z.B. 1194
Zeile 40: Zeile 39:
|push_subnet|| Das zu übertragenen interne Subnetz der Server Seite z.B. 192.168.175.0/24
|push_subnet|| Das zu übertragenen interne Subnetz der Server Seite z.B. 192.168.175.0/24
|-
|-
| ||
|style="background:#FFCBCB" | || style="background:#FFCBCB" |
|-
|-
!openvpn remote new/set!!
!openvpn remote new/set!!
|-
|-
|id||
|id|| Identifikationsnummer der Site to Site Clientverbindung
|-
|-
|openvpn_id||
|openvpn_id||  
|-
|-
|name||
|name|| Name der Site to Site Verbindung
|-
|-
|common_name||
|common_name|| Client Zertifikat das für diese Verbindung genutzt wird
|-
|-
|tunnel_addr||
|tunnel_addr|| IP der TUN-Schnittstelle auf der Clientseite
|-
|-
|hosts||
|hosts|| Öffentliche Adresse unter der der SSL-VPN Server erreichbar ist
|-
|-
|subnets||
|subnets|| Internes Netzwerk auf der Clientseite
|-
|-
|push_subnets||
|push_subnets|| Internes Netzwerk auf der Server Seite
|}
|}


===CLI Kommandos===
{| {{prettytable}}
{| {{prettytable}}
!Befehl!! Beschreibung!! Beispiel
!Befehl!! Beschreibung!! Beispiel
|-
|-
|openvpn get|| Auflisten der SSL-VPN Verbindungen||  
|openvpn get|| Auflisten der SSL-VPN Verbindungen|| openvpn get
|-
|-
|openvpn new|| Erstellt eine neue SSL-VPN Verbindung||  
|openvpn new|| Erstellt eine neue SSL-VPN Verbindung|| openvpn new name "RW-Verbindung" mode "SERVER" proto "UDP" auth "LOCAL" cert "Server_cert" pool "192.168.250.0/24" mtu "1500" interface "tun0" local_port "1194" reneg "3600" push_subnet "192.168.175.0/24" dh_size "2048"
|-
|-
|openvpn set|| Verändert eine SSL-VPN Verbindung||  
|openvpn set|| Verändert eine SSL-VPN Verbindung|| openvpn set id "1" cert "Neues-Server_cert"
|-
|-
|openvpn export|| Exportiert eine Konfiguration||
|openvpn delete|| Löscht SSL-VPN Verbindungen || openvpn delete id "6"
|-
|-
|openvpn delete|| Löscht SSL-VPN Verbindungen ||
|openvpn status|| Listet den Verbindungsstatus der einzelnen SSL-VPN instanzen auf|| openvpn status
|-
|-
| || ||
|openvpn disconnect|| Beendet eine SSL-VPN Verbindung zu einem Client|| openvpn disconnect name ''RW_Test'' c_name ''vpnuser''
|-
|-
|align=center|push_subnet
|openvpn update|| Aktualisiert alle SSL-VPN Instanzen|| openvpn update
|-
|-
|openvpn push_subnet new|| Erstellt ein neues Subnetz ||
|style="background:#FFCBCB" | || style="background:#FFCBCB" | || style="background:#FFCBCB" |
|-
|-
|openvpn push_subnet delete|| Löscht ein vorhandenen Subnetz-Eintrag||
|openvpn push_subnet new|| Erstellt ein neues Subnetz || openvpn push_subnet new openvpn_id "3" push_subnet 192.168.176.0/24
|-
|-
| || ||
|openvpn push_subnet delete|| Löscht ein vorhandenen Subnetz-Eintrag|| openvpn push_subnet delete openvpn_id "3" push_subnet_id 15
|-
|-
|align=center|remote
|style="background:#FFCBCB" | || style="background:#FFCBCB" | || style="background:#FFCBCB" |
|-
|-
|openvpn remote get|| Listet die SSL-VPN Remote-Profile auf||
|openvpn remote get|| Listet die SSL-VPN Remote-Profile auf|| openvpn remote get
|-
|-
|openvpn remote set|| Ändern von SSL-VPN Remote-Profilen||  
|openvpn remote new|| Anlegen eines neuen SSL-VPN Remote-Profils|| openvpn remote new name "Client1" common_name "Client_cert" tunnel_addr "192.168.250.10/24" subnets "192.168.176.0/24"
|-
|-
|openvpn remote new|| Anlegen eines neuen SSL-VPN Remote-Profils||
|openvpn remote set|| Ändern von SSL-VPN Remote-Profilen|| openvpn remote set id "3" tunnel_addr "192.168.250.2/24"
|-
|-
|openvpn remote delete|| Löscht ein vorhandenes SSL-VPN Remote-Profil ||  
|openvpn remote delete|| Löscht ein vorhandenes SSL-VPN Remote-Profil || openvpn remote delete id "3"
|}
|}
===Neue Verbindung anlegen===
1. TUN-Interface + Zone anlegen
interface new name "tun0" type "TUN"
interface zone new name "vpn-openvpn-server_conn" interface tun0
2. Zertifikate anlegen
cert new common_name "myCA"
cert new common_name "Server_cert" issuer_id 130
cert new common_name "Client_cert" issuer_id 130
id |common_name|bits|valid_since        |valid_till        |issuer|flags |status
---+-----------+----+-------------------+-------------------+------+------+------
130|myCA      |1024|2011-08-25-10-41-16|2012-08-24-10-41-16|myCA  |KEY,CA|OK   
131|Server_cert|1024|2011-08-25-10-41-43|2012-08-24-10-41-43|myCA  |KEY  |OK   
132|Client_cert|1024|2011-08-25-10-42-04|2012-08-24-10-42-04|myCA  |KEY  |OK
Bei einer Site to Site Verbindung müssen das CA und das Client_cert dann exportiert werden.
cert export x509 id 130
cert export x509 id 132
3. Openvpn-Remote Profile definieren (nur bei Site to Site Verbindungen)
*Server-Seite
openvpn remote new name "Client1" common_name "Client_cert" tunnel_addr "192.168.250.10" subnets 192.168.176.0/24
*Client-Seite
openvpn remote new name "s2s-Server" hosts 192.168.4.143
4. Openvpn-Verbindung anlegen
'''Roadwarrior'''
openvpn new name "RW-Verbindung" mode "SERVER" proto "UDP" auth "LOCAL" cert "Server_cert" pool "192.168.250.0/24" mtu "1500" interface "tun0" local_port "1194" reneg "3600" push_subnet "192.168.175.0/24" dh_size "2048"
'''Site to Site'''
*Zertifikate importieren
*Server Seite
openvpn new name "s2s-conn" mode "SERVER" proto "UDP" auth "NONE" cert "Server_cert" dh_size "2048" mtu "1400" pool "192.168.250.0/24" interface tun0
*Client Seite
openvpn new name "s2s-client" mode "CLIENT" proto "UDP" auth "NONE" cert "Client_cert" dh_size "2048" mtu "1400" interface "tun0" remote s2s-Server
{|
|-
|[[Datei:UMA20_AHB_hinweispic.png|50px]]
|'''Achtung!''' <br>
*Es dürfen Pools nicht mehrfach vergeben werden
*Es darf der local_port nicht mehrfach (pro Interface) verwendet werden
*Ein Tun-Interface darf nicht mehrfach verwendet werden
|}
===Multiple OpenvpnServer===
Es können mehrere Openvpnserver über die Remote-Profile übergeben werden, z.B.:
openvpn remote set id 2 hosts 192.168.4.143,192.168.176.1
firewall.foo.local> openvpn remote get
id|name            |hosts                     
--+----------------+---------------------------
2 |remote_sslserver|192.168.4.143,192.168.176.1
Werden keine Ports angegeben, wird der Default-Port 1194 verwendet.<br>
Sollen andere Ports verwendet werden, können diese hinter der IP mit einem vorangestellten Doppelpunkt angegeben werden.
openvpn remote set id 2 hosts 192.168.4.143:1195,192.168.176.1:1196
id|name            |hosts                           
--+----------------+----------------------------------
2 |remote_sslserver|192.168.4.143:1195,192.168.176.1:1196
Es wird zunächst versucht eine Verbindung zur 192.168.4.143 aufzubauen(28 Verbindungsversuche bei UDP / 3 Versuche bei TCP).<br>
Kann zur 192.168.4.143 keine Verbindung aufgebaut werden, wird versucht eine Verbindung zur 192.168.176.1(27 Verbindungsversuche bei UDP / 1 Versuch bei TCP) aufzubauen.<br>
Ist es auch nicht möglich zur 192.168.176.1 eine Verbindung aufzubauen, wird wieder versucht zur 192.168.4.143 eine Verbindung aufzubauen.

Aktuelle Version vom 12. Februar 2024, 08:07 Uhr

SSL-VPN

Optionen

openvpn new/set optionen
id Identifikationsnummer der Verbindung
name Name der Verbindung
mode Modus Server oder Client
proto Genutzes Protokoll für die Verbindung UDP oder TCP
auth Authentifizierungsmethode. Keine, Lokal oder Radius
cert Server-Zertifikat, dass für diese Verbindung genutzt wird
dh_size Größe des Diffie Hellman Schlüssels
mtu Größe der Datenpakete
pool Transfernetzwerk, dass für diese TUN Verbindung genutzt wird z.B. 192-168.250.0/24
flags DISABLED wenn diese Verbindung nicht genutzt werden soll, MULTIHOME wenn mehrere WAN Anschlüsse vorhanden sind, LZO Kompession, PUSH_DNS für die IP des DNS-Server, PUSH_WINS für die IP des Wins-Server
local_addr IP des Interface das für die Verbindung genutzt werden soll
local_port Port der für diese Verbindung genutzt wird z.B. 1194
remote Remote Adresse über die der Site to Site Client die Verbindung zum Server aufbauen soll
max_clients Maximale Anzahl der Clients in dieser Verbindung
interface Das zu nutzende TUN Interface
push_subnet_id Identifikationsnummer des zu übertragenen internen Subnetzes der Server Seite
push_subnet Das zu übertragenen interne Subnetz der Server Seite z.B. 192.168.175.0/24
openvpn remote new/set
id Identifikationsnummer der Site to Site Clientverbindung
openvpn_id
name Name der Site to Site Verbindung
common_name Client Zertifikat das für diese Verbindung genutzt wird
tunnel_addr IP der TUN-Schnittstelle auf der Clientseite
hosts Öffentliche Adresse unter der der SSL-VPN Server erreichbar ist
subnets Internes Netzwerk auf der Clientseite
push_subnets Internes Netzwerk auf der Server Seite

CLI Kommandos

Befehl Beschreibung Beispiel
openvpn get Auflisten der SSL-VPN Verbindungen openvpn get
openvpn new Erstellt eine neue SSL-VPN Verbindung openvpn new name "RW-Verbindung" mode "SERVER" proto "UDP" auth "LOCAL" cert "Server_cert" pool "192.168.250.0/24" mtu "1500" interface "tun0" local_port "1194" reneg "3600" push_subnet "192.168.175.0/24" dh_size "2048"
openvpn set Verändert eine SSL-VPN Verbindung openvpn set id "1" cert "Neues-Server_cert"
openvpn delete Löscht SSL-VPN Verbindungen openvpn delete id "6"
openvpn status Listet den Verbindungsstatus der einzelnen SSL-VPN instanzen auf openvpn status
openvpn disconnect Beendet eine SSL-VPN Verbindung zu einem Client openvpn disconnect name RW_Test c_name vpnuser
openvpn update Aktualisiert alle SSL-VPN Instanzen openvpn update
openvpn push_subnet new Erstellt ein neues Subnetz openvpn push_subnet new openvpn_id "3" push_subnet 192.168.176.0/24
openvpn push_subnet delete Löscht ein vorhandenen Subnetz-Eintrag openvpn push_subnet delete openvpn_id "3" push_subnet_id 15
openvpn remote get Listet die SSL-VPN Remote-Profile auf openvpn remote get
openvpn remote new Anlegen eines neuen SSL-VPN Remote-Profils openvpn remote new name "Client1" common_name "Client_cert" tunnel_addr "192.168.250.10/24" subnets "192.168.176.0/24"
openvpn remote set Ändern von SSL-VPN Remote-Profilen openvpn remote set id "3" tunnel_addr "192.168.250.2/24"
openvpn remote delete Löscht ein vorhandenes SSL-VPN Remote-Profil openvpn remote delete id "3"

Neue Verbindung anlegen

1. TUN-Interface + Zone anlegen

interface new name "tun0" type "TUN" 
interface zone new name "vpn-openvpn-server_conn" interface tun0

2. Zertifikate anlegen

cert new common_name "myCA" 
cert new common_name "Server_cert" issuer_id 130
cert new common_name "Client_cert" issuer_id 130

id |common_name|bits|valid_since        |valid_till         |issuer|flags |status
---+-----------+----+-------------------+-------------------+------+------+------
130|myCA       |1024|2011-08-25-10-41-16|2012-08-24-10-41-16|myCA  |KEY,CA|OK    
131|Server_cert|1024|2011-08-25-10-41-43|2012-08-24-10-41-43|myCA  |KEY   |OK    
132|Client_cert|1024|2011-08-25-10-42-04|2012-08-24-10-42-04|myCA  |KEY   |OK

Bei einer Site to Site Verbindung müssen das CA und das Client_cert dann exportiert werden.

cert export x509 id 130
cert export x509 id 132

3. Openvpn-Remote Profile definieren (nur bei Site to Site Verbindungen)

  • Server-Seite
openvpn remote new name "Client1" common_name "Client_cert" tunnel_addr "192.168.250.10" subnets 192.168.176.0/24
  • Client-Seite
openvpn remote new name "s2s-Server" hosts 192.168.4.143

4. Openvpn-Verbindung anlegen

Roadwarrior

openvpn new name "RW-Verbindung" mode "SERVER" proto "UDP" auth "LOCAL" cert "Server_cert" pool "192.168.250.0/24" mtu "1500" interface "tun0" local_port "1194" reneg "3600" push_subnet "192.168.175.0/24" dh_size "2048"

Site to Site

  • Zertifikate importieren
  • Server Seite
openvpn new name "s2s-conn" mode "SERVER" proto "UDP" auth "NONE" cert "Server_cert" dh_size "2048" mtu "1400" pool "192.168.250.0/24" interface tun0
  • Client Seite
openvpn new name "s2s-client" mode "CLIENT" proto "UDP" auth "NONE" cert "Client_cert" dh_size "2048" mtu "1400" interface "tun0" remote s2s-Server


UMA20 AHB hinweispic.png Achtung!
  • Es dürfen Pools nicht mehrfach vergeben werden
  • Es darf der local_port nicht mehrfach (pro Interface) verwendet werden
  • Ein Tun-Interface darf nicht mehrfach verwendet werden


Multiple OpenvpnServer

Es können mehrere Openvpnserver über die Remote-Profile übergeben werden, z.B.:

openvpn remote set id 2 hosts 192.168.4.143,192.168.176.1
firewall.foo.local> openvpn remote get 
id|name            |hosts                      
--+----------------+---------------------------
2 |remote_sslserver|192.168.4.143,192.168.176.1

Werden keine Ports angegeben, wird der Default-Port 1194 verwendet.
Sollen andere Ports verwendet werden, können diese hinter der IP mit einem vorangestellten Doppelpunkt angegeben werden.

openvpn remote set id 2 hosts 192.168.4.143:1195,192.168.176.1:1196

id|name            |hosts                             
--+----------------+----------------------------------
2 |remote_sslserver|192.168.4.143:1195,192.168.176.1:1196

Es wird zunächst versucht eine Verbindung zur 192.168.4.143 aufzubauen(28 Verbindungsversuche bei UDP / 3 Versuche bei TCP).
Kann zur 192.168.4.143 keine Verbindung aufgebaut werden, wird versucht eine Verbindung zur 192.168.176.1(27 Verbindungsversuche bei UDP / 1 Versuch bei TCP) aufzubauen.
Ist es auch nicht möglich zur 192.168.176.1 eine Verbindung aufzubauen, wird wieder versucht zur 192.168.4.143 eine Verbindung aufzubauen.