Traducción Guia Nodo Duniter y Tor

Configurar un nodo Duniter

Este documento es un pequeño tutorial para configurar su nodo Duniter recién instalado, es la continuación lógica del tutorial de instalación. Web original en francés

Índice

  • En línea de comando
    • Configurar el llavero criptográfico
      • Tener varios nodos con el mismo conjunto de claves
    • Configurar la red
      • API
      • Configurar WS2P
        • Noción de WS2P Public y WS2P Private
        • WS2P privado
          • WS2PTOR Privado
        • WS2P Público
          • Punto de acceso
          • Punto de acceso WS2PTOR
          • Número máximo de conexiones WS2P públicas
          • Lista de claves de invitado / privilegiadas
        • Verifique su configuración WS2P
        • Defina una ruta para su punto de acceso ws2p
      • Configurar BMA
      • ¿Qué es UPnP?
      • Nota sobre el WS2P público (recomendado)
    • Comprueba tu configuración
    • Sincroniza tu nodo
    • Lanzamiento
    • Seguimiento de registros
    • Ir más lejos
  • Via la interface de administración web

Desde la línea de comando

Configurar el llavero criptográfico

Todos los nodos de la unidad tienen un llavero criptográfico, que utilizan para firmar la información que transmiten a través de la red. Hay dos tipos de nodos unitarios:

1. Nodos miembros: Si el llavero del nodo corresponde a una identidad de miembro, entonces el nodo es del tipo “miembro” y automáticamente participará en el cálculo de los bloques.

2. nodos espejo: si el llavero del nodo no corresponde a la identidad de un miembro, entonces el nodo es de tipo “espejo”, no podrá escribir un bloque, pero seguirá siendo útil para la resistencia de la red también, solo para atender las consultas de los clientes.

De forma predeterminada, este llavero es aleatorio y, por lo tanto, el nodo de la unidad es un nodo espejo. Puede cambiar el llavero del nodo con este comando:

duniter wizard key

Tenga en cuenta que el llavero introducido mediante este comando se almacenará en claro en el disco. Para evitar esto, puede optar por ingresar solo el llavero que se usará al iniciar el nodo para que su llavero solo permanezca en la RAM, para esto agregue la opción -keyprompt al comando de lanzamiento del nodo.

Tener varios nodos con el mismo conjunto de claves

Es posible tener varios nodos miembros con su llavero de miembros, pero en este caso debe asignar un identificador único a cada uno de sus nodos, este identificador único se llama prefijo porque su función única es prefijar el nonce de los bloques que calcula. para evitar que dos de sus nodos calculen la misma prueba.

En su primer nodo: no tiene nada que hacer, el prefijo es el 1 predeterminado.

En su segundo nodo:

duniter config --prefix 2

En su tercer nodo:

duniter config --prefix 3

etc

El prefijo debe ser un número entero entre 1 y 899 .

Configurar la red

API

En la versión 1.6.x hay dos API (Interfaz de programación de aplicaciones) que permiten que el nodo de su unidad se comunique con otros programas.

  1. WS2P (WebSocketToPeer): esta API está dedicada a la comunicación entre nodos, es decir, entre su nodo duniter y otros nodos de la misma moneda. WS2P está habilitado de forma predeterminada en el nodo de su unidad.
  2. BMA (Basic Merkled Api): esta antigua API está dedicada a la comunicación con el software cliente (Cesium, Sakia, Silkaj), también puede ser utilizada por cualquier programa externo que desee solicitar la red (un sitio web que quiera verificar la presencia de una transacción de blockchain, por ejemplo). BMA está atento, planeamos desarrollar una nueva API de cliente que lo reemplazará. BMA está desactivado de forma predeterminada en el nodo de su unidad.

Configurar WS2P

noción de WS2P Public y WS2P Private

WS2P Privado = conexiones WS2P salientes.
WS2P público = conexiones WS2P entrantes.

Una conexión WS2P entre dos nodos duniter siempre es significativa, es iniciada por uno de los nodos que es, por tanto, el iniciador y el otro el aceptador. Las conexiones que su nodo de unidad inicia con otros nodos de unidad son salientes, dependen de su configuración privada de WS2p. Por otro lado, las conexiones que acepta su nodo duniter desde otro nodo son entrantes, dependen de su configuración pública de WS2P.

WS2P privado

Este modo está habilitado de forma predeterminada y se configura automáticamente. Puede desactivarlo con el siguiente comando:

duniter config --ws2p-noprivate

Y para reactivarlo:

duniter config --ws2p-private

Las únicas configuraciones posibles son definir un número máximo de conexiones WS2P salientes y una lista de claves preferidas, su nodo se conectará en prioridad a los nodos de la unidad cuya clave pública es parte de su lista de claves preferidas.

para cambiar el número máximo de conexiones WS2p salientes:

duniter config --ws2p-max-private <count>

Para agregar una clave a su lista de claves preferidas:

duniter config --ws2p-preferred-add <pubkey>

Para eliminar una clave de su lista de claves preferidas:

duniter config --ws2p-preferred-rm <pubkey>

Para ver la lista de sus claves preferidas:

duniter ws2p list prefered

WS2P TOR Privado

Para pedirle a su nodo duniter que pase por Tor en las conexiones privadas que establece con otros nodos, solo tiene que definir un proxy Tor y elegir la política a adoptar respecto a los puntos de acceso normales de ws2p (opción--reaching-clear-ep ):

duniter config --tor-proxy localhost: 9050 --reaching-clear-ep tor

También tendrá que instalar Tor Browser o Tor Standalone en la misma máquina. Por defecto, Tor escucha en localhost en el puerto 9050. Si cambia su configuración de Tor, obviamente necesitará modificar la configuración de Duniter en consecuencia.

También puede optar por un nodo mixto, que se pondrá en contacto con los puntos de acceso convencionales en texto claro y que, por tanto, solo utilizará Tor para contactar con los puntos de acceso .onion:

duniter config --tor-proxy localhost: 9050 --reaching-clear-ep clear

Finalmente, tercera opción, puede decidir contactar solo los puntos de acceso en .onion, los puntos de acceso en claro nunca serán contactados:

duniter config --tor-proxy localhost: 9050 --reaching-clear-ep none

/! \ Cada vez que modifiques una de sus dos opciones debes repetir la otra al mismo tiempo, de lo contrario se reiniciará.

Finalmente, para restablecer su configuración de Tor y volver a un nodo perfectamente clásico:

duniter --rm-proxies

También puedes decidir encapsular Duniter en una Tor VM como whonix, en este caso deberás informar a duniter que podrá contactar con los puntos de acceso en .onion activando la opción --force-tor :

duniter config --force-tor --reaching-clear-ep tor | none

WS2P Público

Este modo está deshabilitado por defecto, para que funcione debes configurar un punto de acceso que los otros nodos de la unidad puedan usar para llegar a ti.

Primero active el modo público WS2p

duniter config --ws2p-public

Punto de acceso

Para que WS2P Public funcione, debe configurar un punto de acceso que otros nodos de la unidad puedan usar para comunicarse con usted. Hay dos casos posibles:

  1. Si quieres usar UPnP (habilitado de forma predeterminada) y luego no tienes nada que hacer, duniter controlará automáticamente tu caja para configurar un punto de acceso.
  2. No tienes UPnP o no quieres usarlo, por lo que debes configurar manualmente un punto de acceso:

duniter config --ws2p-noupnp --ws2p-port PORT --ws2p-host HOST --ws2p-remote-port REMOTE_PORT --ws2p-remote-host REMOTE_HOST

Las opciones “remotas” corresponden, por ejemplo, a una caja que haría un NAT hacia su máquina, o un nginx / apache que haría un proxy inverso hacia su instancia de Duniter. Si el nodo de su unidad está conectado a Internet a través de una caja, deberá configurar un reenvío de puertos en su caja redirigiendo el puerto de su elección a la máquina que ejecuta su nodo de la unidad. Además, para que la IP local de esta máquina no cambie, debes pedirle a tu box que le asigne una concesión DHCP permanente.

Punto de acceso WS2P TOR

Solo necesitas indicar la dirección .onion de tu servicio oculto en la opción--ws2p-remote-port y Duniter se configurará automáticamente en modo WS2PTOR.

Número máximo de conexiones WS2P públicas

Para cambiar el número máximo de conexiones WS2p entrantes:

duniter config --ws2p-max-public <count>

Lista de claves de invitado / privilegiadas

Así como puede definir claves preferidas para sus conexiones WS2p salientes, puede definir claves de invitado que luego serán privilegiadas. Es decir, si recibe más solicitudes de conexión que el número máximo que configuró, tendrán prioridad las conexiones iniciadas por nodos cuya clave pública sea parte de sus claves privilegiadas.

Para agregar una clave a su lista de claves privilegiadas:

duniter config --ws2p-privileged-add <pubkey>

Para eliminar una clave de su lista de claves privilegiadas:

duniter config --ws2p-privileged-rm <pubkey>

Para ver la lista de sus claves privilegiadas:

duniter ws2p lista con privilegios

Verifique su configuración WS2P

duniter ws2p show-conf

Defina una ruta para su punto de acceso WS2P

duniter config --ws2p-remote-path <route>

Úselo solo si desea colocar su nodo duniter detrás de un proxy inverso. Esta opción le permite agregar una ruta para su punto de acceso ws2p público. Su punto de acceso ws2p será entonces:ws://host:port/path

Tenga en cuenta que ws: // debe reemplazarse por wws: // si establece el puerto remoto en 443.

Configurar BMA

Lo único que necesita configurar es un punto de acceso. Responda las preguntas del siguiente comando interactivo:

red del asistente de Duniter

Aquí hay un ejemplo con mi propia configuración en casa:

2017 - 10 - 01 T19 : 02 : 09 + 02 : 00 - depuración : Conexión del sistema de archivos … 2017 - 10 - 01 T19 : 02 : 09 + 02 : 00 - depuración : Cargando conf … 2017 - 10 - 01 T19 : 02 : 10 + 02 : 00 - debug : configuración guardada . ? Interfaz IPv4 eth0 192 . 168 . 0 . 11 ? Interfaz IPv6 ¿ Ninguna ? Puerto 10901 ? IPv4 remoto 81 . 64 . 137 . 147 ? Puerto remoto 10901 ? ¿ Este servidor tiene un nombre DNS ? No 2017 - 10 - 01 T19 : 02 : 33 + 02 : 00 - depuración : configuración guardada .

Estoy conectado, de lo contrario en wifi tienes que elegir la opción wlan0. Desafortunadamente, mi caja no es compatible con IPv6, por lo que no hay interfaz IPv6: Ninguna. No uso UPnP, así que defino manualmente un puerto (aquí 10901). Remote IPv4 corresponde a la IP pública de mi caja, puedes encontrarla visitando el sitio https://www.monip.org/ Aquí no he configurado un dominio DNS apuntando a mi nodo de unidad.

Si, como yo, no usa UPnP, debe configurar manualmente un reenvío de puertos en su caja.

¿Qué es UPnP?

Universal Plug and Play (UPnP) es un protocolo que, si está activado en su caja de Internet, permite a los programas que utiliza configurar la red ellos mismos “controlando” su caja.
UPnP tiene la ventaja de ser conveniente, ya que te ahorra tener que configurar la red tú mismo, pero por otro lado debes confiar en los programas que estás usando porque un programa malicioso puede usar UPnP para abrir tu red de una manera no deseada.
Si no le teme a la línea de comandos y exige la seguridad de su red local, le recomendamos que desactive UPnP.
Si instala duniter en un VPS o un servidor dedicado, tendrá que prescindir de UPnP de todos modos.

Nota sobre WS2P público (recomendado)

Los nodos con ws2p público son necesariamente necesarios para que funcione la red de la unidad, y cuantos más nodos con ws2p público, más descentralizada será la red.
Este modo es opcional, aunque solo sea porque técnicamente a veces es difícil, o incluso imposible, ser accesible desde el exterior (nodo detrás de un enrutador 4G, por ejemplo).

Verifique su configuración

Para comprobar que su configuración no contiene un error lógico puede utilizar el comando check-config :

$ Duniter check-config 2017 -09-28T23: 24: 19 + 02: 00 - depuración: Al conectar el sistema de archivos … 2017 -09-28T23: 24: 19 + 02: 00 - depuración: Cargando conf … 2017 - 09-28T23: 24: 19 + 02: 00 - depuración: configuración guardada. 2017 -09-28T23: 24: 19 + 02: 00 - advierten: configuración parece correcta.

Si obtiene el resultado, la configuración parece correcta, su configuración parece correcta.

Sincroniza tu nodo

Para unirse a la red de una moneda, debe sincronizar con un nodo que ya esté en esta red:

sincronización de Duniter DUNITER_NODE_HOST: DUNITER_NODE_PORT

Para Ğ1, si no conoces ningún nodo puedes elegir el nodo oficial g1.duniter.org:443

Lanzamiento

Hay cuatro comandos diferentes dependiendo de si desea o no demonizar su instancia de Duniter y si desea o no usar la interfaz de usuario web:

inicio de Duniter duniter direct_start duniter webstart duniter direct_webstart

el prefijo direct_ cancela la demonización, pero luego tendrás que dejar tu terminal abierta o usar nohup o screen o similar.

Además, ordena direct_start y direct_webstart acepta la opción --keyprompt (ver parte del llavero).

Seguimiento de registros

registros de Duniter

Es igual a :

tail -f ~ / .config / duniter / duniter-default / duniter.log

Ir más lejos

Consulte la guía de controles de la unidad. Web Comandos duniter

Vía la interface de administración web

(en curso de redacción …)

4 Me gusta

Mi mayor preocupación con respecto a Duniter fue la existencia del archivo keyring.yml, el cual no es legible para Cesium.
Estuve probando y encontré que para poder utilizar --keyprompt con la versión 1.8.1 para Ubuntu es necesario utilizar direct_start o direct_webstart.
Ejemplo, duniter direct_webstart --keyprompt. La versión de escritorio de Duniter, duniter-desktop, parece no admitir argumentos de lanzamiento así que esto se reserva para la versión server lo cual no representa mayores dificultades afortunadamente más que usar el programa screen, nohup o la interfaz web.