Nächste: Network File System, Vorige: VNC-Dienste, Nach oben: Dienste [Inhalt][Index]
Das Modul (gnu services vpn)
stellt Dienste zur Verfügung, die mit
Virtual Private Networks (VPNs) zu tun haben.
Ein Diensttyp für den VPN-Client Bitmask. Damit wird der Client systemweit verfügbar gemacht und dessen Polkit-Richtlinie geladen. Beachten Sie, dass der Client nur mit einem laufenden polkit-agent funktioniert, der entweder von Ihrer „Desktop“-Arbeitsumgebung oder von Ihnen manuell gestartet wird.
Hiermit wird ein Client-Dienst angeboten, mit dem sich Ihre Maschine mit einem VPN verbinden kann, sowie ein Server-Dienst, mit dem Sie auf Ihrer Maschine ein VPN betreiben können.
Liefert einen Dienst, der den VPN-Daemon openvpn
als Client
ausführt.
Liefert einen Dienst, der den VPN-Daemon openvpn
als Server
ausführt.
Beide können zeitgleich laufen gelassen werden.
Verfügbare openvpn-client-configuration
-Felder sind:
openvpn
(Vorgabe: openvpn
) (Typ: dateiartig)Das OpenVPN-Paket.
pid-file
(Vorgabe: "/var/run/openvpn/openvpn.pid"
) (Typ: Zeichenkette)Die Datei für den Prozessidentifikator („PID“) von OpenVPN.
proto
(Vorgabe: udp
) (Typ: Protokoll)Das Protokoll (UDP oder TCP), das benutzt werden soll, um einen Kommunikationskanal zwischen Clients und Servern herzustellen.
dev
(Vorgabe: tun
) (Typ: Gerätetyp)Der Gerätetyp, mit dem die VPN-Verbindung repräsentiert werden soll.
ca
(Vorgabe: "/etc/openvpn/ca.crt"
) (Typ: Vielleicht-Zeichenkette)Die Zertifikatsautorität, mit der Verbindungen geprüft werden.
cert
(Vorgabe: "/etc/openvpn/client.crt"
) (Typ: Vielleicht-Zeichenkette)Das Zertifikat der Maschine, auf der der Daemon läuft. Es sollte von der in
ca
angegebenen Zertifikatsautorität signiert sein.
key
(Vorgabe: "/etc/openvpn/client.key"
) (Typ: Vielleicht-Zeichenkette)Der Schlüssel der Maschine, auf der der Daemon läuft. Er muss der Schlüssel
zum in cert
angegebenen Zertifikat sein.
comp-lzo?
(Vorgabe: #t
) (Typ: Boolescher-Ausdruck)Ob der Kompressionsalgorithmus lzo benutzt werden soll.
persist-key?
(Vorgabe: #t
) (Typ: Boolescher-Ausdruck)Die Schlüsseldateien nach Auftreten von SIGUSR1 oder –ping-restart nicht erneut einlesen.
persist-tun?
(Vorgabe: #t
) (Typ: Boolescher-Ausdruck)Nach dem Auftreten von SIGUSR1 oder –ping-restart TUN/TAP-Geräte nicht schließen und wieder öffnen und auch keine Start-/Stop-Skripte ausführen.
fast-io?
(Vorgabe: #f
) (Typ: Boolescher-Ausdruck)(Experimentell) Schreibzugriffe durch Datenverkehr bei TUN/TAP/UDP optimieren, indem ein Aufruf von poll/epoll/select vor der Schreiboperation eingespart wird.
verbosity
(Vorgabe: 3
) (Typ: Zahl)Ausführlichkeitsstufe.
tls-auth
(Vorgabe: #f
) (Typ: TLS-Clientauthentifizierung)Eine weitere HMAC-Authentifizierung zusätzlich zum TLS-Steuerungskanal einsetzen, um das System vor gezielten Überlastungsangriffen („Denial of Service“) zu schützen.
auth-user-pass
(Typ: Vielleicht-Zeichenkette)Beim Server eine Authentisierung über Benutzername/Passwort durchführen. Die Option nimmt eine Datei, welche Benutzername und Passwort auf zwei Zeilen enthält. Benutzen Sie dafür kein dateiartiges Objekt, weil es in den Store eingelagert würde, wo es jeder Benutzer einsehen könnte.
verify-key-usage?
(Vorgabe: #t
) (Typ: Schlüsselnutzung)Ob sichergestellt werden soll, dass das Server-Zertifikat auch über eine Erweiterung („Extension“) verfügt, dass es für die Nutzung als Server gültig ist.
bind?
(Vorgabe: #f
) (Typ: Binden)Ob an immer dieselbe, feste lokale Portnummer gebunden wird.
resolv-retry?
(Vorgabe: #t
) (Typ: resolv-retry)Ob, wenn die Server-Adresse nicht aufgelöst werden konnte, die Auflösung erneut versucht wird.
remote
(Vorgabe: ()
) (Typ: Liste-von-„openvpn-remote“)Eine Liste entfernter Server, mit denen eine Verbindung hergestellt werden soll.
Verfügbare openvpn-remote-configuration
-Felder sind:
name
(Vorgabe: "my-server"
) (Typ: Zeichenkette)Der Servername.
port
(Vorgabe: 1194
) (Typ: Zahl)Die Portnummer, auf der der Server lauscht.
Verfügbare openvpn-server-configuration
-Felder sind:
openvpn
(Vorgabe: openvpn
) (Typ: dateiartig)Das OpenVPN-Paket.
pid-file
(Vorgabe: "/var/run/openvpn/openvpn.pid"
) (Typ: Zeichenkette)Die Datei für den Prozessidentifikator („PID“) von OpenVPN.
proto
(Vorgabe: udp
) (Typ: Protokoll)Das Protokoll (UDP oder TCP), das benutzt werden soll, um einen Kommunikationskanal zwischen Clients und Servern herzustellen.
dev
(Vorgabe: tun
) (Typ: Gerätetyp)Der Gerätetyp, mit dem die VPN-Verbindung repräsentiert werden soll.
ca
(Vorgabe: "/etc/openvpn/ca.crt"
) (Typ: Vielleicht-Zeichenkette)Die Zertifikatsautorität, mit der Verbindungen geprüft werden.
cert
(Vorgabe: "/etc/openvpn/client.crt"
) (Typ: Vielleicht-Zeichenkette)Das Zertifikat der Maschine, auf der der Daemon läuft. Es sollte von der in
ca
angegebenen Zertifikatsautorität signiert sein.
key
(Vorgabe: "/etc/openvpn/client.key"
) (Typ: Vielleicht-Zeichenkette)Der Schlüssel der Maschine, auf der der Daemon läuft. Er muss der Schlüssel
zum in cert
angegebenen Zertifikat sein.
comp-lzo?
(Vorgabe: #t
) (Typ: Boolescher-Ausdruck)Ob der Kompressionsalgorithmus lzo benutzt werden soll.
persist-key?
(Vorgabe: #t
) (Typ: Boolescher-Ausdruck)Die Schlüsseldateien nach Auftreten von SIGUSR1 oder –ping-restart nicht erneut einlesen.
persist-tun?
(Vorgabe: #t
) (Typ: Boolescher-Ausdruck)Nach dem Auftreten von SIGUSR1 oder –ping-restart TUN/TAP-Geräte nicht schließen und wieder öffnen und auch keine Start-/Stop-Skripte ausführen.
fast-io?
(Vorgabe: #f
) (Typ: Boolescher-Ausdruck)(Experimentell) Schreibzugriffe durch Datenverkehr bei TUN/TAP/UDP optimieren, indem ein Aufruf von poll/epoll/select vor der Schreiboperation eingespart wird.
verbosity
(Vorgabe: 3
) (Typ: Zahl)Ausführlichkeitsstufe.
tls-auth
(Vorgabe: #f
) (Typ: TLS-Serverauthentifizierung)Eine weitere HMAC-Authentifizierung zusätzlich zum TLS-Steuerungskanal einsetzen, um das System vor gezielten Überlastungsangriffen („Denial of Service“) zu schützen.
port
(Vorgabe: 1194
) (Typ: Zahl)Gibt die Portnummer an, auf der der Server lauscht.
server
(Vorgabe: "10.8.0.0 255.255.255.0"
) (Typ: IP-Maske)Eine IP-Adresse gefolgt von deren Maske, die das Subnetz im virtuellen Netzwerk angibt.
server-ipv6
(Vorgabe: #f
) (Typ: CIDR6)Eine CIDR-Notation, mit der das IPv6-Subnetz im virtuellen Netzwerk angegeben wird.
dh
(Vorgabe: "/etc/openvpn/dh2048.pem"
) (Typ: Zeichenkette)Die Datei mit den Diffie-Hellman-Parametern.
ifconfig-pool-persist
(Vorgabe: "/etc/openvpn/ipp.txt"
) (Typ: Zeichenkette)Die Datei, in der Client-IPs eingetragen werden.
redirect-gateway?
(Vorgabe: #f
) (Typ: Zugang)Wenn dies auf wahr steht, fungiert der Server als Zugang („Gateway“) für seine Clients.
client-to-client?
(Vorgabe: #f
) (Typ: Boolescher-Ausdruck)Wenn dies auf wahr steht, ist es zugelassen, dass Clients untereinander innerhalb des VPNs kommunizieren.
keepalive
(Vorgabe: (10 120)
) (Typ: keepalive)Lässt ping-artige Nachrichtigen in beide Richtungen über die Leitung
übertragen, damit beide Seiten bemerken, wenn der Kommunikationspartner
offline geht. Für keepalive
muss ein Paar angegeben werden. Das erste
Element ist die Periode, nach der das Pingsignal wieder gesendet werden
soll, und das zweite ist eine Zeitbegrenzung, in der eines ankommen muss,
damit die andere Seite nicht als offline gilt.
max-clients
(Vorgabe: 100
) (Typ: Zahl)Wie viele Clients es höchstens geben kann.
status
(Vorgabe: "/var/run/openvpn/status"
) (Typ: Zeichenkette)Die Datei für einen Zustandsbericht („Status File“). Diese Datei enthält einen kurzen Bericht über die momentane Verbindung. Sie wird jede Minute gekürzt und neu geschrieben.
client-config-dir
(Vorgabe: ()
) (Typ: Liste-von-„openvpn-ccd“)Die Liste der Konfigurationen für einige Clients.
Derzeit unterstützt der strongSwan-Dienst nur die alte Art der Konfiguration über die Dateien ipsec.conf und ipsec.secrets.
Ein Diensttyp, um mit strongSwan VPN (Virtual Private Networking)
über IPsec einzurichten. Als Wert muss ein
strongswan-configuration
-Verbundsobjekt angegeben werden, wie im
folgenden Beispiel:
(service strongswan-service-type
(strongswan-configuration
(ipsec-conf "/etc/ipsec.conf")
(ipsec-secrets "/etc/ipsec.secrets")))
Der Datentyp, der die Konfiguration des strongSwan-Dienstes repräsentiert.
strongswan
Das strongSwan-Paket, was für diesen Dienst benutzt werden soll.
ipsec-conf
(Vorgabe: #f
)Der Dateiname Ihrer ipsec.conf. Wenn es wahr ist, muss hierfür und
für ipsec-secrets
jeweils eine Zeichenkette angegeben werden.
ipsec-secrets
(Vorgabe: #f
)Der Dateiname Ihrer ipsec.secrets. Wenn es wahr ist, muss hierfür und
für ipsec-conf
jeweils eine Zeichenkette angegeben werden.
Ein Diensttyp für eine Schnittstelle über einen Wireguard-Tunnel. Sein Wert
muss ein wireguard-configuration
-Verbundsobjekt wie in diesem
Beispiel sein:
(service wireguard-service-type
(wireguard-configuration
(peers
(list
(wireguard-peer
(name "my-peer")
(endpoint "my.wireguard.com:51820")
(public-key "hzpKg9X1yqu1axN6iJp0mWf6BZGo8m1wteKwtTmDGF4=")
(allowed-ips '("10.0.0.2/32")))))))
Der Datentyp, der die Konfiguration des Wireguard-Dienstes repräsentiert.
wireguard
Das Wireguard-Paket, was für diesen Dienst benutzt werden soll.
interface
(Vorgabe: "wg0"
)Der Name der VPN-Schnittstelle.
addresses
(Vorgabe: '("10.0.0.1/32")
)Welche IP-Adressen obiger Schnittstelle zugeordnet werden.
port
(Vorgabe: 51820
)Auf welchem Port auf eingehende Verbindungen gelauscht werden soll.
dns
(Vorgabe: #f
)Die DNS-Server, die den VPN-Clients per DHCP mitgeteilt werden.
private-key
(Vorgabe: "/etc/wireguard/private.key"
)Die Datei mit dem privaten Schlüssel für die Schnittstelle. Wenn die angegebene Datei nicht existiert, wird sie automatisch erzeugt.
peers
(Vorgabe: '()
)Die zugelassenen Netzwerkteilnehmer auf dieser Schnittstelle. Dies ist eine Liste von wireguard-peer-Verbundsobjekten.
pre-up
(Vorgabe: '()
)Welche Skriptbefehle vor dem Einrichten der Schnittstelle ausgeführt werden soll.
post-up
(Vorgabe: '()
)Welche Skriptbefehle nach dem Einrichten der Schnittstelle ausgeführt werden soll.
pre-down
(Vorgabe: '()
)Welche Skriptbefehle vor dem Abwickeln der Schnittstelle ausgeführt werden soll.
post-down
(Vorgabe: '()
)Welche Skriptbefehle nach dem Abwickeln der Schnittstelle ausgeführt werden soll.
table
(Vorgabe: "auto"
)Zu welcher Routing-Tabelle neue Routen hinzugefügt werden, angegeben als
Zeichenkette. Es gibt zwei besondere Werte: Mit "off"
schalten Sie
die Erzeugung neuer Routen ganz ab, mit "auto"
(was vorgegeben ist)
werden Routen zur Standard-Routingtabelle hinzugefügt und Standardrouten
besonders behandelt.
Der Datentyp, der einen an die angegebene Schnittstelle angeschlossenen Netzwerkteilnehmer („Peer“) repräsentiert.
name
Die Bezeichnung für den Netzwerkteilnehmer.
endpoint
(Vorgabe: #f
)Optional der Endpunkt des Netzwerkteilnehmers, etwa
"demo.wireguard.com:51820"
.
public-key
Der öffentliche Schlüssel des Netzwerkteilnehmers, dargestellt als eine base64-kodierte Zeichenkette.
allowed-ips
Eine Liste der IP-Adressen, von denen für diesen Netzwerkteilnehmer eingehende Kommunikation zugelassen wird und an die ausgehende Kommunikation für diesen Netzwerkteilnehmer gerichtet wird.
keep-alive
(Vorgabe: #f
)Optional ein Zeitintervall in Sekunden. Einmal pro Zeitintervall wird ein Paket an den Serverendpunkt geschickt. Das hilft beim Empfangen eingehender Verbindungen von diesem Netzwerkteilnehmer, wenn Sie nur über eine Netzwerkadressübersetzung („NAT“) oder hinter einer Firewall erreichbar sind.
Nächste: Network File System, Vorige: VNC-Dienste, Nach oben: Dienste [Inhalt][Index]