Next: , Previous: , Up: Servicios   [Contents][Index]


12.9.23 Servicios VPN

The (gnu services vpn) module provides services related to virtual private networks (VPNs).

Bitmask

Scheme Variable: bitmask-service-type

A service type for the Bitmask VPN client. It makes the client available in the system and loads its polkit policy. Please note that the client expects an active polkit-agent, which is either run by your desktop-environment or should be run manually.

OpenVPN

It provides a client service for your machine to connect to a VPN, and a server service for your machine to host a VPN.

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

Devuelve un servicio que ejecuta openvpn, un daemon VPN, como cliente.

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

Devuelve un servicio que ejecuta openvpn, un daemon VPN, como servidor.

Pueden ejecutarse simultáneamente.

Data Type: openvpn-client-configuration

Los campos disponibles de openvpn-client-configuration son:

openvpn (default: openvpn) (type: file-like)

El paquete OpenVPN.

pid-file (default: "/var/run/openvpn/openvpn.pid") (type: string)

El archivo de pid de OpenVPN.

proto (default: udp) (type: proto)

El protocolo (UDP o TCP) usado para la apertura del canal entre clientes y servidores.

dev (default: tun) (type: dev)

El tipo de dispositivo usado para representar la conexión VPN.

ca (default: "/etc/openvpn/ca.crt") (type: maybe-string)

La autoridad de certificación contra la que se comprueban las conexiones.

cert (default: "/etc/openvpn/client.crt") (type: maybe-string)

El certificado de la máquina en la que se ejecuta el daemon. Debe estar firmado por la autoridad proporcionada en ca.

key (default: "/etc/openvpn/client.key") (type: maybe-string)

La clave de la máquina en la que se ejecuta el daemon. Debe ser la clave cuyo certificado es cert.

comp-lzo? (default: #t) (type: boolean)

Determina si se usa el algoritmo de compresión lzo.

persist-key? (default: #t) (type: boolean)

No vuelve a leer los archivos de claves tras la señal SIGUSR1 o –ping-restart.

persist-tun? (default: #t) (type: boolean)

No cierra y reabre el dispositivo TUN/TAP o ejecuta los guiones de parada e inicio tras el reinicio provocado por SIGUSR1 o –ping-restart.

fast-io? (default: #f) (type: boolean)

(Experimental) Optimiza las escrituras de E/S de TUN/TAP/UDP evitando llamar poll/epoll/select antes de la operación de escritura (write).

verbosity (default: 3) (type: number)

Nivel de detalle en los mensajes.

tls-auth (default: #f) (type: tls-auth-client)

Añade una capa adicional de verificación HMAC sobre el canal de control TLS para protección contra ataques de denegación de servicio (DoS).

auth-user-pass (type: maybe-string)

Activa la identificación con el servidor mediante el uso de usuaria/contraseña. La opción es un archivo que contiene en dos líneas el nombre de usuaria y la contraseña. No use un objeto tipo-archivo, ya que se añadiría al almacén y sería legible para cualquier usuaria.

verify-key-usage? (default: #t) (type: key-usage)

Si se comprueba que el certificado del servidor tenga la extensión de uso de servidor.

bind? (default: #f) (type: bind)

Asociación a un número específico de puerto local.

resolv-retry? (default: #t) (type: resolv-retry)

Reintentos de resolución de la dirección del servidor.

remote (default: ()) (type: openvpn-remote-list)

Una lista de servidores remotos a los que conectarse.

Data Type: openvpn-remote-configuration

Los campos disponibles de openvpn-remote-configuration son:

name (default: "my-server") (type: string)

Nombre del servidor.

port (default: 1194) (type: number)

Puerto en el que escucha el servidor.

Data Type: openvpn-server-configuration

Los campos disponibles de openvpn-server-configuration son:

openvpn (default: openvpn) (type: file-like)

El paquete OpenVPN.

pid-file (default: "/var/run/openvpn/openvpn.pid") (type: string)

El archivo de pid de OpenVPN.

proto (default: udp) (type: proto)

El protocolo (UDP o TCP) usado para la apertura del canal entre clientes y servidores.

dev (default: tun) (type: dev)

El tipo de dispositivo usado para representar la conexión VPN.

ca (default: "/etc/openvpn/ca.crt") (type: maybe-string)

La autoridad de certificación contra la que se comprueban las conexiones.

cert (default: "/etc/openvpn/client.crt") (type: maybe-string)

El certificado de la máquina en la que se ejecuta el daemon. Debe estar firmado por la autoridad proporcionada en ca.

key (default: "/etc/openvpn/client.key") (type: maybe-string)

La clave de la máquina en la que se ejecuta el daemon. Debe ser la clave cuyo certificado es cert.

comp-lzo? (default: #t) (type: boolean)

Determina si se usa el algoritmo de compresión lzo.

persist-key? (default: #t) (type: boolean)

No vuelve a leer los archivos de claves tras la señal SIGUSR1 o –ping-restart.

persist-tun? (default: #t) (type: boolean)

No cierra y reabre el dispositivo TUN/TAP o ejecuta los guiones de parada e inicio tras el reinicio provocado por SIGUSR1 o –ping-restart.

fast-io? (default: #f) (type: boolean)

(Experimental) Optimiza las escrituras de E/S de TUN/TAP/UDP evitando llamar poll/epoll/select antes de la operación de escritura (write).

verbosity (default: 3) (type: number)

Nivel de detalle en los mensajes.

tls-auth (default: #f) (type: tls-auth-server)

Añade una capa adicional de verificación HMAC sobre el canal de control TLS para protección contra ataques de denegación de servicio (DoS).

port (default: 1194) (type: number)

Especifica el número de puerto en el que escucha el servidor.

server (default: "10.8.0.0 255.255.255.0") (type: ip-mask)

Una IP y una máscara que especifiquen la subred dentro de la red virtual.

server-ipv6 (default: #f) (type: cidr6)

La especificación de una subred IPv6 dentro de la red virtual en notación CIDR.

dh (default: "/etc/openvpn/dh2048.pem") (type: string)

El archivo de parámetros Diffie-Hellman.

ifconfig-pool-persist (default: "/etc/openvpn/ipp.txt") (type: string)

El archivo que registra IP de clientes.

redirect-gateway? (default: #f) (type: gateway)

Cuando sea verdadero, el servidor actuará como una pasarela para sus clientes.

client-to-client? (default: #f) (type: boolean)

Cuando es verdadero, se permite la comunicación entre clientes dentro de la VPN.

keepalive (default: (10 120)) (type: keepalive)

Hace que se envíen mensajes tipo-ping en ambas direcciones a través del enlace de modo que cada extremo conozca si el otro extremo no está disponible. keepalive necesita un par. El primer elemento es el periodo de envío de ping, y el segundo elemento es el plazo máximo antes de considerar que el otro extremo no está disponible.

max-clients (default: 100) (type: number)

Número máximo de clientes.

status (default: "/var/run/openvpn/status") (type: string)

El archivo de estado. Este archivo muestra un pequeño informe sobre la conexión actual. Su contenido se borra y se reescribe cada minuto.

client-config-dir (default: ()) (type: openvpn-ccd-list)

Lista de configuración para algunos clientes.

strongSwan

Currently, the strongSwan service only provides legacy-style configuration with ipsec.conf and ipsec.secrets files.

Scheme Variable: strongswan-service-type

A service type for configuring strongSwan for IPsec VPN (Virtual Private Networking). Its value must be a strongswan-configuration record as in this example:

(service strongswan-service-type
         (strongswan-configuration
          (ipsec-conf "/etc/ipsec.conf")
          (ipsec-secrets "/etc/ipsec.secrets")))
Data Type: strongswan-configuration

Data type representing the configuration of the StrongSwan service.

strongswan

The strongSwan package to use for this service.

ipsec-conf (default: #f)

The file name of your ipsec.conf. If not #f, then this and ipsec-secrets must both be strings.

ipsec-secrets (default #f)

The file name of your ipsec.secrets. If not #f, then this and ipsec-conf must both be strings.

Wireguard

Scheme Variable: wireguard-service-type

A service type for a Wireguard tunnel interface. Its value must be a wireguard-configuration record as in this example:

(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")))))))
Data Type: wireguard-configuration

Data type representing the configuration of the Wireguard service.

wireguard

The wireguard package to use for this service.

interface (default: "wg0")

The interface name for the VPN.

addresses (default: '("10.0.0.1/32"))

The IP addresses to be assigned to the above interface.

port (default: 51820)

The port on which to listen for incoming connections.

dns (default: #f)

The DNS server(s) to announce to VPN clients via DHCP.

private-key (default: "/etc/wireguard/private.key")

The private key file for the interface. It is automatically generated if the file does not exist.

peers (default: '())

The authorized peers on this interface. This is a list of wireguard-peer records.

pre-up (default: '())

The script commands to be run before setting up the interface.

post-up (default: '())

The script commands to be run after setting up the interface.

pre-down (default: '())

The script commands to be run before tearing down the interface.

post-down (default: '())

The script commands to be run after tearing down the interface.

table (default: "auto")

The routing table to which routes are added, as a string. There are two special values: "off" that disables the creation of routes altogether, and "auto" (the default) that adds routes to the default table and enables special handling of default routes.

Data Type: wireguard-peer

Data type representing a Wireguard peer attached to a given interface.

name

The peer name.

endpoint (default: #f)

The optional endpoint for the peer, such as "demo.wireguard.com:51820".

public-key

The peer public-key represented as a base64 string.

allowed-ips

A list of IP addresses from which incoming traffic for this peer is allowed and to which incoming traffic for this peer is directed.

keep-alive (default: #f)

An optional time interval in seconds. A packet will be sent to the server endpoint once per time interval. This helps receiving incoming connections from this peer when you are behind a NAT or a firewall.


Next: Sistema de archivos en red, Previous: VNC Services, Up: Servicios   [Contents][Index]