Nächste: , Vorige: , Nach oben: Dienste   [Inhalt][Index]


10.8.21 VPN-Dienste

Das Modul (gnu services vpn) stellt Dienste zur Verfügung, die mit Virtual Private Networks (VPNs) zu tun haben.

OpenVPN

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.

Scheme-Prozedur: openvpn-client-service [#:config (openvpn-client-configuration)]

Liefert einen Dienst, der den VPN-Daemon openvpn als Client ausführt.

Scheme-Prozedur: openvpn-server-service [#:config (openvpn-server-configuration)]

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-client-configuration-Parameter: „package“ openvpn

Das OpenVPN-Paket.

openvpn-client-configuration-Parameter: Zeichenkette pid-file

Die Datei für den Prozessidentifikator („PID“) von OpenVPN.

Die Vorgabe ist ‘"/var/run/openvpn/openvpn.pid"’.

openvpn-client-configuration-Parameter: Protokoll proto

Das Protokoll (UDP oder TCP), das benutzt werden soll, um einen Kommunikationskanal zwischen Clients und Servern herzustellen.

Die Vorgabe ist ‘udp’.

openvpn-client-configuration-Parameter: Gerät dev

Der Gerätetyp, mit dem die VPN-Verbindung repräsentiert werden soll.

Die Vorgabe ist ‘tun’.

Wenn Ihnen einige dieser Dateien fehlen (etwa weil Sie stattdessen Benutzername und Passwort benutzen), dann können Sie jedes der folgenden drei Felder unterdrücken, indem Sie dafür 'disabled angeben.

openvpn-client-configuration-Parameter: Vielleicht-Zeichenkette ca

Die Zertifikatsautorität, mit der Verbindungen geprüft werden.

Die Vorgabe ist ‘"/etc/openvpn/ca.crt"’.

openvpn-client-configuration-Parameter: Vielleicht-Zeichenkette cert

Das Zertifikat der Maschine, auf der der Daemon läuft. Es sollte von der in ca angegebenen Zertifikatsautorität signiert sein.

Die Vorgabe ist ‘"/etc/openvpn/client.crt"’.

openvpn-client-configuration-Parameter: Vielleicht-Zeichenkette key

Der Schlüssel der Maschine, auf der der Daemon läuft. Er muss der Schlüssel zum in cert angegebenen Zertifikat sein.

Die Vorgabe ist ‘"/etc/openvpn/client.key"’.

openvpn-client-configuration-Parameter: Boolescher-Ausdruck comp-lzo?

Ob der Kompressionsalgorithmus lzo benutzt werden soll.

Die Vorgabe ist ‘#t’.

openvpn-client-configuration-Parameter: Boolescher-Ausdruck persist-key?

Die Schlüsseldateien nach Auftreten von SIGUSR1 oder –ping-restart nicht erneut einlesen.

Die Vorgabe ist ‘#t’.

openvpn-client-configuration-Parameter: Boolescher-Ausdruck persist-tun?

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.

Die Vorgabe ist ‘#t’.

openvpn-client-configuration-Parameter: Boolescher-Ausdruck fast-io?

(Experimentell) Schreibzugriffe durch Datenverkehr bei TUN/TAP/UDP optimieren, indem ein Aufruf von poll/epoll/select vor der Schreiboperation eingespart wird.

Vorgegeben ist ‘#f’.

openvpn-client-configuration-Parameter: Zahl verbosity

Ausführlichkeitsstufe.

Die Vorgabe ist ‘3’.

openvpn-client-configuration-Parameter: „tls-auth“-Clienteinstellung tls-auth

Eine weitere HMAC-Authentifizierung zusätzlich zum TLS-Steuerungskanal einsetzen, um das System vor gezielten Überlastungsangriffen („Denial of Service“) zu schützen.

Vorgegeben ist ‘#f’.

openvpn-client-configuration-Parameter: Vielleicht-Zeichenkette auth-user-pass

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.

Der Vorgabewert ist ‘'disabled’ (d.h. deaktiviert).

openvpn-client-configuration-Parameter: Schlüsselprüfung verify-key-usage?

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.

Die Vorgabe ist ‘#t’.

openvpn-client-configuration-Parameter: bind bind?

Ob an immer dieselbe, feste lokale Portnummer gebunden wird.

Vorgegeben ist ‘#f’.

openvpn-client-configuration-Parameter: Erneut-Auflösen resolv-retry?

Ob, wenn die Server-Adresse nicht aufgelöst werden konnte, die Auflösung erneut versucht wird.

Die Vorgabe ist ‘#t’.

openvpn-client-configuration-Parameter: „openvpn-remote-configuration“-Liste remote

Eine Liste entfernter Server, mit denen eine Verbindung hergestellt werden soll.

Die Vorgabe ist ‘()’.

Verfügbare openvpn-remote-configuration-Felder sind:

openvpn-remote-configuration-Parameter: Zeichenkette name

Der Servername.

Die Vorgabe ist ‘"my-server"’.

openvpn-remote-configuration-Parameter: Zahl port

Die Portnummer, auf der der Server lauscht.

Die Vorgabe ist ‘1194’.

Verfügbare openvpn-server-configuration-Felder sind:

openvpn-server-configuration-Parameter: „package“ openvpn

Das OpenVPN-Paket.

openvpn-server-configuration-Parameter: Zeichenkette pid-file

Die Datei für den Prozessidentifikator („PID“) von OpenVPN.

Die Vorgabe ist ‘"/var/run/openvpn/openvpn.pid"’.

openvpn-server-configuration-Parameter: Protokoll proto

Das Protokoll (UDP oder TCP), das benutzt werden soll, um einen Kommunikationskanal zwischen Clients und Servern herzustellen.

Die Vorgabe ist ‘udp’.

openvpn-server-configuration-Parameter: Gerät dev

Der Gerätetyp, mit dem die VPN-Verbindung repräsentiert werden soll.

Die Vorgabe ist ‘tun’.

Wenn Ihnen einige dieser Dateien fehlen (etwa weil Sie stattdessen Benutzername und Passwort benutzen), dann können Sie jedes der folgenden drei Felder unterdrücken, indem Sie dafür 'disabled angeben.

openvpn-server-configuration-Parameter: Vielleicht-Zeichenkette ca

Die Zertifikatsautorität, mit der Verbindungen geprüft werden.

Die Vorgabe ist ‘"/etc/openvpn/ca.crt"’.

openvpn-server-configuration-Parameter: Vielleicht-Zeichenkette cert

Das Zertifikat der Maschine, auf der der Daemon läuft. Es sollte von der in ca angegebenen Zertifikatsautorität signiert sein.

Die Vorgabe ist ‘"/etc/openvpn/client.crt"’.

openvpn-server-configuration-Parameter: Vielleicht-Zeichenkette key

Der Schlüssel der Maschine, auf der der Daemon läuft. Er muss der Schlüssel zum in cert angegebenen Zertifikat sein.

Die Vorgabe ist ‘"/etc/openvpn/client.key"’.

openvpn-server-configuration-Parameter: Boolescher-Ausdruck comp-lzo?

Ob der Kompressionsalgorithmus lzo benutzt werden soll.

Die Vorgabe ist ‘#t’.

openvpn-server-configuration-Parameter: Boolescher-Ausdruck persist-key?

Die Schlüsseldateien nach Auftreten von SIGUSR1 oder –ping-restart nicht erneut einlesen.

Die Vorgabe ist ‘#t’.

openvpn-server-configuration-Parameter: Boolescher-Ausdruck persist-tun?

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.

Die Vorgabe ist ‘#t’.

openvpn-server-configuration-Parameter: Boolescher-Ausdruck fast-io?

(Experimentell) Schreibzugriffe durch Datenverkehr bei TUN/TAP/UDP optimieren, indem ein Aufruf von poll/epoll/select vor der Schreiboperation eingespart wird.

Vorgegeben ist ‘#f’.

openvpn-server-configuration-Parameter: Zahl verbosity

Ausführlichkeitsstufe.

Die Vorgabe ist ‘3’.

openvpn-server-configuration-Parameter: „tls-auth“-Servereinstellung tls-auth

Eine weitere HMAC-Authentifizierung zusätzlich zum TLS-Steuerungskanal einsetzen, um das System vor gezielten Überlastungsangriffen („Denial of Service“) zu schützen.

Vorgegeben ist ‘#f’.

openvpn-server-configuration-Parameter: Zahl port

Gibt die Portnummer an, auf der der Server lauscht.

Die Vorgabe ist ‘1194’.

openvpn-server-configuration-Parameter: IP-und-Maske server

Eine IP-Adresse gefolgt von deren Maske, die das Subnetz im virtuellen Netzwerk angibt.

Die Vorgabe ist ‘"10.8.0.0 255.255.255.0"’.

openvpn-server-configuration-Parameter: cidr6 server-ipv6

Eine CIDR-Notation, mit der das IPv6-Subnetz im virtuellen Netzwerk angegeben wird.

Vorgegeben ist ‘#f’.

openvpn-server-configuration-Parameter: Zeichenkette dh

Die Datei mit den Diffie-Hellman-Parametern.

Die Vorgabe ist ‘"/etc/openvpn/dh2048.pem"’.

openvpn-server-configuration-Parameter: Zeichenkette ifconfig-pool-persist

Die Datei, in der Client-IPs eingetragen werden.

Die Vorgabe ist ‘"/etc/openvpn/ipp.txt"’.

openvpn-server-configuration-Parameter: Zugang redirect-gateway?

Wenn dies auf wahr steht, fungiert der Server als Zugang („Gateway“) für seine Clients.

Vorgegeben ist ‘#f’.

openvpn-server-configuration-Parameter: Boolescher-Ausdruck client-to-client?

Wenn dies auf wahr steht, ist es zugelassen, dass Clients untereinander innerhalb des VPNs kommunizieren.

Vorgegeben ist ‘#f’.

openvpn-server-configuration-Parameter: Aufrechterhaltung 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.

openvpn-server-configuration-Parameter: Zahl max-clients

Wie viele Clients es höchstens geben kann.

Die Vorgabe ist ‘100’.

openvpn-server-configuration-Parameter: Zeichenkette status

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.

Die Vorgabe ist ‘"/var/run/openvpn/status"’.

openvpn-server-configuration-Parameter: „openvpn-ccd-configuration“-Liste client-config-dir

Die Liste der Konfigurationen für einige Clients.

Die Vorgabe ist ‘()’.

Verfügbare openvpn-ccd-configuration-Felder sind:

openvpn-ccd-configuration-Parameter: Zeichenkette name

Der Client-Name.

Die Vorgabe ist ‘"client"’.

openvpn-ccd-configuration-Parameter: IP-und-Maske iroute

Das eigene Netzwerk des Clients.

Vorgegeben ist ‘#f’.

openvpn-ccd-configuration-Parameter: IP-und-Maske ifconfig-push

VPN-IP-Adresse des Clients.

Vorgegeben ist ‘#f’.

Wireguard

Scheme-Variable: wireguard-service-type

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")))))))
Datentyp: wireguard-configuration

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.

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.

Datentyp: wireguard-peer

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.


Nächste: , Vorige: , Nach oben: Dienste   [Inhalt][Index]