BinkD FAQ
Ответы на часто задаваемые вопросы по FTN-мэйлеру binkd
Версия от 06.08.2001
Этот FAQ составлен на основе вопросов, часто встречающихся
в эхоконференции RU.BINKD. Часть ответов основана на рекомендациях
разработчиков.
Со всеми предложениями и замечаниями пишите: Stas Degteff 2:5080/102 и 2:50/207
1. Где взять свежую версию BinkD.
2. Что такое binkd
3. Протокол binkp
4. Что такое и зачем нужен домен fidonet.net
5. binkd не соединяется. Что делать?
6. Как подружить binkd и HTTP-прокси.
7. Как подружить binkd и SOCKS-прокси.
8. IP-пойнт: как заставить binkd забрать почту с босса.
9. binkd и диалап: автоматический дозвон и отсоединение.
10. Изменил конфиг при работющем binkd. Когда подействуют изменения?
11. Как подружить binkd c T-mail/IP?
12. Существует ли в природе хоть один лог анализер под unix?
13. Binkd долго коннектится, хотя сетка скоростная.
14. Почему BinkD не понимает передаваемые параметры при запуске из inetd
15. Можно ли сделать FREQ в binkd.
16. Как добавить binkd в фидо-станцию, работающую на модеме.
17. Флаги по приему файла не создаются.
18. Binkd под DOS.
19. Разные FTN-домены в binkd.
20. Обнаружил баг в binkd!
21. Как связаться с разработчиками.
----------------------------------------------------------------------------
Где взять свежую версию BinkD, документацию, FAQ и пр.
Файл-эха AFTNBINKD.
Кроме того, в Internet'е:
Релизы:
ftp://happy.kiev.ua/pub/fidosoft/mailer/binkd
ftp://ftp.procuratura.com.ua/pub/Fidosoft/Mailer/Binkd
Бэты:
ftp://happy.kiev.ua/pub/fidosoft/mailer/binkd/snapshot
ftp://ftp.procuratura.com.ua/pub/Fidosoft/Mailer/Binkd/Snapshot
Документация (англ.), анализаторы логов и пр.:
http://www.doe.carleton.ca/~nsoveiko/fido/binkd/
Этот FAQ:
http://fido.grumbler.org/binkdfaq.shtml (или .txt)
----------------------------------------------------------------------------
Что такое binkd
Бинкд - фидошный мэйлер, работающий через интернет по протоколу binkp
(FSP-1011). Этот протокол поддерживается также мэйлерами Аргус (win32), BForce
(unix) и программой Internet Rex (DOS/W32/OS2).
Характеристики:
- freeware, открытые исходники
- версии для Unix (linux, freebsd, SCO, ...), OS/2 (native & EMX),
Windows NT & Windows 95
- возможность работы демоном под Unix и сервисом Windows NT/2000
- простое TCP-соединение (целостность данных отслеживается на уровне TCP)
- BSO (bink-style outbound)
- LBSO (Long BSO)
- имеется вариант с поддержкой ASO (Amiga-style outbound)
- трансляция путей в ?LO файлах (используется при размещении аутбаунда
на сетевых дисках)
- персональные файлбоксы для отправляемых и принимаемых файлов для каждого
узла
- поддержка файлбоксов T-mail и The Brake!
- поддержка трансляции FTN-адресов в доменное имя (*.fidonet.net)
- поддержка файла паролей стиля T-mail, Bink/+ - начиная с 0.9.4
- поддержка FREQ с использованием SRIF
- создание флагов по приему файла (по маске)
- запуск программ по приему файла (по маске)
- отказ от приема файла (по маске) - начиная с 0.9.4
- работа через HTTP или SOCKS прокси-сервер (начиная с версии 0.9.3.https)
- шифрование паролей (MD5) - начиная с релиза 0.9.4
- шифрование трафика - начиная с 0.9.5
- проверка IP-адреса удаленного узла при входящих соединениях -
начиная с 0.9.5
----------------------------------------------------------------------------
Протокол binkp
Расшифровка названия: binkd protocol. Описан в FSP-1011 (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 и пакетом Internet Rex
(2.24 и более поздние), версия 1.0 реализована в Аргусе (в нем binkp реализован
с добавлением собственного механизма обработки FREQ).
Описание протокола на русском языке (cp866) лежит тут:
http://fido.grumbler.org/binkp.txt
----------------------------------------------------------------------------
Что такое и зачем нужен домен fidonet.net
fidonet.net - домен, зарегистрированный для системы трансляции FTN-адресов
в доменные имена internet. Используется преимущественно при binkp-соединениях.
Адрес 1:2/3.4 преобразуется в домен p4.f3.n2.z1.fidonet.net, затем binkd
(или другой IP-мэйлер) получает средствами операционной системы IP-адрес узла.
Если домен существует - можно пытаться установить соединение.
Исходя из этого, была составлена "полиси домена fidonet.net": доменное имя
в зоне fidonet.net выдается узлам, присутствующим в нодлисте, имеющим
постоянный IP-адрес и круглосуточно отвечающим на порту 24554 по протоколу
binkp.
----------------------------------------------------------------------------
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-прокси"
----------------------------------------------------------------------------
Как подружить 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
----------------------------------------------------------------------------
Как подружить 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
----------------------------------------------------------------------------
Как заставить binkd забрать почту с босса
ужно создать полл, binkd это умеет посредством опции -P:
binkd -P1:2/3 binkd.cfg
обычно при этом нужно, чтобы binkd завершил работу по окончании сессии,
для чего используется опция -p:
binkd -p -P1:2/3 binkd.cfg
Если binkd после завершения сессии долго не завершается, уменьшите
значение параметров rescan-delay и call-delay.
----------------------------------------------------------------------------
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 и call-delay - тогда binkd будет
завершаться быстрее:
=== binkd.cfg
# Delay calls and outbound rescans (sec)
rescan-delay 10
call-delay 2
===
----------------------------------------------------------------------------
Изменил конфиг при работющем binkd. Когда подействуют изменения?
ачиная с версии 0.9.1 binkd научился определять обновление файла
конфигурации. Запущенный с флагом -C он при этом завершался с кодом 3.
(После каждой входящей сессии производилась проверка времени модификации).
Вот файл для запуска binkd версий 0.9.1-0.9.3 и 0.9.4/w32:
====
:aaa
binkd -C binkd.cfg
if errorlevel 4 goto end
if errorlevel 3 goto aaa
:end
====
В версиях 0.9.4/unix и /os2-emx (только в этих) сделан автоматический
перезапуск binkd, если он запущен с ключом -C. Кроме того, начиная с версии
0.9.4 проверяются файлы, включенные в конфиг по include, и проверка
происходит не только при входящих соединениях, но и через каждые
rescan-delay секунд.
В версии 0.9.4/w32 при установке binkd в качестве сервиса Windows NT, нужно
установить его с параметром -C: тогда binkd будет перечитывать конфиг.
До версии 0.9.4 изменения конфига не проверялись, если binkd был запущен
в режиме client-only (ключ -c).
----------------------------------------------------------------------------
Как подружить binkd c T-mail/IP?
Hикак не подружить. Протоколы принципиально разные: binkd работает
по протоколу binkp, t-mail/IP - EMSI & etc.
----------------------------------------------------------------------------
Существует ли в природе хоть один лог анализер под unix?
Существует множество Perl'овых скриптов, к примеру вот:
Генератор статистики для binkd v. 0.1 beta2
(c) Dmitry Sergienko, 2:464/910@fidonet, trooper@unity.net 14.08.2000
http://www.unity.net/~trooper/fido/binkdstat
есколько разных генераторов лежат у Nick Soveiko:
http://www.doe.carleton.ca/~nsoveiko/fido/binkd/statistics_generators/
----------------------------------------------------------------------------
Binkd долго коннектится (~20 секунд), хотя сетка скоростная (ЛВС).
аверное "включен" параметр backresolv (писать в лог доменное имя
удаленного хоста) и не настроен DNS.
Самое простое - нужно закомментировать backresolv в файле конфигурации.
Посложнее: необходимо настроить DNS.
----------------------------------------------------------------------------
Почему BinkD не хочет понимать передаваемые параметры при запуске из inetd
В inetd.conf нужно первым параметром указывать имя программы (в случае
с binkd - любая строка), вторым параметром - ключи запуска (-iqs и прочее по
вкусу), третьим параметром - полнопутевое имя конфига:
binkp stream tcp nowait root /usr/fido/binkd binkd -isq /usr/fido/binkd.cfg
Если не используется опция -q, в конфиге нужно убрать вывод на консоль
(закомментировать printq, percents, conlog).
----------------------------------------------------------------------------
Можно ли сделать FREQ в binkd.
Запросто! Binkd настраиватеся на вызов внешнего фрек-процессора,
поддерживающего SRIF (к примеру, Allfix). Читай файл "!SRIF.TXT" и
комментарий к "exec" в конфиг-файле.
Вот пример строки в конфиге:
exec "\\ftn\\allfix\\allfix.exe RP -SRIF *S" *.req
----------------------------------------------------------------------------
Как добавить binkd в фидо-станцию, работающую на модеме.
ужно настроить модемный мэйлер и тоссер на режим BSO (binkley-style
outbound), так чтобы у всех (и binkd тоже) совпадали inbound- и
outbound-каталоги. Если же мэйлер "умеет" только AMA (arcmail-attach)
- придется сменить мэйлер.
----------------------------------------------------------------------------
Флаги по приему файла не создаются.
аверняка неправильно указана маска в конфиге. ужно так (версии для
windows и os/2, в юникс-версиях аналогично, но слэши обратные и одинарные):
flag m:\\ftn\\flag\\pntseg.flg m:\\\\ftn\\\\inbound\\\\sec\\\\pntstr*.*
flag m:\\ftn\\flag\\toss.flg *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt
адо прописывать полное имя файла, который должен прийти, с четырьмя
слешами или маска должна начинаться с символа "звездочка". Для флага нужно
использовать двойные слэши.
Полное имя - потому что имя файла без пути означает событие приема файла не
в инбаунд, а в текущий каталог. Если маска начинается с "*", то в любой
(а поскольку файлы принимаются в один из инбаундов, работает для всех сессий
- и парольных, и непарольных).
----------------------------------------------------------------------------
Binkd под DOS.
Существует версия binkd 0.9.2 для операционной системы MS DOS. Трудность
состоит в том, что она работает только с драйверами IBM TCP/IP версии 2.1
и найти эту версию проблематично (Дмитрий Родин 2:5020/5410 случайно нашел ее
у кого-то на фреках).
Кроме того, каждый желающий может портировать binkd под имеющуюся у него
версию драйверов IP под DOS :-). Исходники - в Internet'е и файл-эхе
(см. "Где взять свежую версию BinkD.")
----------------------------------------------------------------------------
Разные FTN-домены в binkd.
Ситуация: два домена (с разными номерами зон, хотя это непринципиально),
почта на первый домен отправляется, на второй - нет.
domain fidonet c:\\ftn\\outbound\\boxes 2
domain omeganet c:\\ftn\\outbound\\boxes 11
address 2:5070/222@fidonet 11:58/6@omeganet
В domain прописывается не default зона сети, а зона, которую не надо
добавлять к имени outbound'а (т.е. для зоны, указанной в строке
domain, расширения аутбаунда не обрабатываются).
То есть, если бы твой тоссер создавал для omeganet бандлы в каталоге
boxes, то надо было бы писать 11; а раз он создает в boxes.00b (или как там?),
то писать надо 2, вот так:
domain fidonet c:\\ftn\\outbound\\boxes 2
domain omeganet c:\\ftn\\outbound\\boxes 2
address 2:5070/222@fidonet 11:58/6@omeganet
----------------------------------------------------------------------------
Обнаружил баг в binkd!
Попpобуйте освежить веpсию (возможно, ошибка уже исправлена). Если
не помогло - надо "пинать" pазpаботчиков:
binkd-bugs@happy.kiev.ua
Pavel Gulchouck 2:463/68
pассылка binkd-dev@happy.carrier.kiev.ua
В писме нужно подробно описать ситуацию возникновения ошибки, при
этом обязательно указать номеp веpсии и приложить вырезку из подpобного
лога (loglevel больше 5).
----------------------------------------------------------------------------
Как связаться с разработчиками.
Автор первых версий binkd - Дмитрий Малов - ныне отошел от проекта.
В 2000-2001 годах проект координирует Павел Гульчук 2:463/28 (Pavel Gulchouck
<gul@gul.kiev.ua>) он же и пишет большую часть кода.
Для общения разработчиков и тестеров создана рассылка:
binkd-dev@happy.kiev.ua
|