 
 
 
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. 
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 
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: 
Das Rufzeichen des Nutzers, für den die folgenden Regelungen gelten sollen. SSID-Werte werden ignoriert, man sollte also nur das Rufzeichen angeben.
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:
Nutzer ist über eine AMPR-Adresse via Telnet verbunden
Nutzer ist über AX.25 verbunden
Node wurde von der Kommandozeile gestartet
Nutzer ist von einer nicht-lokalen, nicht- AMPR-Adresse aus verbunden
Nutzer ist von einem »lokalen« Rechner aus verbunden
Nutzer ist über NetROM verbunden
Nutzer ist über ROSE verbunden
Alle möglichen Verbindungsarten
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.
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.
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 
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. 
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. 
 
 
