dosemu networking On Thu, 8 Jan 2004 05:23:18 +0700 TheMixawrote: >>>>>> >> > > А можно ли в locall_apps запустить dosemu или vmware? Ктонибудь в dosemu >>>>>> >> > > сеть пробовал настраивать? >>>> >>>>> >> > >>>>> >> > Я настраивал в dosemu IPX. Могу попробовать другие протоколы, >>>>> >> > если надо. > >> > >>>> >> Попробуйте пожалуйста TCP/IP. Мне надо чтобы работа Client TCP/IP for >>>> >> Microsoft Networks или TCP/IP LanManager Client. Просто есть одна >>>> >> специфическая прога, она работает с шарами, соответственно надо чтобы с >>>> >> linux-машины была доступна шара из dosemu. Пока у меня проблема в том, >>>> >> как все это сделать, какие драйвера использовать в dos для виртуальной >>>> >> сетевой. Буду благодарен если вы попробуете и расскажете как это >>>> >> сделать.... > >> >> GB> Т.е. она сама монтирует шары? >> GB> А нельзя ей подсунуть уже подмонтированную smbmount-ом шару >> GB> как диск e:, например? >> >> Нет, делов в том, что она перехватывет "NetAPI", в общем это ключевая >> дискета...и инфа на ней периодически меняется клинтскими прогами.... >> В общем объяснять - долго, хитро тут сделано...расскажите, хотябы >> какой драйвер брать....или помогите. Время поджимает... Извиняюсь за задержку. Вот как поднять TCP/IP в dosemu согласно новым веяниям. Кстати, недавно вышел релиз dosemu-1.2.0 =) 1. Сеть доступна через интерфейс TUN/TAP, см. http://dosemu.sourceforge.net/docs/README/1.2/x949.html Поэтому в ~/.dosemurc дописываем следующее: $_pktdriver = (on) $_netdev = "tap0" $_vnet = "tap" В /etc/modules.conf дописать "alias char-major-10-200 tun", иначе модуль не будет автоматически подгружаться. 2. Интерфейс tap0 станет доступен после запуска dosemu и пропадёт при выходе. Чтобы этого не происходило, можно сделать его перманентным. Для этого требуется утилита tunctl из проекта User Mode Linux: http://prdownloads.sourceforge.net/user-mode-linux/uml_utilities_20040114.tar.bz2 $ gcc -g -Wall -o tunctl tunctl.c $ strip tunctl $ sudo install -o root -g root -m 755 tunctl /usr/local/sbin/tunctl 3. Создать перманентное устройство: $ /usr/local/sbin/tunctl -t tap0 Set 'tap0' persistent and owned by uid 500 $ sudo ifconfig tap0 up 4. Для выхода из dosemu в окружающую сеть нужно создать мост между tap0 и основным интерфейсом (eth0): $ sudo brctl addbr br0 $ sudo brctl addif br0 eth0 $ sudo brctl addif br0 tap0 $ sudo brctl show bridge name bridge id STP enabled interfaces br0 8000.0004761cbca8 no eth0 tap0 5. Все настройки, что были у eth0, теперь предназначены br0. Я просто скопировал /etc/sysconfig/network-scripts/ifcfg-eth0 в /etc/sysconfig/network-scripts/ifcfg-br0 и заменил DEVICE на br0. $ sudo ifup br0 $ /sbin/ifconfig br0 Link encap:Ethernet HWaddr 00:04:76:1C:BC:A8 inet addr:172.16.0.57 Bcast:172.16.255.255 Mask:255.255.0.0 IPX/Ethernet 802.2 addr:00000002:0004761CBCA8 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1260450 errors:0 dropped:0 overruns:0 frame:0 TX packets:337199 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:165684089 (158.0 Mb) TX bytes:111624539 (106.4 Mb) 6. Проверить настройки интерфейса можно с помощью "dosemu -D9+P": $ less ~/.dosemu/boot.log ... PKT: VNET mode is 2 PKT: trying to bind to device tap0 Assigned DosnetID=9053 PKT: Using device tap0 Assigned Ethernet Address = 64:62:53:90:78:78: ... 7. В качестве сетевых утилит можно использовать любые доступные, умеющие работать со встроенным в BIOS Packet Driver. Пока я проверил Waterloo TCP и PCTCP (у кого есть другие, присылайте, или проверьте сами). Последний требует загрузки TSR-модуля и лицензии. Первый бесплатный, можно взять здесь: http://www.wattcp.com/wat2001b.zip Бинарные версии внутри, в /apps/apps.zip. Их нужно извлечь, скажем, в папку C:\NET и создать там конфиг. Я сделал такие же настройки, как и у Линукс-хоста: $ cat tcp.cfg my_ip=172.16.0.57 netmask=255.255.255.0 gateway=172.16.0.100 Внимание! TCP/IP стек в Waterloo TCP поднимается при вызове команд и опускается при выходе. По этому, если вы захотите сделать ping w.x.y.z из Линукс-хоста, а w.x.y.z - отличающийся IP dosemu, то ping пройдёт только когда в dosemu выполняется, например, C:\NET>ping 172.16.0.100 8 8. Пример: C:\NET>ping 172.16.0.100 2 Pinging [172.16.0.100] 2 times once per_second sent PING # 1 , PING receipt # 1 : response time 0.00 seconds sent PING # 2 , PING receipt # 2 : response time 0.00 seconds Ping Statistics Sent : 2 Received : 2 Success : 100 % Average RTT : 0.00 seconds На этом всё, если будут дополнения, напишу сюда или в community@altlinux. Замечания с радостью приму. -- Григорий Баталов, начальник бюро системного администрирования ОАО "Ковдорский ГОК" +7-(81535)-76036