Siguiente: , Anterior: , Subir: Servicios   [Índice general][Índice]


10.8.4 Servicios de red

El módulo (gnu services networking) proporciona servicios para configurar la interfaz de red.

Variable Scheme: dhcp-client-service-type

Este es el tipo de los servicios que ejecutan dhcp, un cliente del protocolo de configuración dinámica de máquinas DHCP, en todas las interfaces de red no locales. Su valor es el paquete del cliente DHCP, isc-dhcp de manera predeterminada.

Procedimiento Scheme: dhcpd-service-type

Este tipo define un servicio que ejecuta el daemon DHCP. Para crear un servicio de este tipo debe proporcionar un objeto <dhcpd-configuration>. Por ejemplo:

(service dhcpd-service-type
         (dhcpd-configuration
          (config-file (local-file "mi-dhcpd.conf"))
          (interfaces '("enp0s25"))))
Tipo de datos: dhcpd-configuration
package (predeterminado: isc-dhcp)

El paquete que proporciona el daemon DHCP. Se espera que este paquete proporcione el daemon en sbin/dhcpd de manera relativa a su directorio de salida. El paquete predeterminado es el servidor DHCP de ISC.

config-file (predeterminado: #f)

El archivo de configuración usado. Esta opción es necesaria. Se le proporcionará a dhcpd a través de su opción -cf. Puede ser cualquier objeto “tipo-archivo” (véase objetos “tipo-archivo”). Véase man dhcpd.conf para detalles sobre la sintaxis del archivo de configuración.

version (predeterminada: "4")

La versión DHCP usada. El servidor DHCP de ISC permite los valores “4”, “6” y “4o6”. Corresponden con las opciones -4, -6 y -4o6 del programa dhcpd. Véase man dhcpd para más detalles.

run-directory (predeterminado: "/run/dhcpd")

El directorio de ejecución usado. Durante la activación del servicio se creará en caso de no existir.

pid-file (predeterminado: "/run/dhcpd/dhcpd.pid")

El archivo de PID usado. Corresponde con la opción -pf de dhcpd. Véase man dhcpd para más detalles.

interfaces (predeterminadas: '())

Los nombres de las interfaces de red en las que dhcpd debería esperar retransmisiones. Si la lista no está vacía, entonces sus elementos (que deben ser cadenas) se añadirá a la invocación de dhcpd cuando se inicie el daemon. Puede no ser necesaria la especificación explícita aquí de ninguna interfaz; véase man dhcpd para más detalles.

Variable Scheme: static-networking-service-type

Este es el tipo para las interfaces de red configuradas de forma estática.

Procedimiento Scheme: static-networking-service interfaz ip [#:netmask #f] [#:gateway #f] [#:name-servers '()]  [#:requirement

'(udev)] Devuelve un servicio que activa la interfaz con la dirección ip. Si netmask es verdadero, se usa como máscara de red. Si gateway es verdadero, se usa como cadena que especifica la pasarela predeterminada de la red. requirement puede usarse para especificar una dependencia en otro servicio antes de configurar la interfaz.

Se puede llamar a este procedimiento varias veces, una por cada interfaz de red sobre la que se tenga interés. Internamente, lo que hace es extender static-networking-service-type con interfaces de red adicionales que gestionar.

Por ejemplo:

(static-networking-service "eno1" "192.168.1.82"
                           #:gateway "192.168.1.2"
                           #:name-servers '("192.168.1.2"))
Procedimiento Scheme: wicd-service [#:wicd wicd]

Devuelve un servicio que ejecuta Wicd, un daemon de gestión de red que intenta simplificar la gestión de redes cableadas e inalámbricas.

Este servicio añade wicd al perfil global, proporcionando varias ordenes destinadas a la interacción con el daemon y a la configuración de la red: wicd-client, una interfaz gráfica, y las interfaces de usuaria wicd-cli y wicd-curses.

Variable Scheme: modem-manager-service-type

Este es el tipo de servicio para el servicio ModemManager. El valor para este tipo de servicio es un registro modem-manager-configuration.

Este servicio es parte de %desktop-services (véase Servicios de escritorio).

Tipo de datos: modem-manager-configuration

Tipo de datos que representa la configuración de ModemManager.

modem-manager (predeterminado: modem-manager)

El paquete de ModemManager usado.

Variable Scheme: usb-modeswitch-service-type

Este es el tipo de servicio para el servicio USB_ModeSwitch. El valor para este tipo de servicio es un registro usb-modeswitch-configuration.

Cuando se conectan, algunos modem USB (y otros dispositivos USB) se presentan inicialmente como medios de almacenamiento de sólo-lectura y no como un modem. Deben cambiar de modo antes de poder usarse. El tipo de servicio USB_ModeSwitch instala reglas de udev para cambiar automáticamente de modo cuando se conecten estos dispositivos.

Este servicio es parte de %desktop-services (véase Servicios de escritorio).

Tipo de datos: usb-modeswitch-configuration

Tipo de datos que representa la configuración de USB_ModeSwitch.

usb-modeswitch (predeterminado: usb-modeswitch)

El paquete USB_ModeSwitch que proporciona los binarios para el cambio de modo.

usb-modeswitch-data (predeterminado: usb-modeswitch-data)

El paquete que proporciona los datos de dispositivos y las reglas de udev usadas por USB_ModeSwitch.

config-file (predeterminado: #~(string-append #$usb-modeswitch:dispatcher "/etc/usb_modeswitch.conf"))

Archivo de configuración usado para el gestor de eventos (dispatcher) de USB_ModeSwitch. De manera predeterminada se usa el archivo que viene con USB_ModeSwitch, que deshabilita el registro en /var/log junto a otras configuraciones. Si se proporciona #f no se usa ningún archivo de configuración.

Variable Scheme: network-manager-service-type

Este es el tipo de servicio para el servicio NetworkManager. El valor para este tipo de servicio es un registro network-manager-configuration.

Este servicio es parte de %desktop-services (véase Servicios de escritorio).

Tipo de datos: network-manager-configuration

Tipo de datos que representa la configuración de NetworkManager.

network-manager (predeterminado: network-manager)

El paquete de NetworkManager usado.

dns (predeterminado: "default")

Modo de procesamiento para DNS, que afecta la manera en la que NetworkManager usa el archivo de configuración resolv.conf.

default

NetworkManager actualizará resolv.conf para reflejar los servidores de nombres proporcionados por las conexiones activas actualmente.

dnsmasq

NetworkManager ejecutará dnsmasq como una caché local del servicio de nombres, mediante un reenvío condicional si se encuentra conectada a una VPN, y actualiza posteriormente resolv.conf para apuntar al servidor de nombres local.

Con esta configuración puede compartir su conexión de red. Por ejemplo, cuando desee compartir su conexión de red a otro equipo a través de un cable Ethernet, puede abrir nm-connection-editor y configurar el método de la conexión cableada para IPv4 y IPv6 “Compartida con otros equipos” y restablecer la conexión (o reiniciar).

También puede configurar una conexión anfitrión-invitado a las máquinas virtuales de QEMU (véase Instalación de Guix en una máquina virtual). Con una conexión anfitrión-invitado puede, por ejemplo, acceder a un servidor web que se ejecute en la máquina virtual (véase Servicios Web) desde un navegador web en su sistema anfitrión, o conectarse a la máquina virtual a través de SSH (véase openssh-service-type). Para configurar una conexión anfitrión-invitado, ejecute esta orden una única vez:

nmcli connection add type tun \
 connection.interface-name tap0 \
 tun.mode tap tun.owner $(id -u) \
 ipv4.method shared \
 ipv4.addresses 172.28.112.1/24

Cada vez que arranque su máquina virtual de QEMU (véase Ejecutar Guix en una máquina virtual), proporcione -nic tap,ifname=tap0,script=no,downscript=no a qemu-system-....

none

NetworkManager no modificará resolv.conf.

vpn-plugins (predeterminados: '())

Esta es la lista de módulos disponibles para redes privadas virtuales (VPN). Un ejemplo es el paquete network-manager-openvpn, que permite a NetworkManager la gestión de redes VPN a través de OpenVPN.

Variable Scheme: connman-service-type

Este es el tipo de servicio para la ejecución de Connman, un gestor de conexiones de red.

Su valor debe ser un registro connman-configuration como en este ejemplo:

Véase a continuación más detalles sobre connman-configuration.

Tipo de datos: connman-configuration

Tipo de datos que representa la configuración de connman.

connman (predeterminado: connman)

El paquete connman usado.

disable-vpn? (predeterminado: #f)

Cuando es verdadero, desactiva el módulo vpn de connman.

Variable Scheme: wpa-supplicant-service-type

Este es el tipo de servicio para la ejecución de WPA supplicant, un daemon de identificación necesario para la identificación en redes WiFi o ethernet cifradas.

Tipo de datos: wpa-supplicant-configuration

Tipo de datos que representa la configuración de WPA Supplicant.

Toma los siguientes parámetros:

wpa-supplicant (predeterminado: wpa-supplicant)

El paquete de WPA Supplicant usado.

requirement (predeterminados: '(user-processes loopback syslogd)

Lista de servicios que deben iniciarse antes del arranque de WPA Supplicant.

dbus? (predeterminado: #t)

Si se escuchan o no peticiones en D-Bus.

pid-file (predeterminado: "/var/run/wpa_supplicant.pid")

Dónde se almacena el archivo con el PID.

interface (predeterminado: #f)

En caso de proporcionarse un valor, debe especificar el nombre de la interfaz de red que WPA supplicant controlará.

config-file (predeterminado: #f)

Archivo de configuración opcional usado.

extra-options (predeterminadas: '())

Lista de parámetros adicionales a pasar al daemon en la línea de órdenes.

Variable Scheme: hostapd-service-type

Este es el tipo de servicio que ejecuta el daemon hostapd para configurar puntos de acceso WiFi (IEEE 802.11) y servidores de identificación. Su valor debe ser un registro hostapd-configuration como en este ejemplo:

;; Use wlan1 para ejecutar el punto de acceso para "Mi red".
(service hostapd-service-type
         (hostapd-configuration
          (interface "wlan1")
          (ssid "Mi red")
          (channel 12)))
Tipo de datos: hostapd-configuration

Este tipo de datos representa la configuración del servicio hostapd, y tiene los siguientes campos:

package (predeterminado: hostapd)

El paquete hostapd usado.

interface (predeterminado: "wlan0")

La interfaz de red en la que se establece el punto de acceso WiFi.

ssid

El SSID (identificador del servicio, del inglés “service set identifier”), una cadena que identifica esta red.

broadcast-ssid? (predeterminado: #t)

Determina si se emite este SSID.

channel (predeterminado: 1)

El canal WiFi usado.

driver (predeterminado: "nl80211")

El tipo de controlador de la interfaz. "nl80211" se usa con todos los controladores de mac80211 de Linux. Use "none" si está construyendo hostapd como un servidor RADIUS independiente que no controla ningún controlador de red cableada o inalámbrica.

extra-settings (predeterminado: "")

Configuración adicional que se añade literalmente al archivo de configuración de hostapd. Véase https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf para la referencia del archivo de configuración.

Variable Scheme: simulated-wifi-service-type

Tipo de servicio que simula una red inalámbrica (“WiFi”), lo que puede ser útil en máquinas virtuales para realizar pruebas. El servicio carga el módulo mac80211_hwsim del núcleo Linux e inicia hostapd para crear una red inalámbrica virtual que puede verse en wlan0, de manera predeterminada.

El valor de este servicio es un registro hostapd-configuration.

Variable Scheme: iptables-service-type

Este es el tipo de servicio para la aplicación de configuración de iptables. iptables es un entorno de trabajo para el filtrado de paquetes implementado por el núcleo Linux. Este servicio permite la configuración de iptables tanto para IPv4 como IPv6. Un ejemplo simple de cómo rechazar todas las conexiones entrantes excepto aquellas al puerto 22 de ssh se muestra a continuación.

(service iptables-service-type
         (iptables-configuration
          (ipv4-rules (plain-file "reglas.iptables" "*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-port-unreachable
COMMIT
"))
          (ipv6-rules (plain-file "reglas.ip6tables" "*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp6-port-unreachable
COMMIT
"))))
Tipo de datos: iptables-configuration

El tipo de datos que representa la configuración de iptables.

iptables (predeterminado: iptables)

El paquete iptables que proporciona iptables-restore y ip6tables-restore.

ipv4-rules (predeterminado: %iptables-accept-all-rules)

Las reglas de iptables usadas. Se le proporcionarán a iptables-restore. Puede ser cualquier objeto “tipo-archivo” (véase objetos “tipo-archivo”).

ipv6-rules (predeterminadas: %iptables-accept-all-rules)

Las reglas de ip6tables usadas. Se le proporcionarán a ip6tables-restore. Puede ser cualquier objeto “tipo-archivo” (véase objetos “tipo-archivo”).

Variable Scheme: nftables-service-type

Es el tipo de servicio para levantar una configuración de nftables. nftables es un proyecto de netfilter que quiere reemplazar los entornos ya existentes iptables, ip6tables, arptables y ebtables. Proporciona un entorno de filtrado de paquetes nuevo, una utilidad nft de espacio de usuaria nueva y una capa de compatibilidad con iptables. El servicio viene con un conjunto de reglas predeterminado %default-nftables-ruleset que rechaza todas las conexiones entrantes excepto las del puerto 22. Para usarlo, simplemente escriba:

Tipo de datos: nftables-configuration

El tipo de datos que representa la configuración de nftables.

package (predeterminado: nftables)

El paquete nftables que proporciona nft.

ruleset (predeterminados: %default-nftables-ruleset)

El conjunto de reglas de nftables usado. Puede ser cualquier objeto “tipo-archivo” (véase objetos “tipo-archivo”).

Variable Scheme: ntp-service-type

Este es el tipo del servicio que ejecuta el daemon del protocolo de tiempo en red (NTP), ntpd. El daemon mantendrá el reloj del sistema sincronizado con el de los servidores NTP especificados.

El valor de este servicio es un objeto ntpd-configuration, como se describe a continuación.

Tipo de datos: ntp-configuration

Este es el tipo de datos para la configuración del servicio NTP.

servers (predeterminados: %ntp-servers)

La lista de servidores (registros <ntp-server>) con los que la herramienta ntpd se sincronizará. Véase la información sobre el tipo de datos ntp-server a continuación.

allow-large-adjustment? (predeterminado: #t)

Esto determina si se le permite a ntpd realizar un ajuste inicial de más de 1000 segundos.

ntp (predeterminado: ntp)

El paquete NTP usado.

Variable Scheme: %ntp-servers

Lista de nombres de máquinas usadas como servidores NTP predeterminados. Son servidores del NTP Pool Project.

Tipo de datos: ntp-server

Tipo de datos que representa la configuración de un servidor NTP.

type (predeterminado: 'server)

El tipo del servidor NTP, proporcionado como un símbolo. Puede ser 'pool, 'server, 'peer, 'broadcast o 'manycastclient.

address

La dirección del servidor, como una cadena.

options

Opciones de NTPD usadas en ese servidor específico, proporcionada como una lista de nombres de opciones y/o tuplas de nombre y valor. El siguiente ejemplo define un servidor con el que se usan las opciones iburst y prefer, así como version 3 y un tiempo de 16 segundos para maxpoll.

(ntp-server
 (type 'server)
 (address "miservidor.ntp.server.org")
 (options `(iburst (version 3) (maxpoll 16) prefer))))
Procedimiento Scheme: openntpd-service-type

Ejecuta ntpd, el daemon del protocolo de tiempo en red (NTP), implementado por OpenNTPD. El daemon mantendrá el reloj del sistema sincronizado con el de los servidores proporcionados.

(service
 openntpd-service-type
 (openntpd-configuration
  (listen-on '("127.0.0.1" "::1"))
  (sensor '("udcf0 correction 70000"))
  (constraint-from '("www.gnu.org"))
  (constraints-from '("https://www.google.com/"))
  (allow-large-adjustment? #t)))

Variable Scheme: %openntpd-servers

Esta variable es una lista de las direcciones de servidores definidos en %ntp-servers.

Tipo de datos: openntpd-configuration
openntpd (predeterminado: (file-append openntpd "/sbin/ntpd"))

El ejecutable openntpd usado.

listen-on (predeterminadas: '("127.0.0.1" "::1"))

Una lista de direcciones IP o nombres de máquina en los que el daemon ntpd debe escuchar conexiones.

query-from (predeterminadas: '())

Una lista de direcciones IP locales que el daemon ntpd debe usar para consultas salientes.

sensor (predeterminados: '())

Especifica una lista de dispositivos de sensores de tiempo de ntpd debería usar. ntpd escuchará cada sensor que realmente exista e ignora los que no. Véase la documentación de las desarrolladoras originales para más información.

server (predeterminado: '())

Especifica una lista de direcciones IP o nombres de máquina de servidores NTP con los que sincronizarse.

servers (predeterminada: %openntp-servers)

Una lista de direcciones IP o nombres de máquina con los que el daemon ntpd se debe sincronizar.

constraint-from (predeterminado: '())

ntpd puede configurarse para que solicite la fecha a través del campo “Date” de servidores HTTPS en los que se confíe a través de TLS. Esta información de tiempo no se usa por precisión pero actúa como una condición verificada, por tanto reduciendo el impacto de ataques mediante la intervención del tráfico con servidores NTP no verificados. Especifica una lista de URL, direcciones IP o nombres de máquina de servidores HTTPS que proporcionarán la condición.

constraints-from (predeterminadas: '())

Como en constraint-from, proporciona una lista de URL, direcciones IP o nombres de máquina de servidores HTTP para proporcionar la condición. En caso de que el nombre de máquina resuelva en múltiples direcciones IP, ntpd calculará la condición mediana de todas ellas.

allow-large-adjustment? (predeterminado: #f)

Determina si se permite a ntpd realizar un ajuste inicial de más de 180 segundos.

Variable Scheme: inetd-service-type

Este servicio ejecuta el daemon inetd (véase inetd invocation en GNU Inetutils). inetd escucha conexiones en sockets de internet, e inicia bajo demanda el programa servidor cuando se realiza una conexión en uno de esos sockets.

El valor de este servicio es un objeto inetd-configuration. El ejemplo siguiente configura el daemon inetd para proporcionar el servicio echo implementado por él mismo, así como un servicio smtp que reenvía el tráfico smtp por ssh a un servidor servidor-smtp tras la pasarela máquina:

(service
 inetd-service-type
 (inetd-configuration
  (entries (list
            (inetd-entry
             (name "echo")
             (socket-type 'stream)
             (protocol "tcp")
             (wait? #f)
             (user "root"))
            (inetd-entry
             (node "127.0.0.1")
             (name "smtp")
             (socket-type 'stream)
             (protocol "tcp")
             (wait? #f)
             (user "root")
             (program (file-append openssh "/bin/ssh"))
             (arguments
              '("ssh" "-qT" "-i" "/ruta/de/la/clave_ssh"
                "-W" "servidor-smtp:25" "usuaria@maquina")))))))

A continuación se proporcionan más detalles acerca de inetd-configuration.

Tipo de datos: inetd-configuration

Tipo de datos que representa la configuración de inetd.

program (predeterminado: (file-append inetutils "/libexec/inetd"))

El ejecutable inetd usado.

entries (predeterminadas: '())

Una lista de entradas de servicio de inetd. Cada entrada debe crearse con el constructor inted-entry.

Tipo de datos: inetd-entry

Tipo de datos que representa una entrada en la configuración de inetd. Cada entrada corresponde a un socket en el que inetd escuchará a la espera de peticiones.

node (predeterminado: #f)

Cadena opcional, una lista separada por comas de direcciones locales que inetd debería usar cuando se escuche para este servicio. Véase Configuration file en GNU Inetutils para una descripción completa de todas las opciones.

name

Una cadena, el nombre debe corresponder con una entrada en /etc/services.

socket-type

Puede ser 'stream, 'dgram, 'raw, 'rdm o 'seqpacket.

protocol

Una cadena, debe corresponder con una entrada en /etc/protocols.

wait? (predeterminado: #t)

Si inetd debe esperar la salida del servidor antes de reiniciar la escucha de nuevas peticiones de servicio.

user

Una cadena que contiene el nombre (y, opcionalmente, el grupo) de la usuaria como la que se deberá ejecutar el servidor. El nombe de grupo se puede especificar en un sufijo, separado por dos puntos o un punto normal, es decir "usuaria", "usuaria:grupo" o "usuaria.grupo".

program (predeterminado: "internal")

El programa servidor que recibirá las peticiones, o "internal" si inetd debería usar un servicio implementado internamente.

arguments (predeterminados: '())

Una lista de cadenas u objetos “tipo-archivo”, que serán los parámetros del programa servidor, empezando con el parámetro 0, es decir, el nombre del programa en sí mismo. Para los servicios internos de inetd, esta entrada debe ser '() o '("internal").

Véase Configuration file en GNU Inetutils, para una información más detallada sobre cada campo de la configuración.

Variable Scheme: tor-service-type

Este es el tipo para un servicio que ejecuta el daemon de red anónima Tor. El servicio se configura mediante un registro <tor-configuration>. De manera predeterminada, el daemon Tor se ejecuta como la usuaria sin privilegios tor, que es miembro del grupo tor.

Tipo de datos: tor-configuration
tor (predeterminado: tor)

El paquete que proporciona el daemon Tor. Se espera que este paquete proporcione el daemon en bin/tor de manera relativa al directorio de su salida. El paquete predeterminado es la implementación del Proyecto Tor.

config-file (predeterminado: (plain-file "empty" ""))

El archivo de configuración usado. Se agregará al final del archivo de configuración predeterminado, y se proporcionará el archivo de configuración resultante a tor a través de su opción -f. Puede ser cualquier objeto “tipo-archivo” (véase objetos “tipo-archivo”). Véase man tor para detalles sobre la sintaxis del archivo de configuración.

hidden-services (predeterminados: '())

La lista de registros de servicios ocultos <hidden-service> usados. Para cada servicio oculto que añada en esta lista, se activará la configuración apropiada para su activación en el archivo de configuración predeterminado. Puede crear registros <hidden-service> de manera conveniente mediante el uso del procedimiento tor-hidden-service descrito a continuación.

socks-socket-type (predeterminado: 'tcp)

El tipo socket predeterminado que Tor debe usar para su socket SOCKS. Debe ser 'tcp i 'unix. Si es 'tcp, Tor escuchará en el puerto TCP 9050 de la interfaz local (es decir, localhost) de manera predeterminada. Si es 'unix, tor escuchará en el socket de dominio de UNIX /var/run/tor/socks-sock, que tendrá permisos de escritura para miembros del grupo tor.

Si desea personalizar el socket SOCKS de manera más detallada, mantenga socks-socket-type con su valor predeterminado de 'tcp y use config-file para modificar el valor predeterminado proporcionando su propia opción SocksPort.

Procedimiento Scheme: tor-hidden-service nombre relación

Define un servicio oculto Tor llamado nombre y que implementa la relación. relación es una lista de tuplas puerto/máquina, como:

 '((22 "127.0.0.1:22")
   (80 "127.0.0.1:8080"))

En este ejemplo, el puerto 22 del servicio oculto se asocia con el puerto 22 local, y el puerto 80 se asocia con el puerto 8080 local.

Esto crea un directorio /var/lib/tor/hidden-services/nombre, donde el archivo hostname contiene el nombre de máquina .onion para el servicio oculto.

Véase la documentación del proyecto Tor para más información.

El módulo (gnu services rsync) proporciona los siguientes servicios:

Puede ser que desee un daemon rsync si tiene archivos que desee tener disponibles de modo que cualquiera (o simplemente usted) pueda descargar archivos existentes o subir nuevos archivos.

Variable Scheme: rsync-service-type

Este es el tipo de servicio para el daemon rsync. El valor tipo de servicio es un registro rsync-configuration como en este ejemplo.

Véase a continuación para detalles sobre rsync-configuration.

Tipo de datos: rsync-configuration

Tipo de datos que representa la configuración para rsync-service.

package (predeterminado: rsync)

Paquete rsync usado.

port-number (predeterminado: 873)

Puerto TCP en el que rsync escucha conexiones entrantes. Si el puerto es menor a 1024, rsync necesita iniciarse como root, tanto usuaria como grupo.

pid-file (predeterminado: "/var/run/rsyncd/rsyncd.pid")

Nombre del archivo donde rsync escribe su PID.

lock-file (predeterminado: "/var/run/rsyncd/rsyncd.lock")

Nombre del archivo donde rsync escribe su archivo de bloqueo.

log-file (predeterminado: "/var/log/rsyncd.log")

Nombre del archivo donde rsync escribe su archivo de registros.

use-chroot? (predeterminado: #t)

Si se debe usar “chroot” en el directorio compartido de rsync.

share-path (predeterminado: /srv/rsync)

Localización del directorio compartido de rsync.

share-comment (predeterminado: "Rsync share")

Comentario del directorio compartido de rsync.

read-only? (predeterminado: #f)

Permisos de lectura/escritura en el directorio compartido.

timeout (predeterminado: 300)

Plazo de la E/S en segundos.

user (predeterminada: "root")

Propietaria del proceso rsync.

group (predeterminado: "root")

Grupo del proceso rsync.

uid (predeterminado: "rsyncd")

Nombre o ID de usuaria bajo la cual se efectúan las transferencias desde y hacia el módulo cuando el daemon se ejecuta como root.

gid (predeterminado: "rsyncd")

Nombre o ID de grupo que se usa cuando se accede al módulo.

Es más, (gnu services ssh) proporciona los siguientes servicios.

Procedimiento Scheme: lsh-service [#:host-key "/etc/lsh/host-key"] [#:daemonic? #t] [#:interfaces '()] [#:port-number 22] [#:allow-empty-passwords? #f] [#:root-login? #f] [#:syslog-output? #t] [#:x11-forwarding? #t] [#:tcp/ip-forwarding? #t] [#:password-authentication? #t] [#:public-key-authentication? #t] [#:initialize? #t]

Ejecuta el programa lshd de lsh para escuchar en el puerto port-number. host-key debe designar a un archivo que contiene la clave de la máquina, y que sea legible únicamente por root.

Cuando daemonic? es verdadero, lshd se desligará del terminal de control y registrará su salida con syslogd, a menos que se establezca syslog-output? a falso. Obviamente, esto hace que lsh-dependa de la existencia de un servicio syslogd. Cuando pid-file? es verdadero, lshd escribe su PID al archivo llamado pid-file.

Cuando initialize? es verdadero, crea automáticamente una semilla una clave de máquina una vez se active el servicio si no existen todavía. Puede tomar un tiempo prolongado y necesita interacción.

Cuando initialize? es falso, es cuestión de la usuaria la inicialización del generador aleatorio (véase lsh-make-seed en LSH Manual), la creación de un par de claves y el almacenamiento de la clave privada en el archivo host-key (véase lshd basics en LSH Manual).

Cuando interfaces está vacío, lshd escucha conexiones en todas las interfaces de red; en otro caso, interfaces debe ser una lista de nombres de máquina o direcciones.

allow-empty-passwords? especifica si se aceptará el ingreso al sistema con una contraseña vacía y root-login? especifica si se acepta el ingreso al sistema como root.

El resto de opciones deberían ser autodescriptivas.

Variable Scheme: openssh-service-type

Este es el tipo para el daemon de shell seguro OpenSSH, sshd. Su valor debe ser un registro openssh-configuration como en este ejemplo:

(service openssh-service-type
         (openssh-configuration
           (x11-forwarding? #t)
           (permit-root-login 'without-password)
           (authorized-keys
             `(("alicia" ,(local-file "alicia.pub"))
               ("rober" ,(local-file "rober.pub"))))))

Véase a continuación detalles sobre openssh-configuration.

Este servicio se puede extender con claves autorizadas adicionales, como en este ejemplo:

(service-extension openssh-service-type
                   (const `(("carlos"
                             ,(local-file "carlos.pub")))))
Tipo de datos: openssh-configuration

Este es el registro de configuración para sshd de OpenSSH.

openssh (predeterminado: openssh)

El paquete OpenSSH usado.

pid-file (predeterminado: "/var/run/sshd.pid")

Nombre del archivo donde sshd escribe su PID.

port-number (predeterminado: 22)

Puerto TCP en el que sshd espera conexiones entrantes.

permit-root-login (predeterminado: #f)

Este archivo determina si y cuando se permite el ingreso al sistema como root. Si es #f, el ingreso como root no está permitido; si es #f está permitido. Si es el símbolo 'without-password, se permite el ingreso al sistema como root pero no con identificación basada en contraseña.

allow-empty-passwords? (predeterminado: #f)

Cuando es verdadero, las usuarias con contraseñas vacías pueden ingresar en el sistema. Cuando es falso, no pueden.

password-authentication? (predeterminado: #t)

Cuando es verdadero, las usuarias pueden ingresar al sistema con su contraseña. En caso falso, tienen otros métodos de identificación.

public-key-authentication? (predeterminado: #t)

Cuando es verdadero, las usuarias pueden ingresar en el sistema mediante el uso de clave publica para su identificación. Cuando es falso, las usuarias tienen que usar otros métodos de identificación.

Las claves públicas autorizadas se almacenan en ~/.ssh/authorized_keys. Se usa únicamente por la versión 2 del protocolo.

x11-forwarding? (predeterminado: #f)

Cuando verdadero, la retransmisión de conexiones del cliente gráfico X11 está desactivada—en otras palabras, las opciones -X y -Y de ssh funcionarán.

allow-agent-forwarding? (predeterminado: #t)

Si se permite la retransmisión del agente de claves.

allow-tcp-forwarding? (predeterminado: #t)

Si se permite la retransmisión TCP.

gateway-ports? (predeterminado: #f)

Si se permiten los puertos pasarela.

challenge-response-authentication? (predeterminado: #f)

Especifica si la identificación mediante respuesta de desafío está permitida (por ejemplo, a través de PAM).

use-pam? (predeterminado: #t)

Permite el uso de la interfaz de módulos de identificación conectables (PAM). Si es #t se activará la identificación PAM mediante el uso de challenge-response-authentication? y password-authentication?, además del procesado de los módulos de cuenta usuaria y de sesión de PAM en todos los tipos de identificación.

Debido a que la identificación mediante respuesta de desafío de PAM tiene un rol equivalente a la identificación por contraseña habitualmente, debería desactivar challenge-response-authentication? o password-authentication?.

print-last-log? (predeterminado: #t)

Especifica si sshd debe imprimir la fecha y hora del último ingreso al sistema de la usuaria cuando una usuaria ingresa interactivamente.

subsystems (predeterminados: '(("sftp" "internal-sftp")))

Configura subsistemas externos (por ejemplo, el daemon de transmisión de archivos).

Esta es una lista de listas de dos elementos, cada una de las cuales que contienen el nombre del subsistema y una orden (con parámetros opcionales) para ejecutar tras petición del subsistema.

La orden internal-sftp implementa un servidor SFTP dentro del mismo proceso. De manera alternativa, se puede especificar la orden sftp-server:

(service openssh-service-type
         (openssh-configuration
          (subsystems
           `(("sftp" ,(file-append openssh "/libexec/sftp-server"))))))
accepted-environment (predeterminado: '())

Una lista de cadenas que describe qué variables de entorno pueden ser exportadas.

Cada cadena obtiene su propia línea. Véase la opción AcceptEnv en man sshd_config.

Este ejemplo permite a clientes ssh exportar la variable COLORTERM. La establecen emuladores de terminal que implementan colores. Puede usarla en su archivo de recursos del shell para permitir colores en la línea de órdenes y las propias ordenes si esta variable está definida.

(service openssh-service-type
         (openssh-configuration
           (accepted-environment '("COLORTERM"))))
authorized-keys (predeterminadas: '())

Esta es la lista de claves autorizadas. Cada elemento de la lista es un nombre de usuaria seguido de uno o más objetos “tipo-archivo” que representan claves públicas SSH. Por ejemplo:

(openssh-configuration
  (authorized-keys
    `(("rekado" ,(local-file "rekado.pub"))
      ("chris" ,(local-file "chris.pub"))
      ("root" ,(local-file "rekado.pub") ,(local-file "chris.pub")))))

registra las claves públicas especificadas para las cuentas rekado, chris y root.

Se pueden especificar claves autorizadas adicionales a través de service-extension.

Tenga en cuenta que esto no interfiere con el uso de ~/.ssh/authorized_keys.

log-level (predeterminado: 'info)

Es un símbolo que especifica el nivel de detalle en los registros: quiet, fatal, error, info, verbose, debug, etc. Véase la página del manual de sshd_config para la lista completa de los nombres de nivel.

extra-content (predeterminado: "")

Este campo puede usarse para agregar un texto arbitrario al archivo de configuración. Es especialmente útil para configuraciones elaboradas que no se puedan expresar de otro modo. Esta configuración, por ejemplo, generalmente desactivaría el ingreso al sistema como root, pero lo permite para una dirección IP específica:

(openssh-configuration
  (extra-content "\
Match Address 192.168.0.1
  PermitRootLogin yes"))
Procedimiento Scheme: dropbear-service [config]

Ejecuta el daemon Dropbear SSH con la configuración proporcionada, un objeto <dropbear-configuration>.

Por ejemplo, para especificar un servicio Dropbear que escuche en el puerto 1234, añada esta llama al campo services de su sistema operativo:

(dropbear-service (dropbear-configuration
                    (port-number 1234)))
Tipo de datos: dropbear-configuration

Este tipo de datos representa la configuración del daemon Dropbear SSH.

dropbear (predeterminado: dropbear)

El paquete de Dropbear usado.

port-number (predeterminado: 22)

Puerto TCP donde el daemon espera conexiones entrantes.

syslog-output? (predeterminado: #t)

Determina si se envía la salida a syslog.

pid-file (predeterminado: "/var/run/dropbear.pid")

El nombre de archivo del archivo de PID del daemon.

root-login? (predeterminado: #f)

Si se permite el ingreso al sistema como root.

allow-empty-passwords? (predeterminado: #f)

Si se permiten las contraseñas vacías.

password-authentication? (predeterminado: #t)

Determina si se usará identificación basada en contraseña.

Variable Scheme: autossh-service-type

Tipo del servicio para el programa AutoSSH que ejecuta una copia de ssh y la monitoriza, reiniciando la conexión en caso de que se rompa la conexión o deje de transmitir datos. AutoSSH puede ejecutarse manualmente en la línea de órdenes proporcionando los parámetros al binario autossh del paquete autossh, pero también se puede ejecutar como un servicio de Guix. Este último caso de uso se encuentra documentado aquí.

AutoSSH se puede usar para retransmitir tráfico local a una máquina remota usando un túnel SSH, y respeta el archivo de configuración ~/.ssh/config de la cuenta bajo la que se ejecute.

Por ejemplo, para especificar un servicio que ejecute autossh con la cuenta pino y retransmita todas las conexiones locales al puerto 8081 hacia remote:8081 usando un túnel SSH, añada esta llamada al campo services del sistema operativo:

(service autossh-service-type
         (autossh-configuration
          (user "pino")
          (ssh-options (list "-T" "-N" "-L" "8081:localhost:8081" "remote.net"))))
Tipo de datos: autossh-configuration

Este tipo de datos representa la configuración del servicio AutoSSH.

user (predeterminado: "autossh")

La cuenta de usuaria con la cual se ejecuta el servicio AutoSSH. Se asume que existe dicha cuenta.

poll (predeterminado: 600)

Especifica el tiempo de comprobación de la conexión en segundos.

first-poll (predeterminado: #f)

Especifica cuantos segundos espera AutoSSH antes de la primera prueba de conexión. Tras esta primera prueba las comprobaciones se realizan con la frecuencia definida en poll. Cuando se proporciona el valor #f la primera comprobación no se trata de manera especial y también usará el valor especificado en poll.

gate-time (predeterminado: 30)

Especifica cuantos segundos debe estar activa una conexión SSH antes de que se considere satisfactoria.

log-level (predeterminado: 1)

El nivel de registro, corresponde con los niveles usados por—por lo que 0 es el más silencioso y 7 el que contiene más información.

max-start (predeterminado: #f)

El número de veces máximo que puede lanzarse (o reiniciarse) SSH antes de que AutoSSH termine. Cuando se proporciona #f, no existe un máximo por lo que AutoSSH puede reiniciar la conexión indefinidamente.

message (predeterminado: "")

El mensaje que se añade al mensaje de eco que se envía cuando se prueban las conexiones.

port (predeterminado: "0")

Los puertos usados para la monitorización de la conexión. Cuando se proporciona "0", se desactiva la monitorización. Cuando se proporciona "n" donde n es un entero positivo, los puertos n y n+1 se usan para monitorizar la conexión, de tal modo que el puerto n es el puerto base de monitorización y n+1 es el puerto de eco. Cuando se proporciona "n:m" donde n y m son enteros positivos, los puertos n y m se usan para monitorizar la conexión, de tal modo que n es el puerto base de monitorización y m es el puerto de eco.

ssh-options (predeterminados: '())

Lista de parámetros de línea de órdenes proporcionados a ssh cuando se ejecuta. Las opciones -f y -M están reservadas para AutoSSH y pueden causar un comportamiento indefinido.

Variable Scheme: webssh-service-type

Tipo para el programa WebSSH que ejecuta un cliente SSH web. WebSSH puede ejecutarse manualmente en la línea de órdenes proporcionando los parámetros al binario wssh del paquete webssh, pero también se puede ejecutar como un servicio de Guix. Este último caso de uso se encuentra documentado aquí.

Por ejemplo, para especificar un servicio que ejecute WebSSH en la interfaz de red local sobre el puerto 8888 con una política de rechazo predeterminado con una lista de máquinas a las que se les permite explícitamente la conexión, y NGINX como pasarela inversa de este servicio a la escucha de conexiones HTTPS, añada esta llamada al campo services de su declaración de sistema operativo:

(service webssh-service-type
  (webssh-configuration (address "127.0.0.1")
                        (port 8888)
                        (policy 'reject)
                        (known-hosts '("localhost ecdsa-sha2-nistp256 AAAA…"
                                       "127.0.0.1 ecdsa-sha2-nistp256 AAAA…"))))

(service nginx-service-type
         (nginx-configuration
          (server-blocks
           (list
            (nginx-server-configuration
             (inherit %webssh-configuration-nginx)
             (server-name '("webssh.example.com"))
             (listen '("443 ssl"))
             (ssl-certificate (letsencrypt-certificate "webssh.example.com"))
             (ssl-certificate-key (letsencrypt-key "webssh.example.com"))
             (locations
              (cons (nginx-location-configuration
                     (uri "/.well-known")
                     (body '("root /var/www;")))
                    (nginx-server-configuration-locations %webssh-configuration-nginx))))))))
Tipo de datos: webssh-configuration

Tipo de datos que representa la configuración para webssh-service.

package (predeterminado: webssh)

Paquete webssh usado.

user-name (predeterminado: "webssh")

Nombre o ID de usuaria bajo la cual se efectúan las transferencias desde y hacia el módulo.

group-name (predeterminado: "webssh")

Nombre o ID de grupo que se usa cuando se accede al módulo.

address (predeterminada: #f)

Dirección IP en la que webssh espera conexiones entrantes.

port (predeterminado: 8888)

Puerto TCP en el que webssh espera conexiones entrantes.

policy (predeterminada: #f)

Política de conexión. La política reject necesita que se especifique un valor en known-hosts.

known-hosts (predeterminada: ’())

Lista de máquinas a las que se permite realizar conexiones SSH desde webssh.

log-file (predeterminado: "/var/log/webssh.log")

Nombre del archivo donde rsync escribe su archivo de registros.

log-level (predeterminado: #f)

Nivel de registro.

Variable Scheme: %facebook-host-aliases

Esta variable contiene una cadena para su uso en /etc/hosts (véase Host Names en The GNU C Library Reference Manual). Cada línea contiene una entrada que asocia un nombre de servidor conocido del servicio en línea Facebook—por ejemplo, www.facebook.com—a la máquina local—127.0.0.1 o su equivalente IPv6, ::1.

Esta variable habitualmente se usa en el campo hosts-file de una declaración operating-system (véase /etc/hosts):

(use-modules (gnu) (guix))

(operating-system
  (host-name "micompu")
  ;; ...
  (hosts-file
    ;; Crea un archivo /etc/hosts file con alias para "localhost"
    ;; y "micompu", así como los servidores de facebook.
    (plain-file "hosts"
                (string-append (local-host-aliases host-name)
                               %facebook-host-aliases))))

Este mecanismo puede impedir a los programas que se ejecutan localmente, como navegadores Web, el acceso a Facebook.

El módulo (gnu services avahi) proporciona la siguiente definición.

Variable Scheme: avahi-service-type

Es el servicio que ejecuta avahi-daemon, un servidor mDNS/DNS-SD a nivel del sistema que permite el descubrimiento de servicios y la búsqueda de nombres de máquina “sin configuración” (“zero-configuration”, véase https://avahi.org/). Su valor debe ser un registro avahi-configuration—véase a continuación.

Este servicio extiende el daemon de la caché del servicio de nombres (nscd) de manera que pueda resolver nombres de máquina .local mediante el uso de nss-mds. Véase Selector de servicios de nombres, para información sobre la resolución de nombres de máquina.

De manera adicional, añade el paquete avahi al perfil del sistema de manera que ordenes como avahi-browse estén disponibles de manera directa.

Tipo de datos: avahi-configuration

Tipo de datos que representa la configuración de Avahi.

host-name (predeterminado: #f)

Si es diferente de #f, se usa como el nombre de máquina a publicar para esta máquina; en otro caso, usa el nombre actual de la máquina.

publish? (predeterminado: #t)

Cuando es verdadero, permite la publicación (retransmisión) de nombres de máquina y servicios a través de la red.

publish-workstation? (predeterminado: #t)

Cuando es verdadero, avahi-daemon publica el nombre de máquina y la dirección IP a través de mDNS en la red local. Para ver los nombres de máquina publicados en su red local, puede ejecutar:

avahi-browse _workstation._tcp
wide-area? (predeterminado: #f)

Cuando es verdadero, se permite DNS-SD sobre DNS unicast.

ipv4? (predeterminado: #t)
ipv6? (predeterminado: #t)

Estos campos determinan si usar sockets IPv4/IPv6.

domains-to-browse (predeterminado: '())

Esta es la lista de dominios a explorar.

Variable Scheme: openvswitch-service-type

Este es el tipo del servicio Open vSwitch, cuyo valor debe ser un objeto openvswitch-configuration.

Tipo de datos: openvswitch-configuration

Tipo de datos que representa la configuración de Open vSwitch, un switch virtual multicapa que está diseñado para permitir una automatización masiva en la red a través de extensión programática.

package (predeterminado: openvswitch)

El objeto paquete de Open vSwitch.

Variable Scheme: pagekite-service-type

El tipo de servicio para el servicio PageKite, una solución de encaminado para hacer servidores de la red local visibles públicamente, incluso detrás de cortafuegos restrictivos o NAT sin redirección de puertos. El valor para este servicio es un registro pagekite-configuration.

Este es un ejemplo que expone los daemon HTTP y SSH locales:

(service pagekite-service-type
         (pagekite-configuration
           (kites '("http:@kitename:localhost:80:@kitesecret"
                    "raw/22:@kitename:localhost:22:@kitesecret"))
           (extra-file "/etc/pagekite.rc")))
Tipo de datos: pagekite-configuration

Tipo de datos que representa la configuración de PageKite.

package (predeterminado: pagekite)

El objeto paquete de PageKite.

kitename (predeterminado: #f)

Nombre de PageKite para la identificación con el servidor de fachada.

kitesecret (predeterminado: #f)

Secreto compartido para la comunicación con el servidor. Probablemente debería almacenarlo dentro extra-file en vez de aquí.

frontend (predeterminado: #f)

Conecta al servidor de fachada de PageKite con este nombre en vez de al servicio de pagekite.net.

kites (predeterminados: '("http:@kitename:localhost:80:@kitesecret"))

Lista de servicios de publicación (kite) usados. Expone HTTP en el puerto 80 de manera predeterminada. El formato es protocolo:nombre-kite:máquina:puerto:secreto.

extra-file (predeterminado: #f)

Archivo adicional de configuración que debe leerse, el cual se espera que sea creado de forma manual. Úselo para añadir opciones adicionales y gestionar secretos compartidos fuera de banda.


Siguiente: , Anterior: , Subir: Servicios   [Índice general][Índice]