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
Achtung!
|
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.