Привет всем!
Помогите разобраться в следующей проблеме.
Кратко исходные данные от заказчика:
- Fedora Core 5 без иксов
- в DosEmu выполняется кассовая программа, написанная на FoxPro
- сеть организована через Samba (файловый обмен через расшаренные ресурсы)
Нужно:
- прикрутить клиентскую часть POS терминала.
Имеются 2 версии POS — для Linux и для DOS.
Обе версии используют TCP/IP.
В качестве проверки доступности сети, например, использую:
telnet
Linux версия работает без проблем.
Но у заказчика не получилось сделать вызов Linux-версии POS
из кассовой программы из DosEmu. И настаивает на запуске DOS-версии.
Почитав предварительно документы типа dosemu-networking и
поковыряв эти варианты (это через интерфейсы TUN/TAP и bridge),
ничего путного не добился (я жутко извиняюсь, но мой опыт работы с Linux — 2 недели).
Зато освоил следующий вариант:
- в dosemu.conf
$_pktdriver=(on)
$_netdev=«eth0»
$_vnet=«direct»
- в /etc/rc.d/rc.local
route add -net 0.0.0.0 netmask 0.0.0.0 dev eth0
- в DosEmu в отдельный каталог положил пакет Waterloo TCP
- там же настроил файл net.cfg — все параметры соответствуют настройкам eth0
из /etc/sysconfig/network-scripts/ifcfg-eth0
Делаю из DosEmu: ping — Красота!
Все пингуется!
Запускаю tm (телнет из Waterloo): tm -p
Connecting to ….. И ВСЕ! Отваливается по таймауту!
Телнет не работает!
Отсюда вопрос: почему пинги ходят на «ура», а телнет не работает?
Помогите, пожалуйста, довести до ума ситуацию.
С уважением, Михаил.
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
видимо, у этого компьютера — -- не открыт сокет, который слушает соответствующий порт.
давай вывод с этого компьютера:
С этим как раз все нормально.
Из Linux: telnet выполняется
влет. Все коннектится и выдается приглашение с удаленной
системы. Из DosEmu этого нет. Возвращаюсь из DosEmu обратно
в линукс — опять все нормально :-(
думается, что tcpdump, запущенный на linux-компе, тут может рассказать причину.
только может случиться мистика и с tcpdump-ом заработать — тогда надо тебе сетевую карточку перевести в promisc режим.
хотя, решение это ненормальное.
а нормальное, <font color=«blue»>вот</font>, к примеру.
думается, что tcpdump, запущенный на linux-компе, тут может рассказать причину.
>только может случиться мистика и с tcpdump-ом заработать — >тогда надо тебе сетевую карточку перевести в promisc режим.
>хотя, решение это ненормальное.
>а нормальное, вот, к примеру.
Можно немного поподробнее, как tcpdump использовать в данном случае?
Простой запуск показал, что это сниффер. При запуске висит
постоянно. Можно его запустить в фоновом режиме?
задача tcpdump — показывать пользователю информацию о трафике, приходящем и уходящем, с твоего компьютера.
вывод он этот делает на экран.
можно, конечно, его запустить и в фоне, чтобы всю информацию он выводил в файл.
вот тебе пример:
# tcpdump -n -i eth0 host > /tmp/tcpdump &
>вот тебе пример:
># tcpdump -n -i eth0 host > /tmp/tcpdump &
Добро, попробую…
Еще один момент обнаружил (просьба не пинать сильно :-)):
Genie предлагал воспользоваться вот этим:
http://ltsp.ru/documentation/faq-dosemu-networking.html
У меня не получилось использовать этот вариант.
Причина: в комплект DosEmu входит dosnet.c, который надо
откомпилировать в dosnet.o и через insmod добавить в загрузку.
Как показала проверка, dosnet.o не включен в загрузку,
но попытка скомпилить сие чудо дала такую кучу ошибок!!!
Отсюда сделал вывод, что параметр $_pktdriver=(on) в dosemu.conf
мне ничем не поможет до включения dosnet.o
Еще момент: при попытке загрузить в DosEmu пакетный драйвер
сетевой карты на адрес 0×60 получаю сообщение что пакетный драйвер уже загружен! На другие адреса драйвер не грузиться.
Получается
Продолжаю… :-)
Получается, что $_pktdriver=(on) при реальном отсутствии
dosnet.o только резервирует прерывание под себя…
Сегодня проверю предположение.
Может кто нибудь поделиться dosnet.o ?
v.1.3.3