Описание программы настройки IPLNCFG для Unix

Программа предназначена для управления драйвером под Unix(Linux, FreeBSD, OpenBSD), также может выполнять роль сервера для удаленного управления и конфигурирования драйвера ipln. При работе в режиме сервера выполняется также авто сохранение конфигурации. Также возможен динамический контроль за соединением, но если это работа с мультипортовой платой, его использовать не рекомендуется . Лучше чтобы программа контроля работала со стороны абонента.;

Параметры командной строки

Запуск программы ("./" нужна для запуска программы из текущей директории, если программа iplncfg находится в пути заданным переменной PATH, "./" не нужна):

./iplncfg  [<интерфейс>] [<список параметров>]

<интерфейс> - задает имя интерфейса драйвера eth0, eth1 ... (ipln0, ipln1 ... для FreeBSD)

<список параметров> - список параметров передаваемых интерфейсу.

Параметры могут передаваться драйверу запуском в командной строке или в режиме консоли. Чтобы войти в режим консоли нужно запустить программу без указания параметров вообще, либо командой:

./iplncfg  <интерфейс> /CON

Запуск программы в режиме сервера:

./iplncfg  /SRV1 [/NOTIFY={1 | <полный путь и имя скрипта}] [/SYSLOG] [/SCANTIME=n]
./iplncfg  /SRV2 [/NOTIFY={1 | <полный путь и имя скрипта}] [/SYSLOG] [/SCANTIME=n]
./iplncfg  /SRV3 [/NOTIFY={1 | <полный путь и имя скрипта}]  [/SYSLOG] [/SCANTIME=n]

После запуска программы в режиме сервера, ее копия остается работать в фоновом режиме.  Функции iplncfg с ключом /SRV2 аналогичны функциям программы ipln.exe для Windows. При /SRV1 допускается удаленное подключение к программе. При /SRV3 допускается удаленное подключение только в режиме просмотра (для этого должен быть задан пароль на подключение в таком режиме) . Если задан параметр SYSLOG вывод журнала идет в syslog вместо файла ipln.log. Параметр SCANTIME задает время в секундах, между проверками iplncfg состояния драйвера. По умолчанию оно три секунды.

Снять программу можно командой /.iplncfg /SRV0

Параметры доступа к серверу описываются в секции [ipln.global] в файле ipln.cfg. При первом подключении, если заданная секция не описана, нужно использовать имя root и пустой пароль. Затем можно задать имя пользователя, пароль, список допустимых Ip-адресов и интерфейс, к которому линкуется программа.

ЗАМЕЧАНИЕ: Если вы используете программу с ключом /SRV1 позаботьтесь об ограничении доступа по подключению iplncfg. Используйте для этого имя пользователя, пароль, ограничение на интерфейсы с которых можно подключится (параметр BINDIP) и список адресов TCP/IP с которых допускается подключение.

 Если задан параметр /NOTIFY=1 , то iplncfg будет из себя вызывать пользовательский скрипт /etc/ipln_sch при изменении состояния линии с параметрами:

/etc/ipln_sch  <интерфейс> <номер канала> <up | down>

up - установлена связь, down - связь пропала.

Если NOTIFY=<имя скрипта>, то вместо /etc/ipln_sch будет вызываться указанный скрипт.  Параметр /NOTIFY  действует только при запуске программы в режиме сервера.

Дополнительные параметры для FreeBSD

Функция:  ./iplncfg  <интерфейс> /REINIT

- выполняет инициализацию интерфейса заново. Можно использовать при изменении ipln.cfg, чтобы не перегружать машину. Равносильна выгрузке и загрузке модуля под Linux. Функция поддерживает и смену MAC-адреса, но после его смены нужно заново выполнять конфигурирование протоколов, т.к. при этом она сбрасывается.

 Функция  ./iplncfg   /INITDEV

функция выполняет post-инициализацию интерфейсов ipln. Желательно поставить вызов iplncfg c этим параметром в /etc/rc перед инициализацией сети. 

Создание резервного файла ipln.cfg

Резервный файл используется драйвером и программой, если возникли какие-либо проблемы с загрузкой файла ipln.cfg. 

./iplncfg /MAKECFR [ /INFILE=<Путь к файлу ipln.cfg>] [/OUTDIR=<директория>]

Команда выполняет создание резервного файла с названием ipln.cfr. Этот файл доступен программам только на запись. При создании проверяется правильность ipln.cfg. Если INFILE не задан, берется /etc/ipln.cfg, если OUTDIR не задана, берется /etc

Список допустимых команд

Имя командыСокр. вариант ФорматМин.Макс.Описание
apap ---Показать дополнительные параметры
aska011Выключает/включает режим подтверждения 
busspeedbus ---Измерить быстродействие обмена с платой по шине
bwbwn063Задать полосу пропускания канала, в единицах кратных 64Кбит. 0 - нет ограничений.
cconcc---Проверить связь
chcn1120Выбор канала n
chkchchk[n[,m]]--Выполняет проверку заданного числа каналов и выводит информацию на которую нужно обратить внимание 
cstatcs[n[,m]]--Показать состояние каналов, начиная с канала n, для m -каналов (статус, параметры связи, трафик).
ddetectdd0x000xff-Выполнить детектирование частот, значение задает режим работы:
0x01 - шаг данных 1mks(иначе 100ns)
0x02 - использовать метод M0(иначе M1
decreasedecn02Понизить скорость, n=0 для направления MASTER -> SLAVE, n=1 для направления SLAVE -> MASTER, n=2 выполнить проверку линии и скорректировать скорость, если нужно.
detectdn05Запуск программы установки соединения на частоте n
dozudo---Показать параметры связи
dsenddse010-Запустить диагностическую передачу с заданной частотой, цифра задает индекс в массиве (50, 70, 100, 140, 200, 280, 400, 560, 800, 1200, 1600 ) кГц.
dstopdst---Завершить режим диагностики
enumn- --Показать интерфейсы типа ipln. Команда работает только, если нет уже открытого интерфейса.
exece текст--Выполнить команду Unix
force  ---При запуске снять предыдущую копию
gtmgtmn330Изменить gtm для канала
helph ---Вывести подсказку
hwstart  ---Запустить оборудование канала
hwstop  ---Остановить оборудование канала
infoi[n[,m]]--Информация о драйвере и оборудовании с обеих сторон линии начиная с канала n, для m каналов
loglogn011 - разрешить(по умолчанию)/0 - запретить вести журнал настройки
loglevellogln09Изменить loglevel в драйвере
lowfreqlow---Включает расширенную поддержку низких частот.
ltmltmn336Изменить ltm для канала
mbigtmmbn0200Установить число таймаутов после которого, канал будет временно отключен.
mclistmcl---Выводит состояние таблицы MAC-адресов для режима расширенного контроля MAC-адресов
mkamplmkn07Установить ограничение для коэффициента усиления приемника.
msg!текст--Послать сообщение на другой конец линии
noisenoi01000-Измерять шум в линии
noforknof ---Не становиться демоном при запуске
openo n 020Открыть интерфейс eth<n> (ipln<n> для FreeBSD)
prtyprtyn0200Установить приоритет канала
qconqc---Запуск быстрого соединения
quietq   Подавление сообщений об открытии интерфейса
quitqu   Выход из режима консоли
rnoisernoi---Измерить шум на удаленном конце линии
rstatrs---Показать статистику драйвера с удаленного конца линии
rststatr---Обнулить статистику для канала
rwaitrw---Перевести драйвер на другом конце линии в режим ожидания связи
saves---Сохранить конфигурацию 
startstart---Запустить канал
statallstata[n[,m]]--Показать суммарную статистику. Если заданы параметры номер канала n, и число каналов m, показывается статистика для каждого канала и суммарная для этих каналов.
stopstop---Остановить канал
timingtin160Измерять загрузку процессора, n - интервал измерения в секундах
traffictraf00x1f0 Показать трафик для всех каналов, битовое поле:
0x01 - обнулить статистику при выборке
0x02 - не показывать пустой трафик
0x04 - не выводить суммарный трафик 0x08 - выводить  дату/время
0x10 - показывать трафик для каналов, перенаправленных на виртуальные
0x20 - выводить как список через ',' (этот бит сам добавляет к режиму 0x44)
0x40 - не выводить заголовок
vdatmaxvdn5010000Изменить maxvdat для канала
versionv---Показать версию драйвера
waitwn05Перевести драйвер в режим ожидания связи на частоте n

Команды вводятся в формате <имя команды>=<значение> или <Сокр. вариант><значение>. Ввод пустой команды показывает параметры драйвера и статистику. Примеры команд в режиме консоли:

>o1- Открыть интерфейс eth1(ipln1 - для FreeBSD)

>d0- Выполнить процедуру установки связи

>s - Сохранить параметры

>!"Текст сообщения" - послать сообщение на другой коней линии

>e"cat /etc/ipln.cfg" - выполнить команду cat /etc/ipln.cfg

Команды можно вводить в режиме консоли или же сразу задавать в командной строке. Пример:

>iplncfg eth1 /c0 /w0 - перевести канал 0 в режим ожидания для интерфейса eth1

>iplncfg eth1 /s - сохранить параметры для интерфейса eth1

О сборе трафика

Команду /traffic можно использовать для сбора трафика. Ей можно передать битовый параметр, которым можно управлять параметрами вывода и сбора. Если есть виртуальные каналы, то данные по физическим каналам подсоединенным к ним не показываются, если не задан бит 0x10  в поле.  Можно не показывать статистику для каналов, для которых счетчики нулевые.

Выводится общий трафик, широковещательный трафик и внутренний трафик. Внутренний трафик - это трафик создаваемый при ретрансляции из канала в канал для мультипортовых плат. Широковещательный трафик - включает в себя передачу широковещательных и multicast пакетов. Широковещательный и внутренний трафики входят в общий, поэтому если вы хотите их учитывать отдельно, эти данные надо вычитать из общего трафика. Пример использования :

>iplncfg eth1 /traffic=0x00   

- показать текущий трафик.

>iplncfg eth1 /traffic=0x07 | grep "CH("  >>file.stat   

- снять данные с интерфейса eth1, не выводить пустые строки и сумму, при снятии обнулить статистику, данные по каналам добавить в файл file.stat

Создание файла подсказки

 Можно использовать для получения краткой помощи для пользователя по настройке параметров TCP/IP. Функция доступна после установления физической связи с сервером и не использует протокол TCP/IP. На сервере должен быть запущен iplncfg в режиме сервера.

Подсказка помещается в файл ipln.hlp в директории /etc. Ограничение - размер один килобайт, не более 20-ти строк.  Можно сделать подсказки отдельно для некоторых каналов - файла помощи для отдельных каналов имеет имя  iplndnnn.hlp, d - номер устройства, nnn - номер канала. Сначала проверяется, что есть персональный файл подсказки, затем общий.

В тексте можно использовать три переменных:

%REM% - замещается на значение параметра REM= для этого канала
%MAC% - замещается на значение параметра NODE= этого драйвера
%IP% - переменная замещается по следующим правилам:

При вызове пользователем функции "Подсказка с сервера" - файл сообщениями будет отправлен пользователю. Например, если сделать rem= адресу TCP/IP клиента, а параметр node= адресу TCP/IP сервера, то файл может выглядеть так:

Параметр MAC-адрес драйвера IPLN должен быть %REM%
Ваш адрес TCP/IP должен быть %IP%
Шлюз по умолчанию должен быть %MAC%

При передаче пользователю, переменные будут заменены на реальные значения для этого канала.

---------------------------------------------
Перейти в оглавление документации