13. Конфигурирование программного обеспечения узла.
Программное обеспечение узла было разработано Tomi Manninen <[email protected]> на основе
программы PMS, что позволило получить
расширенные возможности и гибкость в процессе настройки
узла. При соединении с узлом ваши пользователи могут
получить доступ к Telnet,
NetRom, Rose, и AX.25 подключениям, а также возможность получать различную
информацию, типа Finger, Nodes, Heard и т.д. После несложного конфигурирования
узла, вы сможете выполнить из него практически любую команду
Linux. Обычно узел
вызывается из ax25d программы, хотя это
возможно и из TCP/IP inetd
программы для пользователей TELNET, или из
командной строки.
13.1.
Создание /etc/ax25/node.conf файла.
node.conf
файл - это - простой текстовый файл и предназначен для конфигурации узла. Ниже,
для
примера описан его формат:
# /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
# NetRom port
# This is the name of the netrom port that
will be used for
# outgoing NetRom 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"
# Externam 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. Создание /etc/ax25/node.perms файла.
В процессе конфигурирования узла, вы можете назначить права для
различных категорий пользователей.
Например, кому из пользователей разрешается использовать параметры типа
(T) elnet, и (C) onnect команд
и т.д., а кому из пользователей запретить, по различным
причинам, определённые виды команд. Эта информация должна вызываться из
node.perms файла.
node.perms файл - состоит из пяти ключевых областей, в
которых содержится информация обо всех правах ваших пользователей. Для всех
областей символ звездочка '*' соответствует, какому либо значению. Это полезно
для формирования заданных по умолчанию правил.
user - пользователь
Первое поле - позывной пользователя, к которому применяется
разрешение или запрещение. Любое значение SSID игнорируется. В это поле
необходимо разместить только 'callsign'.
method - метод
Второе поле - содержит имя протокола или метод разрешения доступа. Например, Вы могли
бы позволить пользователям, кто соединился через AX.25 или NetRom, использовать (C) onnect опцию, но запретить
использование этой опции пользователям, которые связаны с нелокальным узлом telnet.
Доступные
методы доступа:
method description - описание метода
метод описание
--------- -----------------------------------------------------------
ampr
Пользователь - telnet, связанный от адреса amprnet (44.0.0.0)
ax25
Пользователь, связанный через AX.25
host
Пользователь запускает узел из командной строки
inet Пользователь
- telnet, связанный от non-loca, non-ampr адрес
local
Пользователь telnet связывается от локального узла
netrom
Пользователь, связанный через NetRom
rose
Пользователь, связанный через Rose
* Пользователь,
связанный с узлом через другие средства.
port - порт
Третье поле -
содержит имя порта. При желании, Вы можете управлять доступом пользователей AX.25 к другим портам вашего узла.
Это полезно только для подключений AX.25.
password - пароль
Четвертое поле - содержит значение пароля для конкретного
пользователя, который будет от него принят. Вы можете дополнительно сконфигурировать узел так,
чтобы просить пользователей вводить
пароль, когда
они соединяются с вашим узлом. Это может быть полезно в
плане защиты специально сконфигурированных пользователей, кто имеют высокие
уровни полномочий.
permissions - разрешения
Область разрешений -
является пятой и конечной областью на каждом входе в файле 'node.perms'. Область
разрешений закодирована как битовая область, с каждым средством имеющим битовую
величину, для разрешения или запрещения, той или иной опции.
Список управляемых средств и их соответствия битовым величинам:
величина описание
------------
-------------------------------------------------
1 разрешен Вход в систему.
2 AX25 (C) onnects разрешены.
4 NetRom (C) onnects разрешены.
8 (T) elnet на доступные, главные локальные
компьютеры.
16 (T) elnet к amprnet (44.0.0.0)
разрешенные главные компьютеры.
32 (T) elnet к нелокальному,
non-amprnet разрешенным главным компьютерам.
64 Скрытые порты, доступные для
AX.25 (C) onnects.
128 Rose (C) onnects разрешены.
Чтобы закодировать величину разрешения для пользователя,
надо взять каждое из разрешений, которые Вы хотите, чтобы пользователь имел, и
сложить их величину вместе. Сумму этого числа Вы размещаете в пятом поле.
Образец
nodes.perms:
#
/etc/ax25/node.perms
#
# The node
operator is VK2KTJ, has a password of 'secret' and
# is allowed all
permissions by all connection methods
vk2ktj * * secret 255
# The following
users are banned from connecting
NOCALL *
* * 0
PK232 * * * 0
PMS * * * 0
# INET users are
banned from connecting.
* inet * * 0
# AX.25, NetRom,
Local, Host and AMPR users may (C)onnect and (T)elnet
# to local and
ampr hosts but not to other IP addresses.
* ax25 * * 159
* netrom * * 159
* local * * 159
* host *
* 159
* ampr *
* 159
13.3.
Конфигурирование узла ax25d
Программа
узла должна нормально взаимодействовать с ax25d программой и для этого Вы
должны добавить соответствующие ссылки в /etc/ax25/ax25d.conf файле. В моей
конфигурации я хотел, чтобы пользователи имели выбор, или подключаться к узлу
или подключаться к другим сервисным программам. Программа Ax25d позволяет Вам
делать это, умно создавая псевдонимы порта. Например, учитывая ax25d
конфигурацию, представленную выше, я хочу сконфигурировать узел так, чтобы всем
пользователям, кто соединяются с VK2KTJ-1, предоставили доступ к узлу. Чтобы
сделать это, я добавляю следующие строки к моему /etc/ax25/ax25d.conf файлу:
[vk2ktj-1 via
radio]
default * *
* * * 0 root /usr/sbin/node node
Этот пример показывает, что код ядра Linux ответит на любое
подключение callsign 'VK2KTJ-1' на
порту AX.25 с именем 'радио', и активизирует программу узла.
13.4. Конфигурирование узла, с inetd
Если Вы желаете разрешить пользователям доступ к telnet
порту и узлу на вашей машине, то Вам нужно определиться, с каким портом
пользователи в этом случае должны соединяться. В своём примере я произвольно
выбрал порт 4000, хотя Tomi
сообщает подробности относительно того, как Вы можете
заменять нормаль telnet daemon с узлом из его документации.
Вы
должны изменить два файла.
К
/etc/services нужно добавить:
node 3694/tcp #OH2BNS's node software
И к /etc/inetd.conf Вы должны добавить:
node
stream tcp nowait
root /usr/sbin/node node
Когда это будет выполнено, и Вы перезагрузите ' inetd ' программу, у любого пользователя,
который соединяется с telnet портом 3694 на вашей машине, будет запрошен пароль
на вход в систему, если это
сконфигурировано, а затем будет предоставлен доступ к узлу.