Configurando el software de nodo

13. Configurando el software de nodo.

El software de nodo fue desarrollado por Tomi Manninen y se basó en el programa original PMS. Provee una capacidad de nodo bastante completa y flexible, que es muy fácil de configurar. Este permite a los usuarios, después de conectarse, hacer conexiones Telnet, NetRom, Rose y AX.25 y obtener información variada como Finger, Nodes y listas Heard. Si quieres, puedes configurar el nodo simplemente para que ejecute un comando Linux.

El nodo comúnmente es invocado por el programa ax25d pero también puede ser invocado por el programa TCP/IP inetd, lo que permite a los usuarios hacer telnet a tu máquina y obtener acceso a ella, o correrlo desde la línea de comandos.

13.1 Creando el archivo /etc/ax25/node.conf.

Este archivo es donde se aloja la configuración principal del nodo. Es un simple archivo de texto y su formato es el siguiente:

# /etc/ax25/node.conf
# configuration file for the node(8) program.
#
# Lines beginning with '#' are comments and are ignored.

# Hostname
# Specifies the hostname of the node machine
hostname    radio.gw.vk2ktj.ampr.org

# Local Network
# allows you to specify what is consider 'local' for the
# purposes of permission checking using nodes.perms.
localnet    44.136.8.96/29

# Hide Ports
# If specified allows you to make ports invisible to users. The
# listed ports will not be listed by the (P)orts command.
hiddenports rose netrom

# Node Identification.
# this will appear in the node prompt
NodeId      LINUX:VK2KTJ-9

# NET/ROM port
# This is the name of the NET/ROM port that will be used for
# outgoing NET/ROM connections from the node.
NrPort      netrom

# Node Idle Timeout
# Specifies the idle time for connections to this node in seconds.
idletimout  1800

# Connection Idle Timeout
# Specifies the idle timer for connections made via this node in
# seconds.
conntimeout 1800

# Reconnect
# Specifies whether users should be reconnected to the node
# when their remote connections disconnect, or whether they
# should be disconnected complete.
reconnect   on

# Command Aliases
# Provide a way of making complex node commands simple.
alias       CONV    "telnet vk1xwt.ampr.org 3600"
alias       BBS "connect radio vk2xsb"

# External Command Aliases
# Provide a means of executing external commands under the node.
# extcmd <cmdname> <flag> <userid> <command>
# Flag == 1 is the only implemented function.
# <command> is formatted as per ax25d.conf
extcmd      PMS 1   root    /usr/sbin/pms pms -u %U -o VK2KTJ

# Logging
# Set logging to the system log. 3 is the noisiest, 0 is disabled.
loglevel    3

# The escape character
# 20 = (Control-T)
EscapeChar      20

13.2 Creando el archivo /etc/ax25/node.perms

El nodo le permite asignar permisos a los usuarios. Estos permisos le permiten a Ud. determinar que usuarios si y cuales no pueden acceder a algunas opciones como (T)elnet y (C)onnect, por ejemplo. El archivo node.perms es donde es guardada esta información y contiene 5 campos claves. Para todos los campos un ´*´ coincide con todo. Esto es útil para construir reglas por omisión o prefijadas.

user
El primer campo es el indicativo o usuario al que se le aplicarán estos permisos. El SSID se ignora, por lo tanto pon solo el Indicativo.

method
Cada protocolo o método de acceso tiene sus permisos. Por ejemplo, puedes permitir que usuarios conectados vía AX.25 o NetRom puedan usar la opción (C)onnect, pero no darles acceso a aquellos que están conectados por (T)elnet desde un nodo no-local. Por lo tanto este segundo campo te permite seleccionar a que método de acceso se le aplican estas reglas de permisos. Los métodos de acceso permitidos son:

Metodo Descripción
ampr Usuario conectado por Telnet desde una amprnet (44.0.0.0)
ax25 Usuario conectado por AX.25
host Usuario que comenzó el nodo de la línea de comando
inet Usuario conectado por Telnet desde un domicilio no-local, no-ampr.
local Usuario conectado por Telnet desde un host local.
netrom Usuario conectado por NetRom
rose Usuario conectado por Rose
* Usuario conectado de cualquier manera.
port
Si quieres, y para usuarios de AX.25, puedes controlar los permisos puerto por puerto. Esto te permite determinar lo que una conexión AX.25 puede hacer dependiendo del puerto al que se conectó. Si usas esta facilidad, aquí va el nombre del puerto. Solo aplicable a conexiones AX.25.

password
Opcionalmente puedes configurar el nodo para que el prompt pida contraseña cuando se conecta. Es útil para ayudar a proteger determinadas configuraciones de usuarios con alta nivel de autoridad o permisos. Si se usa este campo, verificará la contraseña.

permissions
Este campo es el último de cada entrada del archivo. Esta codificado como un campo de bits, de modo que cada facilidad o permiso puesto está habilitado, y si no está puesto esta anulado. La lista de las facilidades controlables y de sus valores correspondientes es:

Valor Descripción
1 Login permitido.
2 AX25 (C)onnects permitido.
4 NetRom (C)onnects permitido.
8 (T)elnet al local hosts permitido.
16 (T)elnet al hosts amprnet (44.0.0.0) permitido.
32 (T)elnet a hosts no-local, no-amprnet permitido.
64 Puertos ocultos permitidos para AX.25 (C)onnects.
128 Rose (C)onnects permitido.

Para codificar el valor del permiso, simplemente suma los valores de los respectivos permisos que quieras que tenga el usuario. Y pon ese valor en el quinto campo.

Un ejemplo de nodes.perms seria así:

# /etc/ax25/node.perms
#
# El operador del nodo es VK2KTJ, tiene como contraseña 'secret' y
# tiene todos los permisos para todos los métodos de conexión.
vk2ktj  *   *   secret  255

# Los siguientes usuarios son rechazados. No pueden conectarse.
NOCALL  *   *   *   0
PK232   *   *   *   0
PMS *   *   *   0

# Usuarios de INET son rechazados también.
*   inet    *   *   0

# Los usuarios AX.25, NetRom, Local, Host y AMPR pueden usar (C)onnect y 
# (T)elnet a hosts locales y ampr, pero no a otras direcciones IP.
*   ax25    *   *   159
*   netrom  *   *   159
*   local   *   *   159
*   host    *   *   159
*   ampr    *   *   159

13.3 Configurando un nodo para correr desde ax25d

El programa de nodo normalmente es ejecutado por ax25d. Para hacer esto debe agregar las reglas apropiadas al archivo /etc/ax25/ax25d.conf. En mi configuración yo quería que los usuarios pudieran elegir conectarse al nodo o a otro servicio. El programa ax25d se lo permite hacer, simplemente creando alias para los puertos. Por Ejemplo con la configuración dada anteriormente, quiero configurar el nodo para que todos los que se conecten con VK2KTJ-1 accedan al nodo. Para hacerlo agregue esta línea al archivo /etc/ax25/ax25d.conf:

[vk2ktj-1 via radio]
default    *     *    *   *   *   0    root /usr/sbin/node node

Esto indica que el kernel de Linux contestará cualquier pedido de conexión para “VK2KTJ-1” escuchada en el puerto AX.25 llamado ´radio´, y hará que se corra el programa node.

13.4 Configurando el nodo para que corra desde inetd

Si quieres que tus usuarios puedan hacer Telnet en tu máquina y acceder al node, puedes hacerlo fácilmente. Lo primero a decidir es a que puerto se deben conectar. En este ejemplo elegí arbitrariamente el puerto 4000, aunque Tomi da detalles en esta documentación, de cómo reemplazar en demonio normal de Telnet con el nodo.

Necesitas modificar dos archivos.

A /etc/services deberías agregar:

node    3694/tcp    #OH2BNS's node software

y a el /etc/inetd.conf deberias agregar:

node    stream  tcp nowait  root    /usr/sbin/node node

Cuando has hecho esto, debes reiniciar inetd, a cualquier usuario que haga telnet al puerto 3694 de tu máquina se le pedirá un login, y si está configurado, la contraseña y entonces se conectara al nodo.

Anuncios