Inhalt

13. Die Node-Software einrichten

Die Node-Software wurde von Tomi Manninen (tomi.manninen@hut.fi) entwickelt und basiert auf dem Original-PMS-Programm. Es stellt eine vollständige und flexible Node-Funktion zur Verfügung, die man einfach einrichten kann. In den aktuellen AX.25-Utilities ist das Programm nicht mehr enthalten, es liegt vielmehr als separates Paket auf ftp.hes.iki.fi. Dieses Paket ist nur mit einem Kernel 2.2.x lauffähig. Das Programm erlaubt den verbundenen Nutzern, Telnet-, NetROM-, ROSE- und AX.25-Verbindungen aufzubauen und bestimmte Informationen zu erhalten, wie Finger, Nodes und Heard-Listen usw.

Der Node kann sehr einfach so eingestellt werden, daß er jedes gewünschte Linux-Kommando ausführen kann. Das Programm node wird normalerweise vom ax25d aufgerufen, kann aber auch vom inetd gestartet werden, um Nutzern Zugriff via Telnet zu ermöglichen. Auch ein Aufruf von der Kommandozeile ist möglich.

13.1 Die Datei /etc/ax25/node.conf

In dieser Datei wird die hauptsächliche Konfiguration des Programms node vorgenommen. Sie ist eine einfache Textdatei mit folgendem Format:

#/etc/ax25/node.conf 
# Konfigurationsdatei für das Programm node.
# 
# Zeilen, die mit einem '#' beginnen, sind Kommentare und werden vom 
# Programm ignoriert. 
# Hostname 
# Gibt den Rechnernamen der Node-Maschine an
hostname     radio.gw.vk2ktj.ampr.org 
# Local Network 
# hier kann man einstellen, was als 'Lokal' gilt, wichtig für 
# Zugriffsrechte in node.perms 
localnet       44.136.8.96/29 
# Hidden Ports 
# Die hier angegebenen Ports sind für Nutzer unsichtbar. Sie werden 
# vom Befehl (P)orts nicht ausgegeben. 
hiddenports     rose netrom 
# Callserver 
# Wenn eingestellt, wird ein Callserver zur Verfügung gestellt 
callserver      zone.oh7rba.ampr.org 
# Node-Identifikation. 
# Dieser Text erscheint im Node-Prompt
NodeId         LINUX:VK2KTJ-9 
# NetRom port 
# Name des für vom Node ausgehende
NetROM-Verbindungen verwendeten 
# NetROM-Ports
NrPort         netrom 
# Node Idle Timeout 
# Gibt an, nach welcher Zeit der Inaktivität eine Verbindung vom Node 
# beendet wird (in Sekunden) 
idletimout      1800 
# Connection Idle Timeout 
# Gibt an, nach welcher Zeit der Inaktivität eine Verbindung, die über 
# den Node läuft, beendet wird (in Sekunden) 
conntimeout     1800 
# Reconnect 
# Gibt an, ob die Nutzer zum Node zurückverbunden werden sollen, wenn 
# die abgehende Verbindung getrennt wurde (reconnect) oder ob sie 
# vollständig vom Node getrennt werden sollen
reconnect       on 
# Command Aliases 
# Eine Möglichkeit, komplexe Befehle einfacher zu gestalten
alias          CONV    "telnet vk1xwt.ampr.org 3600"
alias          BBS     "connect radio vk2xsb" 
# External Command Aliases 
# Möglichkeit, externe Befehle unter node ausführen zu können 
# extcmd     
# Nur Flag == 1 ist implementiert 
#  hat das gleiche Format wie in der Datei /etc/ax25/ax25d.conf
extcmd         PMS     1      root    /usr/sbin/pms pms -u %U -o VK2KTJ 
# Logging 
# Mitschriften ins System-Log. 
# 3 - ausführlichste Form, 0 - ausgeschaltet
loglevel        3 

13.2 Die Datei /etc/ax25/node.perms

Das Programm node erlaubt, einzelnen Nutzern Zugriffsrechte zuzuteilen. Diese erlauben festzulegen, welche Nutzer beispielsweise Befehle wie (T)elnet oder (C)onnect ausführen dürfen und welche nicht.

Diese Information wird in der Datei /etc/ax25/node.perms abgelegt, welche fünf Felder enthält. In allen Feldern ist der Stern »*« das Zeichen dafür, daß alle möglichen Optionen für das jeweilige Feld gelten sollen. Das ist nützlich, wenn man Standard-Festlegungen treffen will. Die einzelnen Felder:

user

Das Rufzeichen des Nutzers, für den die folgenden Regelungen gelten sollen. SSID-Werte werden ignoriert, man sollte also nur das Rufzeichen angeben.

method

Für jedes Protokoll oder Zugriffsmethode gibt es auch Zugriffsrechte. Beispielsweise kann man Nutzern, die über AX.25 oder NetROM verbunden sind, erlauben, die (C)onnect-Option zu verwenden, diese aber anderen, die z.B. über telnet eingeloggt sind, verwehren.

Man kann hier also festlegen, für welches Protokoll die Zugriffsrechte gelten sollen:

ampr

Nutzer ist über eine AMPR-Adresse via Telnet verbunden

ax25

Nutzer ist über AX.25 verbunden

host

Node wurde von der Kommandozeile gestartet

inet

Nutzer ist von einer nicht-lokalen, nicht- AMPR-Adresse aus verbunden

local

Nutzer ist von einem »lokalen« Rechner aus verbunden

netrom

Nutzer ist über NetROM verbunden

rose

Nutzer ist über ROSE verbunden

*

Alle möglichen Verbindungsarten

port

Für AX.25-Nutzer lassen sich Zugriffsrechte auch auf der Basis des verwendeten Ports festlegen. Damit kann man definieren, was AX.25-Nutzer in Abhängigkeit von dem Port, über den sie verbunden sind, tun dürfen. Im dritten Feld steht bei dieser Möglichkeit dann der Portname. Das Ganze ist nur für AX.25-Verbindungen sinnvoll.

password

Optional kann man den Node so einstellen, daß er die Nutzer nach einem Paßwort fragt. Das kann sinnvoll sein, um Nutzer mit vielen Zugriffsrechten zu schützen. Das Paßwort steht dann im vierten Feld der Datei.

permissions

Zugriffsrechte. Dieses Feld ist das letzte bei jedem Eintrag in /etc/ax25/node.perms. Es ist als Bit-Feld codiert, wobei jede Option einem Bit entspricht, das diese einschaltet, wenn es gesetzt ist, und ausschaltet, wenn es nicht gesetzt ist. Hier eine Liste der steuerbaren Optionen und ihrer Bitwerte:

Wert         Beschreibung
------------------------------------------------------------
1            Login erlaubt
2            AX.25-(C)onnects erlaubt
4            NetROM-(C)onnects erlaubt
8            (T)elnet zu lokalen Rechnern erlaubt
16           (T)elnet zu AMPR-Net-Rechnern (44.0.0.0)
             erlaubt
32           (T)elnet zu nicht-lokalen, nicht-AMPR-Net-
             Rechnern erlaubt
64           Versteckte Ports für AX.25-(C)onnects erlaubt
128          ROSE-(C)onnects erlaubt

Um die Zugriffsrechte festzulegen, rechnet man die Werte für alle Rechte des Users zusammen und schreibt die Summe in das fünfte Feld.

Die Datei node.perms könnte also etwa so aussehen:

# etc/ax25/node.perms 
# 
# Der Nodebetreiber ist VK2KTJ, sein Paßort ist "secret" 
# und er hat alle Zugriffsrechte bei allen Verbindungsarten 
vk2ktj *      *       secret  255 
# Folgende Nutzer dürfen keine Verbindungen aufbauen 
NOCALL *      *       0 
PK232  *      *       0 
PMS    *      *       0 
# INET-Nutzer dürfen keine Verbindungen aufbauen 
*      inet   *       0 
# AX.25-, NetROM, lokale, Host- und AMPR-Nutzer können (C)onnects
# und (T)elnet-Verbindungen zu anderen lokalen und AMPR-Rechnern,
# jedoch nicht zu anderen IP-Adressen aufbauen
*       ax25   *      *       159
*       netrom *      *       159
*       local  *      *       159
*       host   *      *       159
*       ampr   *      *       159 

13.3 node vom ax25d aus starten

Das Programm node wird normalerweise vom ax25d aus gestartet. Dazu müssen entsprechende Einträge in der Datei /etc/ax25/ax25d.conf vorgenommen werden. In der Beispielkonfiguration haben die Nutzer die Wahl, ob sie eine Verbindung zum Node oder zu anderen Diensten aufbauen wollen. Bei ax25d gibt es zu diesem Zweck sogenannte Port-Aliases. Beispiel: Bei der weiter oben angegebenen Konfiguration für ax25d soll unter dem Rufzeichen VK2KTJ-1 der Node erreichbar sein. Dazu wird folgendes in der Datei /etc/ax25/ax25d.conf hinzugefügt:

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

Damit wird festgelegt, daß der Linux-Kernel-Code alle Verbindungsanforderungen für das Rufzeichen VK2KTJ-1, die er auf dem AX.25-Port radio hört, beantwortet und das Programm node startet.

13.4 node vom inetd aus starten

Es ist leicht möglich, den Node auch von einer Telnet-Verbindung aus zu nutzen. Zunächst ist festzulegen, zu welchem Port die die Nutzer ihre Verbindung aufbauen sollen.

Im Beispiel wurde willkürlich Port 3694 gewählt, Informationen darüber, wie man den Telnet-Daemon durch node ersetzen kann, finden sich in Tomis Dokumentation.

Zwei Dateien sind anzupassen. Der Datei /etc/services fügt man hinzu:

node   3694/tcp        # OH2BNS's Node-Programm 

und in /etc/inetd.conf kommt zusätzlich:

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

Nach einem Neustart des inetd (vorher ein kill -HUP 1) bekommen alle Nutzer, die eine Telnet-Verbindung zum Port 3694 aufgebaut haben, eine Abfrage nach Loginname und Paßwort (wenn eingerichtet) und werden dann an node weitergegeben.


Inhalt