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 на вашей машине, будет запрошен пароль на вход в систему,  если это сконфигурировано, а затем будет предоставлен доступ к узлу.