BinkD FAQ
Ответы на часто задаваемые вопросы по FTN-мэйлеру binkd
$Date: 2006/10/12 08:52:27 $
Этот FAQ составлен на основе вопросов, часто встречающихся
в эхоконференции RU.BINKD. Часть ответов основана на рекомендациях
разработчиков.
Со всеми предложениями и замечаниями пишите: Stas Degteff 2:5080/102
01. Где взять свежую версию BinkD.
02. Что такое binkd
03. Протокол binkp
04. Что такое и зачем нужен домен fidonet.net
05. binkd не соединяется. Что делать?
06. Как подружить binkd и HTTP-прокси.
07. Как подружить binkd и SOCKS-прокси.
08. IP-пойнт: как заставить binkd забрать почту с босса (аплинка).
09. Ошибка "start_file_transfer: .: Permission denied".
10. binkd и диалап: автоматический дозвон и отсоединение.
11. Изменил конфиг при работющем binkd. Когда подействуют изменения?
12. Как подружить binkd c T-mail/IP?
13. Существует ли в природе хоть один лог анализер под unix?
14. Binkd долго коннектится, хотя сетка скоростная.
15. Почему BinkD не понимает передаваемые параметры при запуске из inetd
16. Можно ли сделать FREQ в binkd.
17. Как добавить binkd в фидо-станцию, работающую на модеме.
18. Флаги по приему файла не создаются, программы не запускаются.
19. Не работает skipmask.
20. Binkd под DOS.
21. Binkd под Windows 3.x.
22. Разные FTN-домены в binkd.
23. Как работает "domain ... alias-for ..." в конфиге
24. Что означает диагностика "send: TCP/IP error (-10000)", как это лечить?
25. Argus (Radius) и binkd: ошибка Argus "Aborting due to carrier loss"
26. В названии аутбаунда - символ комментария и binkd не видит каталог.
27. Есть ли возможность запуска приложения в binkd по событию?
28. В чем различие между binkd/w32 и binkd/w9x?
29. Сильно не хватает чата в binkd! И время синхронизировать хочется.
30. Binkd принимает входящее соединение только после исходящего.
31. Ошибка "start_file_transfer: ECHO is off.: No such file or directory".
32. Как правильно создать полл.
33. Что означают цифpы в квадpатных скобках в логе?
34. Как настроить эхотаг для отправки исходящего нетмейла?
35. Зачем нужна директива share в конфиге (shared aka)?
36. Зачем нужна директива ftrans в конфиге?
37. binkd в Windows XP работает сервисом только от администратора. Почему?
A1. Обнаружил баг в binkd!
A2. Как связаться с разработчиками.
A3. Хочу сразу узнавать об изменениях в binkd!
A4. А когда binkd будет делать ... ?
----------------------------------------------------------------------------
01. Где взять свежую версию BinkD, документацию, FAQ и пр.
Файл-эха AFTNBINKD.
Кроме того, в Internet'е:
Релизы, документация, анализаторы логов и пр. (Pavel Gulchouck 2:463/68):
ftp://cvs.happy.kiev.ua/pub/fidosoft/mailer/binkd/
Зеркала
ftp://cheetah.itpark.com.ua/pub/fido/binkd/
(Украина, Pavel Gulchouck 2:463/68)
ftp://fido.thunderdome.us/pub/mirror/binkd/
(США, Matt Bedynek 1:106/1)
ftp://ftp.alexblues.ru/pub/binkd/
(Россия, Alexander Gladchenko 2:5080/111, обновляется в 23:00 UTC)
ftp://cube.sut.ru/pub/mirror/binkd/
(Россия, Dmitriy Yermakov 2:5030/1115, обновляется в 01:30 UTC)
http://binkd.spb.ru
(Россия, Andrey Ostanovsky 2:5030/1957)
Бэты:
Публичный CVS
:pserver:binkd@cvs.happy.kiev.ua:/cvs , модуль binkd, пароль пустой
Примеры команд.
Залогиниться на сервер cvs:
cvs -d :pserver:binkd@cvs.happy.kiev.ua:/cvs login
Получить последние исходники ветки current (на настоящий момент это 1.0):
cvs -d :pserver:binkd@cvs.happy.kiev.ua:/cvs co binkd
Получить последние исходники ветки binkd 0.9.5-stable:
cvs -d :pserver:binkd@cvs.happy.kiev.ua:/cvs co -r binkd-0_9_5-stable binkd
Получить исходники binkd 0.9.8-release:
cvs -d :pserver:binkd@cvs.happy.kiev.ua:/cvs co -r binkd-0_9_8 binkd
Получить исходники binkd 0.9.7-release:
cvs -d :pserver:binkd@cvs.happy.kiev.ua:/cvs co -r binkd-0_9_7 binkd
Анонимный FTP:
ftp://cvs.happy.kiev.ua/pub/fidosoft/mailer/binkd/snapshot (основной)
ftp://ftp.grumbler.org/pub/binkd/current (зеркало, обновляется 23:50 UTC+5)
Binkd, портированный под Windows CE:
http://nicka-s.narod.ru/fido/index.html
(Россия, Nickita Startcev 2:469/105.96 & 2:5030/777.319)
Документация (англ.), анализаторы логов и пр.:
http://www.doe.carleton.ca/~nsoveiko/fido/binkd/
Man page, описание binkp, бинарники и пр. (Stas Degteff 2:5080/102):
http://binkd.grumbler.org/
Этот FAQ:
http://binkd.grumbler.org/binkdfaq.shtml (или .txt)
В официальных источниках бинарники binkd именуются так, чтобы показать
OS, компилятор и способ сборки.
Версии для Windows (32bit):
binkd.exe, binkdw32.exe - binkd/w32, консольный, скомпилирован MS Visual C
binkd-dll.exe - binkd/w32, консольный, MS Visual C, требует msvcrt.dll
binkd-mingw.exe - binkd/w32, консольный, MinGW32, требует msvcrt.dll
binkd9x.exe - binkd/w9x, безоконный, скомпилирован MS Visual C
binkd9x-dll.exe - binkd/w9x, безоконный, MS Visual C, требует msvcrt.dll
binkd9x-mingw.exe - binkd/w9x, безоконный, MinGW32, требует msvcrt.dll
Версии для OS/2:
binkd2.exe - компилятор Watcom C, перла нет
binkd2e.exe - emx, умеет подгружать перловую dll и работать без нее
binkd2pl.exe - emx, perl слинкован статически (т.е. перловая dll не нужна)
binkd2eo.exe - emx/omf (multithread), перла нет.
----------------------------------------------------------------------------
02. Что такое binkd
Бинкд - фидошный мэйлер, работающий через интернет по протоколу binkp
(FSP-1011). Этот протокол поддерживается также мэйлерами Аргус (win32; RitLabs;
http://www.ritlabs.com), BForce (unix), программой Internet Rex (DOS/W32/OS2) и
BeeMail (win32; Stephen Proffitt, 1:105/10; http://beemail.gexonline.net/)
Характеристики:
- freeware, открытые исходники;
- версии для Unix (linux, freebsd, SCO, ...), OS/2 (native & EMX),
Windows NT/2000/XP и Windows 95/98/Me, Windows 3.x, DOS;
- возможность работы демоном под Unix и сервисом Windows NT/2000/XP,
отдельная версия для работы сервисом в Windows 9x;
- простое TCP-соединение (целостность данных отслеживается на уровне TCP);
- BSO (bink-style outbound);
- LBSO (Long BSO);
- ASO (Amiga-style outbound);
- трансляция путей в ?LO файлах (используется при размещении аутбаунда
на сетевых дисках);
- персональные файлбоксы для отправляемых и принимаемых файлов для каждого
узла;
- поддержка файлбоксов T-mail и The Brake!;
- поддержка трансляции FTN-адресов в доменное имя (*.fidonet.net);
- поддержка файла паролей стиля T-mail - начиная с 0.9.4 и ifcico - c 1.0;
- поддержка FREQ с использованием SRIF;
- создание флагов по приему файла (по маске);
- запуск программ по приему файла (по маске);
- отказ от приема файла (по маске) - начиная с 0.9.4;
- работа через HTTP или SOCKS прокси-сервер (начиная с версии 0.9.3.https);
- шифрование паролей (MD5) - начиная с релиза 0.9.4;
- шифрование трафика - начиная с 0.9.5;
- проверка IP-адреса удаленного узла при входящих соединениях -
начиная с 0.9.5.
----------------------------------------------------------------------------
03. Протокол binkp
Расшифровка названия: binkd protocol. Описан в FSP-1018 (FIDOnet standard
proposal - предложенный для обсуждения/рассмотрения FTSC стандарт) и
порт 24554 выделен для binkp в RFC-1700 (request for comments,
выпускаемый IANA).
Использующий двустороннее TCP-соединение протокол обмена файлами,
разработанный для FTN-мэйлера binkd. По умолчанию использует порт 24554.
Существуют две версии протокола: 1.0 и 1.1, обратно совместимы.
Основное отличие версии 1.1 в возможности делать FREQ во время сессии. Кроме
того, binkp 1.1 в настоящее время имеет опции NR (non-reliable mode,
режим работы с ненадежнвм каналом связи) и ND (no dupes mode, режим защиты
от повторной передачи файлов), MD5 (хеширование паролей), CRYPT (шифрование
трафика).
Версия протокола 1.1 поддерживается мэйлером binkd, версия 1.0 реализована
в мэйлере Argus и его клонах (в нем binkp реализован с добавлением собственного
механизма обработки FREQ и другими изменениями), в MBSE, Internet Rex, BForce
и других. В пакете Internet Rex (2.24 и более поздние) реализован также свой
(несовместимый) вариант binkp/1.1.
Описание протокола на русском языке лежит тут:
http://binkd.grumbler.org/binkp/
----------------------------------------------------------------------------
04. Что такое и зачем нужен домен fidonet.net
fidonet.net - домен, зарегистрированный для системы трансляции FTN-адресов
в доменные имена internet. Используется преимущественно при binkp-соединениях.
Адрес 1:2/3 преобразуется в домен f3.n2.z1.fidonet.net (для пойнта: 1:2/3.4
преобразуется в p4.f3.n2.z1.fidonet.net), затем binkd (или другой binkp-мэйлер)
получает средствами операционной системы IP-адрес узла. Если домен существует
- можно пытаться установить соединение.
Исходя из этого была составлена "полиси домена fidonet.net": доменное имя
в зоне fidonet.net выдается узлам, присутствующим в нодлисте, имеющим
постоянный IP-адрес или доменное имя и круглосуточно отвечающим на порту 24554
по протоколу binkp.
----------------------------------------------------------------------------
05. binkd не соединяется, сообщает про таймаут (timeout). Что делать?
1. Проверьте, отвечает ли удаленный узел на порту 24554 (команда telnet).
Если соединение не устанавливается, проверьте, подключен ли этот компьютер
в данный момент к сети (команда ping). Если проверки успешные - проверяйте
настройки (при этом помогает увеличение уровня протоколирования: loglevel 6
или больше).
Вот примеры для узла 2:5080/68:
1.1.
(В ответе на телнет управляющие символы убраны, разбиение на строки
выполнено для удобства)
m:\>telnet f68.n5080.z2.fidonet.net 24554
-.OPT CRAM-MD5-593e3e5411515fc1cf75816bb74e41d0-SYS Academ
-ZYZ Alexei Kuklin-LOC Ekaterinburg, Russia-NDL 115200,TCP,BINKP,HUB
-%TIME Tue, 20 Feb 2001 15:25:20 +0500- VER binkd/0.9.4/Win32 binkp/1.1
- 2:5080/68@fidonet-OPT ND
M:\>ping f68.n5080.z2.fidonet.net
Pinging fido68.imp.uran.ru [195.19.130.68] with 32 bytes of data:
Reply from 195.19.130.68: bytes=32 time=505ms TTL=122
Reply from 195.19.130.68: bytes=32 time=555ms TTL=122
Reply from 195.19.130.68: bytes=32 time=406ms TTL=122
Reply from 195.19.130.68: bytes=32 time=372ms TTL=122
Узел работает. Проверьте настройки своего Binkd. Возможно, задан слишком
маленький таймаут (время, необходимое для установки соединения, можно оценить
по задержке перед ответом в telnet).
Другой вариант: телнет соединяется, а пинг - нет (сообщает "Request timed
out" или "Превышен интервал ожидания"):
M:\>ping f68.n5080.z2.fidonet.net
Pinging fido68.imp.uran.ru [195.19.130.68] with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Это означает, что ICMP-пакеты запрещены на пути между вами. На работу
binkd они не влияют.
1.2.
M:\>ping f68.n5080.z2.fidonet.net
Unknown host f68.n5080.z2.fidonet.net
Такой ответ означает, что ваш компьютер не смог обнаружить запись в DNS
для этого узла. Проверьте настройки DNS в системе. Если они верны - убедитесь,
что DNS-сервер работает и адрес удаленного узла указан правильно.
1.3.
Если пинг проходит, а telnet-соединение не устанавливается - возможно,
что binkd на этом узле в данный момент не отвечает. Попробуйте
выяснить с сисопом узла, запущен ли у него binkd. Если запущен и соединяется
с другими узлами - это означает, что доступ к порту 24554 закрыт на файрволле
Вашей сети. Попробуйте запустить binkd через прокси-сервер - см. "Как
подружить binkd и HTTP-прокси", "Как подружить binkd и SOCKS-прокси"
1.4.
M:\>ping -w 5000 f68.n5080.z2.fidonet.net
Pinging fido68.imp.uran.ru [195.19.130.68] with 32 bytes of data:
Reply from 195.19.130.68: bytes=32 time=3674ms TTL=122
Request timed out.
Reply from 195.19.130.68: bytes=32 time=4232ms TTL=122
Request timed out.
Телнет на порт 24554 иногда соединяется, а чаще - нет.
Узел работает, но канал связи между вами сильно загружен или слишком
медленный. При этом binkd соединяется не при каждой попытке (теряются
IP-пакеты) или не соединяется вовсе (слишком мало время ожидания ответа
удаленного узла). Первый случай "неизлечим", поскольку пакеты теряются
в пути и повлиять на это Вы не в состоянии. Во втором случае нужно увеличить
значение времени ожиданий в файле конфигурации binkd (значения задаются
в секундах):
timeout 60
connect-timeout 300
call-delay 60
Если увеличение этих значений не помогает - смените аплинка.
1.5.
Телнет на порт 24554 не соединяется, хост на пинг не отвечает.
Узел не отвечает. Вероятные варианты :
1 - в данный момент ваш компьютер либо удаленный узел не подключен
к интернет или нарушена маршрутизация (обрыв на линии связи, отключение
электропитания, проводятся работы у одного из провайдеров и пр.) -
предпримите несколько попыток позже;
2 - Ваш компьютер находится в Intranet и выход в Internet возможен только
через прокси-сервер - см. "Как подружить binkd и HTTP-прокси", "Как подружить
binkd и SOCKS-прокси"
----------------------------------------------------------------------------
06. Как подружить binkd и HTTP-прокси.
Нередко в ЛВС организации пользователи выходят в Internet исключитально
через прокси-сервер, установленный на единственном компьютере, имеющем выход
в Сеть.
При этом binkd не может установить прямое соединение с удаленным узлом и нужно
использовать этот прокси-сервер.
Поддержка прокси-серверов была включена в версии 0.9.3.https, 0.9.4 и
более поздние.
Работа через HTTP прокси возможна только в том случае, если
в прокси-сервере разрешена команда CONNECT host 24554 (соединение с портом
24554) либо команда CONNECT разрешена для любого порта назначения. Обычно эта
команда используется в протоколе "защищенный HTTP" (ссылки вида HTTPS://...),
иначе называемого S-HTTP. Из-за этого такой прокси нередко называют
"HTTPS-прокси".
Если binkd сообщит, что произошла ошибка авторизации, значит в настройке
прокси-сервера нужная команда запрещена или разрешена только для некоторых
портов (обычно 443).
Предположим, что компьютер, подключенный к Internet, имеет во внутренней
сети IP-адрес 192.168.0.1 и прокси-сервер на нем "отвечает" по порту 3128.
Вот строка в файле конфигурации binkd, нобходимая для работы через этот
HTTP-прокси:
1. Прокси-сервер без авторизации пользователя (не требуется вводить имя
и пароль):
proxy 192.168.0.1:3128
2. Прокси-сервер с авторизацией пользователя (требуется вводить имя и
пароль, к примеру, имя user и пароль password):
proxy 192.168.0.1:3128/user/password
3. Прокси-сервер фирмы Microsoft с авторизацией пользователя по протоколу
NTLM. (Требуется входить в домен.)
К примеру, имя user и пароль password, компьютер пользователя host и домен
ntdomain:
proxy 192.168.0.1:3128/user/password/host/ntdomain
Если администратор прокси-сервера разрешил соединения только с избранными
портами (обычно это порт 443) - тогда binkd выдаст диагностику "Connection
rejected by proxy". Вот пример:
31 Mar 16:48:43 [59987] BEGIN, binkd/0.9.3/SOCKS/HTTPS -p BINKD.CFG
31 Mar 16:48:43 [59987] clientmgr started
+ 31 Mar 16:48:43 [40423] call to 2:5000/44@fidonet
31 Mar 16:48:43 [40423] trying 195.209.235.3, port 24554...
31 Mar 16:48:43 [40423] connected to proxy.osu.ru:24554
31 Mar 16:48:44 [40423] Connection rejected by proxy (HTTP/1.0 403 Forbidden)
? 31 Mar 16:48:44 [40423] unable to connect: {13} Permission denied
В этом случае можно попробовать использовать http-туннелинг, например
с помощью httport (взять можно на http://www.htthost.com/) или найти узел,
который принимает соединения по binkp на 443 порт.
----------------------------------------------------------------------------
07. Как подружить binkd и SOCKS-прокси.
Нередко в ЛВС организации пользователи входят в Internet исключитально
через прокси-сервер, установленный на единственном компьютере, имеющем выход
в Сеть. При этом binkd не может установить прямое соединение с удаленным узлом
и нужно использовать этот прокси-сервер.
Поддержка прокси-серверов была включена в версию 0.9.4 и более поздние.
Binkd работает с SOCKS-прокси версий 4 и 5. Первые не требуют авторизации
(ввода имени и пароля), вторые как правило ее требуют.
Предположим, что компьютер, подключенный к Internet, имеет во внутренней
сети IP-адрес 192.168.0.1 и SOCKS-сервер на нем "отвечает" по порту 1080.
Вот строка в файле конфигурации binkd, нобходимая для работы через этот
SOCKS-прокси:
1. SOCKS-сервер без авторизации пользователя (не требуется вводить имя
и пароль):
socks 192.168.0.1:1080
2. SOCKS-сервер с авторизацией пользователя (требуется вводить имя и
пароль, к примеру, имя user и пароль password):
socks 192.168.0.1:1080/user/password
----------------------------------------------------------------------------
08. Как заставить binkd забрать почту с босса (аплинка)
Нужно создать полл. binkd это умеет посредством опции -P:
binkd -P1:2/3 binkd.cfg
обычно при этом нужно, чтобы binkd завершил работу по окончании сессии,
для чего используется опция -p:
binkd -p -P1:2/3 binkd.cfg
Если binkd после окончания сессии долго не завершается, уменьшите
значение параметра rescan-delay (иногда и timeout).
Если binkd работает постоянно (например установлен как сервис в Windows)
и требуется регулярно забирать почту, нужно использовать внешние по отношению
к binkd программы или скрипты. Например, в DOS, Windows или OS/2 достаточно
выполнить команду:
cd . >> %outbound%\NNNNMMMM.ilo
где NNNN - шестнадцатиричный номер сети,
MMMM - шестнадцатиричный номер узла,
%outbound% - путь к аутбаунду нужной зоны.
----------------------------------------------------------------------------
09. Ошибка "start_file_transfer: .: Permission denied"
Это сообщение появляется когда binkd не может открыть файл на отправку,
указанный в лошке (*.?lo). Скорее всего в этом файле есть строка, состоящая
из одной ".", т.к. poll создается командой
echo . >> xxxxyyyy.flo
ее нужно заменить на "cd . >> xxxxyyyy.flo"
----------------------------------------------------------------------------
10. Binkd/win и диалап: автоматический дозвон и отсоединение
Задача: настроить систему так, чтобы binkd инициировал телефонный звонок
к провайдеру, забирал почту, после чего соединение нужно разорвать.
Решения:
1 вариант
Установить автоматическое установление связи и таймаут в свойствах
соединения (завершать соединение при отсутствии данных через указанное
время). При этом удобно использовать нестандартную программу дозвона
(Advanced Dialer и т.п.). binkd нужно будет периодически запускать
с ключом -p (и, возможно, -Pадрес - чтобы binkd создал полл на адрес)%
binkd -p -P1:2/3.4 binkd.cfg
2 вариант
Используется опция командной строки -p и командный файл, в
котором запускается сервис удаленного доступа (RAS), затем запускается binkd,
после завершения binkd RAS останавливается.
для Windows NT и Windows 2000 два варианта:
=== binkdpoll1.cmd
rasdial Соединение
binkd -p binkd.cfg
rasdial Соединение /disconnect
===
=== binkdpoll2.cmd
net start "remote access service"
net start "remote access auto service"
binkd -p binkd.cfg
net stop "remote access auto service"
net stop "remote access service"
===
3 вариант (наилучший для win9x)
Используются опции командной строки -p и -Pадрес, управление соединением
осуществляется нестандартной программой дозвона (к примеру, dialerp).
Этот вариант наиболее надежен (особенно в случае плохой связи с модемом
провайдера) благодаря тому, что dialerp при установлении соединения может
запускать указанные программы. Вот командный файл, который нужно вызывать
из параметра Execute файла конфигурации dialerp:
====
binkd -p -P1:2/3.4 binkd.cfg
dialerp BREAK *
====
Остается вопрос: где взять dialerp. Ответ: спроси у автора
(Alexander Vedjakin, 2:5020/540) или поищи в архивах файл-эх и на ftp/http.
При любом варианте в файле конфигурации binkd нужно поставить малое
значение у параметра rescan-delay - тогда binkd будет
завершаться быстрее:
=== binkd.cfg
# Outbound rescans period (sec)
rescan-delay 2
===
Страница12 | Предыдущая | Следующая