中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: dos网络启动盘 上一主题 | 下一主题
shanliang8008
银牌会员




积分 1148
发帖 514
注册 2007-6-1
来自 河北
状态 离线
『楼 主』:  dos网络启动盘

http://blog.chinaunix.net/u/15901/showart_204285.html

远网志地址上还有好多东西,可以去下来看看,那张网络启动盘我也没同过网罗安装过,不过他可以支持用UFOMAT制作的U盘(因为不是用U盘启动所以可以什么主板都可以)还有RTL8139和NTFS的驱动,

标准1.4M镜象 随身携带  。原地址还附带了很多关于DOS的东西包括网卡驱动等等等
   



  

DOS网络启动盘 DOS网络启动盘


这张从97年到现在我一直保留并维护的工具盘,也许平时用的机会不多,但总在关键时刻救急。它能帮你在无法通过光驱安装操作系统时,通过网络或USB移动盘把几百兆的Windows系统安装文件复制到本地硬盘来进行安装。当然还可以用它来干别的,不过对我来说,这才是我一直不断更新它的最重要的原因。现在网上类似的东西很多,也许是用惯了,还是觉得自己的比别的都好用……

用途
支持以微软网络客户访问和提供局域网共享资源;
支持以包驱动方式访问局域网和互联网上的TCP/IP服务;
可通过PPPoe拨号用基于包驱动的应用程序访问互联网上的TCP/IP服务;
多种网卡支持(须下载驱动包软盘)、自动检测PCI网卡;
支持IDE/USB/1394/PCMCIA光驱和USB硬盘/软驱;
DOS 7.1启动,支持FAT32,也包含了只读版NTFS和长文件名支持。
下载地址
此处分别提供一组软盘映像和一个启动光盘范例。软盘主要是为在无法使用光驱启动的情况下使用,而范例光盘则包含有软盘文件中的绝大多数内容,在便于测试的同时也具有一定实用性。供下载的文件中有些也许是您用不上的,因此您不必下载所有文件,建议您阅读本文后根据您需要使用的内容有选择地下载。

以下下载链接均存放于GooglePages,但因网络审查影响有时访问不正常;另提供一组具有RSS功能的镜像位置,链接不分别列出。

软盘映像下载
部分软盘分别提供img格式和exe格式,两者内容是相同的,无须重复下载。其中,img格式可用各种能读写原始软盘映像格式的程序打开后写入物理软盘片,如DOS下的rawrite、di、dcf/dcp、diskdupe、hdcopy等、Windows下的WinImage、Linux下的dd等;exe格式是由WinImage生成的自解压文件,可在任何win32环境中运行并直接将内容写至物理软盘片。您可根据需要下载方便使用的格式。

启动软盘(含RTL8139、Intel PRO/100、AMD PCNet、DC21x4四个系列的网卡驱动)............... [img] [exe]
PCI网卡驱动盘(含48种驱动,可自动检测280种PCI网卡) .................................... [img] [exe]
所有网卡驱动(含上述PCI网卡及若干ISA、PCMCIA网卡,非PCI网卡须手工选择) .................. [img] [exe]

常用的包驱动应用程序(若盘内含有RUNME.bat则为预先配置配合上述启动盘使用,启动后直接运行runme即可)
Arachne图形方式浏览器,不支持中文 .......................................................... [img]
Lynx文本方式浏览器,可支持GB2312编码的网页 .................................................. [img]
FTP、Telnet客户端、RRCDOS服务端、Ghost 7.5、NetCopy网络硬盘复制 ............................. [img]
其它包驱动程序 ............................................................................ [rar]

启动光盘范例
这个范例是为方便测试而提供的,因此比较简陋。因为存储空间限制单个文件不能超过10M,所以删去了个别文件,并且网卡驱动包使用的是较小体积的仅PCI网卡的那个。若需要换成完整的驱动包,可下载那个完整驱动包的软盘,以其中所含的文件代替光盘中\NDISDRV目录里原有的文件即可。下载
其它相关下载请见下文中的链接。
坦率地说,这个工具不是完全“傻瓜型”的工具,使用的人光对DOS熟悉还不够,必须了解一些关于网络的知识。建议使用者耐心把本文看完,尤其是后面技术信息中的一些内容,也许会对不熟悉的人多点帮助;如果是在虚拟机上测试,还请阅读后面关于虚拟机网络配置的一些说明。需要帮助可以来信,我会尽量回复。

对各菜单的说明
启动菜单针对不同的需要而设置。了解了各个菜单的设置意图,用的时候就会感到方便了。

第一级菜单用于选择正常启动用的内存模式、外加一个“干净启动”的选择:

DOS only, with utilities cached to ramdisk
Data Storage support (CDROM/USBHD/UDMA etc.)
Network support only
Network + IDE/USB/PCMCIA CDROM support
Clean boot options (edit.com available)
各选项用途如下:
1.  仅启动DOS并将常用程序展开到虚拟盘;
2.  启动时加载外接存储设备驱动或UltraDMA驱动;
3.  启动网络支持,但不含光驱等设备支持。若是用软盘启动或网卡驱动已保存到启动盘上,用该选项启动能更节约内存;
4.  启动网络支持并加载外接存储设备驱动。若是用下文中推荐的方式做成启动光盘,则请用该项启动以便能访问网卡驱动包。
5.  几种常用的干净启动模式(仅加载DOSKEY,可使用EDIT.COM对启动配置进行编辑),里面。

若选择上述选项2或4,则需要手工选择要加载的外接存储设备驱动程序的类型:

IDE CD
USB CD/HD/FD + IDECD
1394/Firewire CD/HD + IDECD
PCMCIA CD + IDECD
UltraDMA HDD                          <-- 该项在选择网络支持时没有,反正这时通常用不着那么高速度。
<<< Return
注意这里选择2、3、4启动后A盘会被替换成一个只读的内存盘,所以软驱将不能用了(这是为防止加载那些设备的驱动程序时会造成设备被复位,从而导致启动到一半时找不到引导文件,所以要用RAMFD来建立一个内存盘把启动盘内容预读进来),这种情况下就不能直接使用额外的软盘来加载网卡驱动包了(但可事先用软盘启动,不选存储设备支持,把检测出的网卡驱动保存在启动盘上再重新启动,这样就无须更换软盘了)。

启动网络支持时(第一个菜单里选3或4后),其中包含的一个基本驱动包会显示一个只有4种网卡驱动的菜单、外加0和9两个选项(做成光盘引导时不会出现9,可将驱动包里那个DrvPk??.exe放在光盘的 \NDISDRV 目录里,用带IDE光驱支持的选项启动,一般就能自己找到驱动包;也可把启动软盘映像改成288的,把驱动包文件放到软盘映像的\NET目录里):
[0] Do not start network support at this moment
[1] RTL8139 based PCI NIC
[2] Intel Pro/100ve/vm PCI NIC
[3] AMD PCnet Family PCI NIC
[4] Digital Semiconductor DC21X4 series
[9] I have the Supplemental Driver Pack diskette

选0会停止加载网络,1~4分别可用于:

台式机常见的RTL8139及兼容网卡
笔记本常见的Intel Pro 100vm网卡(台机上的Intel Pro 100ve也能用)
VMware虚拟机用的AMD PCnet系列网卡
微软或Connectix的Virtual PC产品用的DC21x4系列网卡
如果制作了驱动包软盘,此时可以把启动盘取出换上驱动包软盘,然后按9。如果在驱动包中找到了能用的驱动,又希望能将该驱动保存在启动软盘上的话,可以在屏幕提示时选择保存、并将启动软盘放回。这将删除启动盘中原有的4种网卡的基本驱动包,这时启动盘上有大约70K左右空间,除少数网卡的驱动外都能保存进去。保存后以后再启动时就不会出现这个网卡选择的菜单了。

扩展的驱动包软盘可自动检测约50种PCI网卡(兼容产品不在计算之中),另可手选40多种ISA卡和PCMCIA卡。

检测到多网卡时也须手选,但因有些驱动不支持用来指定网卡的配置参数,所以有时还会出现驱动找不到网卡的问题。

之后就是网络支持的主菜单了。其中包含了若干典型的网络应用模式:
(注:本部分有新改动——06.11.11)
[0] Do not load network support at this moment.
[1] Packet Driver only
[2] MS Client - TCP/IP with Packet Driver support
[3] MS Client - TCP/IP
[4] MS Client - NetBEUI
[5] MS Client - IPX (MS NWLink).
[6] MS Client + Peer Server - All above protocols
[7] PPPoE dialup link (Packet Driver).

大体上分成对两类典型应用的支持:一类应用是基于微软网络客户的访问(通常是访问局域网上的共享文件夹这样的资源)此处称为“客户级的访问”;另一类通常是通过包驱动接口使用TCP/IP协议访问局域网或公网上的主机所提供的服务(例如HTTP浏览、FTP下载、用Ghost以对等克隆或者单播/多播/广播方式的克隆等),以下称为“包驱动应用”。

这两类应用本来是位于两个层面的内容,本身是可以同时存在的,但是对于DOS应用来说,由于内存的限制,一般来说同时使用两者是不必要的,所以在这个菜单里基本是把两类应用分开来提供的(选项2是个例外,它可同时供两种需要使用,但是剩下用来运行程序的内存一般也就400K左右了)。详见下文说明。

选项1、2、7都可以为包驱动的应用提供支持。其中1和2用于访问局域网内资源、或通过路由网络来访问互联网资源;7则是专门为了用于使用与本机网卡连接的DSL猫通过PPPoe拨号连接来直接访问互联网上的下载资源而提供的。
在使用局域网或路由网络使用包驱动应用时,通常选项1是最有效率的选择,因为这种模式下加载的东西最少、要配置的内容也少,不仅启动的速度快,而且留给应用程序的可用内存较多,所以此项是推荐的选择。而选项2在最近的版本中发生了变化,目前的选项2能同时支持包驱动应用和基于MS TCP/IP的对Windows共享的客户级访问。对两种情况来说这样会很方便:一种情况是用Ghost时,既可以用Peer和Cast的方式、又能访问映射成逻辑盘的网络共享上的文件;还一种情况就是索性把那些如Lynx、Arachne这类包驱动应用软件直接放别的机器的共享文件夹里映射成逻辑盘上运行。这类程序往往个头都不小,没光驱的时候从网络上执行的确比用软盘省时省力。

这种同时支持两类应用的配置是这个启动盘很早以前的版本使用的方式,因为那时候我自己主要是用这个盘来帮助复制工控机的硬盘。99年后要应付更多相对复杂的情况,这种方式就经常因为内存不够弄得许多程序运行不了(那时候用DPMI以及DOS Extender等技术的程序还不是很多,所以这个问题比较讨厌;现在情况稍微好些,至少大多数重要的包驱动应用都用了DJGPP,你别看他们个头大,但实际执行起来有400K内存就能跑),后来就把这两类应用分开了。现在恢复这个一度被抛弃的方式的原因说穿了就是因为Ghost又热了起来,此外就是觉得在没光驱的时候,象Ghost什么的或者DJGPP应用程序可以考虑放共享里运行。

说到这儿请君听我一言,我还是建议你别太相信Ghost。我从5.1的版本就开始用那个东西,但我只敢用它来复制,却从来不敢拿它来备份,尤其是开了压缩时。希望你明白其中的区别,复制出问题一般当时就知道了,备份要是出问题就要出人命了。当然,发展到现在的8.3的版本估计问题少多了,那么多人敢用也许能说明新的版本还比较安全。但我因为余悸未消所以没真仔细试过用它备份。近4年里我一直用Acronis,连服务器的阵列都用这东西救回来过两次,感觉反正比Ghost踏实得多。这几段是些废话,随便看看当聊天吧。

这个启动盘里也曾有过另外一种选项2,比选项1多加载了MSTCP模块。提供这个模式的初衷是用来改善在通过DHCP获得IP配置的情况下改善速度,现在索性针对本文后面可下载的配置好的Arachne、Lynx程序(软盘里的和范例光盘都有)提供了专门的改善方法(具体请看盘中RETIP.bat文件)。这种配置模式从现在的菜单里去掉了,要使用这种配置模式,可在出现上面的网络菜单时选0退出,然后在命令行执行

MSNET  PD  

来手工启动。

选项7提供通过与网卡连接的DSL modem建立PPPoe连接的能力,实质上就是在物理网卡的包驱动上加了一层PPPoe封装。不过由于各地DSL规范的不同,这里选用的PPPoe驱动程序(PEPA)可能不一定能广泛应用(我在北京电信的ADSL上试过能用,其它符合欧洲标准的也应该可以)。有可能你需要修改ADSL.bat文件来使其配置符合自己的使用。

选项2~6是提供对微软网络客户的支持,相当于在Windows系统的网络配置里绑定了那个“Microsoft网络客户端”服务,说通俗点就是能访问共享文件夹等资源。
其中2也可用于包驱动应用,这已在前面说明过(整体来比较的话,选项2就是选项1和3的合并。它比1多了3的客户访问部分,比3多了1的包驱动部分)。此处不多赘述。

其中3~5是用不同的协议仅启动客户端功能,就是说能访问网络共享,但是自己这台机器不能提供共享;6则可在这台计算机上设置共享,以允许其它电脑访问。

6的用处除了可以把这台DOS计算机当成文件和打印服务器外,更实际的用处是:有时我们需要的文件在一台没有设置共享文件夹的Windows计算机上,但是在那台机器上却只有个普通用户帐户(设不了共享),这种情况下可在DOS机上用模式6启动网络,并用 net share myshare=d:\incoming /full 这样的命令把DOS机上的文件夹设置为可写的共享,Windows机器的普通用户就能从那台机器上把需要的文件复制到例如\\dossvr\myshare 这个共享文件夹里了。

由于6用得少,为简化选择考虑,在这个模式下会加载TCP/IP、IPX兼容协议和NETBEUI三种协议,所以启动后剩下的内存就很少了(基本上也就能用来复制文件了)。

关于微软网络客户要注意的两个问题:

输入工作组名字的时候一定要保证这个组里必须有至少一台配置有相应协议的“Samba服务器”(就是启动了Computer Browser服务的Windows机器、或开了Samba支持的Linux主机),否则DOS机找不到其它电脑,反之亦然。

在登录到NT域时,提供共享的计算机和提供鉴权的域控制器都必须启动Net Logon服务,如果是Windows 2000/XP的计算机,还要注意有关的安全策略中的设置。
关于如何输入IP地址、机器名什么的就不用说了。这里要提醒用过MS Client的人,若是自己指定IP,在那个黄色的提示后面请输入用点分开的IP地址,如192.168.0.10、255.255.255.0等,别按MS Client的默认方式用空格分隔。
至此,关于各个菜单就都介绍完了。使用方面其实没什么好说的,用MSTCP的,可以用ping测试一下;用微软网络客户的可以net view一下;ADSL拨号的……嗬嗬,这个就别用那个pdping测试了,反正我没拿它测通过几次,把它包含在盘里是用来激活PEPA建立拨号连接的。真要用来试拨号的话,建议直接用lynx连一下google什么的,一般能出现“MAKE HTTP connection to ...”就说明能找到DNS了(就是说,前面的链路层和IP层都ok了)。

技术信息

一些对不熟悉DOS网络应用的人的帮助
大体上和Windows下的网络支持具有相似的层次,MS Client中也包含相应的“网卡”、“协议”和“网络客户”几个层次的内容。但是包驱动则是独立的一支。这里提供的网络启动盘中的网络连接是大体符合下面的结构的:
  基于包驱动的应用程序                   基于微软网络客户的对网络共享的访问         |                                         |     dis_pkt.dos                    MS Client提供的三种协议及微软网络客户         |                                         |         \-------------------+---------------------/                             |                    PROTMAN.EXE和网卡驱动模块
可以看出,包驱动支持是独立于MS Client提供的几种协议的,就是说它不需要MS Client的任何协议的支持就能运行,也能和它们自由组合。另外,这也意味着基于包驱动的TCP/IP应用程序完全不使用MS Client的TCP/IP支持。所以如果用MS Client自带的ping.exe去测试用包驱动建立的PPPoe连接就是驴唇不对马嘴了。

启动盘里提供了一个pdping.exe是个基于包驱动的ping工具,注意它使用的不是ICMP而是TCP来ping的。不幸的是因此它需要知道自己的IP地址才能工作,而启动盘里建立PPPoe连接的ADSL.BAT脚本为了简化工作,一律把自己的IP地址设成一个假的255.255.255.254,这对象Arachne或Lynx等很多别的实际应用来说是没什么影响的,可是却使这个pdping工作起来不正常了。所以不要用它来测试PPPoe连接,建议直接用Lynx打开个网站直接看一下就知道能不能用了。ADSL.BAT是toggle型的工作方式,第一次运行是拨号,第二次是挂机。本文其它部分还有一些关于PPPoe支持的说明,在此不赘述。

对wattcp应用程序来说(使用包驱动的一类),必要时可以直接修改环境变量或wattcp.cfg文件中的配置,大多数情况下不用重新启动电脑、只要重新进入一下要用的应用程序就可以,因为这里面的配置不驻留在内存里。而在使用MS Client的协议时,变更了配置必须重新启动。

关于通过微软网络客户访问共享资源的一些注意事项也在前面提到,你必须自己用net use建立对其它机器上的网络共享的映射,或用net share在本机上创建共享。需要的话请看net help提供的简单帮助。

使用Ghost进行网络镜像的问题
以我自己遇到的问题来看,7.5版本的Ghost总体上比8.x的版本稳定。8.x的版本甚至在本地盘上操作时有时都会异常退出。
在用TCP/IP的Peer方式进行网络镜像时,7.5版的稳定性显然比高版本的更好。

在在访问用微软网络客户映射的本地逻辑盘时(指启动微软网络客户后,用类似 net use z: \\server\ghost 这样的命令将网络共享映射为Z:,然后在Ghost中用Local方式访问该盘),高版本的相对正常一些,但毕竟让人有点不放心。

有些机器上使用GhostCast方式时,如果找不到多播服务器,可以试试在启动后显示网络模式菜单时先选0退出到提示符下,用下面命令设置一个环境变量:

set pdmode=6

然后运行 msnet 回到网络模式菜单启动网络,该操作可解决有些情况多播连接方面的问题。该问题更详细的说明请参见以下Symantec文档:

Ghost网络启动盘疑难解答
How and when to modify the Wattcp.cfg file
另外一个问题是,Ghost自己带的1.18版的dis_pkt.dos在VMware虚拟机上用时似乎有问题(VPC上可以),所以启动盘里放的是个老点但没出什么问题的1.15版,需要使用1.14或1.18版的可以在运行msnet前手工设置环境变量DISPKT后再运行msnet:

set dispkt=118     使用1.18版
set dispkt=114     使用1.14版
set dispkt=dos     使用默认的1.15版

使用PEPA时的问题:
PEPA的最大缺点是缺乏错误提示,虽然在文本屏幕时右上角有个状态显示灯,也能通过在pepa.ini里使用“-l”来显示些附加的细节,但都不够直观和详细(需要的话可去下载pepa 1.9的完整zip包看看里面的readme.htm,不过别抱太大希望)。


连接后一般要等几秒钟再启动网络应用程序(要等PPPoe连接成功)。

挂断后不要马上重拨,也要等上几秒。这是因为软件采用的挂机方式其实只是把PEPA卸载掉,然后被动地等局端设备实际挂断。要小心有时局端设备没真把你挂断(ADSL不是包月的就惨了),这时重新拨号后会不能访问网络,这就需要把网线断开几秒钟或者重开一下DSL modem。
PEPA的未注册版本只能用30分钟,之后没任何提示,但访问网络时什么都收不到。可以运行两次ADSL.bat(相当于重新拨号)来继续使用。


用启动软盘制作启动光盘的说明
可将光盘设计为软盘引导仿真方式,并将该软盘镜像文件作为引导用的镜像文件添加到光盘中,并在光盘根目录下建立一个名字叫NDISDRV的子目录,将驱动包软盘镜像中的文件(例如DrvPk!FP.exe)放在这个目录下,用户用此光盘引导时在启动菜单中选那个“Network + IDECD”的项即可自动用该驱动包来检测网卡。

也可以使用大于1.44M的虚拟软盘镜像,把驱动包放在\NET目录里,效果也是一样。不过这样做有个问题就是那个加载USB光驱、软驱支持的选项2时,因为RAMFDD不支持超过1.44M的软盘格式,所以若是用USB光驱或软驱启动时就会在启动到一半的时候停住。但是对只需要网络应用的情况来说可以索性把那些应用程序也放在启动映像里,不用光盘就是了。
直接安装于虚拟机硬盘的方法
如果你喜欢偶尔玩玩DOS,想在虚拟机上装个DOS系统玩玩DOS网络的话,可直接将虚拟机的C盘用format c: /s 格式化,然后把软盘上的目录和文件原封复制到C盘里,驱动包文件可放在c:\net目录里,不用修改什么文件。这样可直接从C盘启动,功能和软盘启动基本相同,不过保存网卡驱动时不会删除C盘上的基本驱动包。恢复网卡选择单时只要留下c:\net目录里名为 dosnetx!.exe 和 drvp*.exe 的文件即可。

如何删除保存的网卡设定并恢复网卡选择菜单
对软盘来说,最省事的办法是重新用镜像文件做张新启动盘。如果是手工操作,可删除软盘上\net目录里 除 dosnetx!.exe 外的其它文件,再把镜像文件中的基本驱动包drvpk!.exe复制到软盘的\net目录里即可。



--------------------------------------------------------------------------------



在虚拟机上调试网络时要注意的内容




对于习惯使用一种操作系统(例如Windows XP)的用户来说,虚拟机产品无疑是调试用于其它系统环境的软件的好工具。常见的个人用虚拟机产品主要是 VMware Workstation 和 Microsoft 从 Connectix 那里买来的 Virtual PC (所以Connectix VPC也算这个一类),高端的 GSX Server 和 Virtual Server 我没用过,但道理上应该是一样的。

在网络设置方面 VPC 和以前的版本比变化不大(还是一样的简陋),而 VMW 早先的版本是不象现在那样可以让用户自己设置那么多的(Virtual Network Manager 好像是 3.0 还是 4.0 才有的,我对 2.0 版本的印象太深所以记不清楚了),所以下面的内容主要针对 VMW 4.x 和 VPC 2004 SP1。



虚拟机客户系统的网卡模式

先从虚拟机上客户系统的网卡模式说起。这两种虚拟机上,客户系统可用的虚拟网卡模式都是三种:

桥接:VMW 的选项叫 Bridged、VPC 上是那个真实网卡的名字;
共享:VMW 是 NAT、VPC 上是 Shared;
仅限宿主:两个都叫 Local only。
三种设置方式中,仅限宿主方式没什么好说,也用得不多,但是桥接和共享两种就值得根据实际需要来选择了。

桥接方式简单说可理解为虚拟机在逻辑上和宿主机为并列的关系,仿佛虚拟机是直接连接到宿主机所在的网络设备上一样,换句话说,虚拟机、宿主机、和宿主机网络里的其它电脑或网络设备三者是在同一个网络里。

共享方式,从与桥接相比较的角度来说,可理解为宿主机是虚拟机和外部网络之间的一个网关,宿主机的物理网卡和宿主机网络里的设备在一个网络里,宿主机上另外有个虚拟网卡和虚拟机则在另外一个网络里,虚拟机访问外部的网络时,宿主机从这个虚拟网卡上收到的请求进行 NAT 转换,再从物理网卡发到外部网络,反方向也是一样。

在进行 PPPoe 拨号时,必须将虚拟机网卡设为桥接的方式。如果设成共享方式再拨号——用个不准确的例子来比喻,就仿佛用自己的电脑去拨局域网上另一台机器上的 modem 那样——虽然想得很方便,但实际不行。

类似的道理,如果希望从虚拟机通过客户方式来访问宿主机上的共享文件夹,也必须使用桥接方式(或仅限宿主方式)。如果用了共享方式,虚拟机上的网络客户就会报告网络上有命名冲突而无法启动。

实际中,使用共享方式还是桥接方式都能使宿主机成为和外界网络相联系的网关,问题是看怎么配置。共享方式的便利是实现网关功能的服务提供者是虚拟机产品本身的组成部分,而桥接方式时这个功能就要由不属于虚拟机产品组成部分的其它软件或设备来提供了。如果仅仅是需要路由功能,通常宿主系统(例如 XP)能够满足需要,但是稍微复杂点的需要,例如 DHCP,XP 就不能满足了。所以通常情况下,建议为客户系统选共享方式。


VMW 的 NAT Service 和 DHCP Service

如果你在宿主机的外部网络上有个 DHCP 服务器,你就能发现这桥接和共享两种方式的区别了:桥接时虚拟机能直接从这个 DHCP 服务器上获得 IP 地址(通常是和宿主机物理网卡的 IP 地址在同一网段上),而共享时在正常情况下(指宿主机上没开 DHCP Relay 服务的话),虚拟机根本无法找到外部的 DHCP 服务器。

所以在共享方式时,要想使用 DHCP 为虚拟机提供 IP 配置,只有两个办法:一个是宿主上开 DHCP Relay,把虚拟机的 DHCP 请求转到外边的 DHCP 服务器上(注意,NAT 是不能转发 BOOTP 和 DHCP 请求的,NAT 对 ICMP、TCP、UDP 这样的协议管用,但是 BOOTP 不行,这时候虚拟机连 IP 地址都没有,还怎么 NAT ?);另一个办法就是在这个虚拟网络里设置一台 DHCP 服务器——VMW 和 VPC 就是这样,它们由自己的组件专门为这个虚拟网络提供 DHCP 服务。这就是安装 VMW 后系统服务里会在多出来个 VMware NAT Service 的同时还多出来个 VMware DHCP Service 的原因。在 VPC 里其实也有这两个东西,只不过不是作为系统服务来安装的。

忘了从那个版本起,VMW 的编辑菜单里有了那个 Virtual Network Settings 项,现在的版本还把启动这个 vmnetcfg 程序的快捷方式放在了程序组里(2.0 时用户可以编辑一个名字也差不多的文本文件来调整 DHCP 的配置)。这个改进实在是让 VMW 的网络方面的功能大大地强过 VPC 。用这个东西就可以配置 VMW 的 DHCP 和 NAT 服务。

目前版本下这个 VM DHCP 服务其实没什么好配置的。需要的话可以变化一下各个虚拟网卡的子网、调整一下 DHCP 服务的 IP 地址范围(网段变不了,只能变主机部分)。

NAT 服务的设置倒是有时需要略微调整一下,例如有时可能需要为客户机上的服务加些 Port Forwarding,还有时需要在这里额外加上些互联网上的 DNS 服务器等等。具体的设置还是看 VMW 的帮助比较好。VPC负责DHCP Server功能的部分不允许自己设置DNS服务器,它的DNS服务器地址是直接使用绑定了Virtual Machine Network Service服务的那个物理网卡的IP配置中的DNS服务器地址,因此如果本地连接的IP地址是通过DHCP分配的,则要注意保证同时分配的域名服务器地址也是有效的,也可直接手工指定那个物理网卡IP配置中的域名服务器,否则可能导致在虚拟机里访问域名时解析失败(这个我自己遇到过好几次)。


在 VPC 上使用 VMware 的网络功能

VMW 至少在网络功能上无疑比 VPC 更强大,但是大多数时候我更喜欢用 VPC。它更快些,细节方面更便于使用,比如能方便地暂停虚拟机,VMW 要等半天;没装辅助工具时,VMW 在捕获键盘输入时也会捕获鼠标,必须要按 Ctrl-Alt 才能释放,VPC 就不用;还有 VPC 能方便地把客户机屏幕上的文本复制出来……所以这部分是为用着舒服写的。

同时安装了 VMW 和 VPC 时,打开宿主机的网络连接文件夹,在显示出的各个 VMnet 网卡的属性中钩选 Virtual Machine Network Service 那个服务,绑定后这个 VMnet 网卡就能出现在 VPC 的网卡菜单里了。VPC 其实是以桥接的方式来使用这个网卡的,所以真正的方式是由在 VM 虚拟网络配置中对这个网卡指定的工作方式来使用的。

我从 VMW 4.0 升级到 4.5 后发现 VPC 里找不到原来的 VMnet8 网卡了,后来才发现升级后原有的几个 VMnet 网卡的属性中都没有绑定 VPC 的网络服务,改了就好了。

不过有一点要注意,就是如果同时使用 VPC 和 VMW 的话(例如在用 Ghost 在两种虚拟机间复制硬盘时),应该分别为它们创建不同的 VMnet 虚拟网卡,不然两个会打架。

防火墙的问题

在虚拟机上调试网络应用时还要特别注意防火墙软件(XP SP2的Windows防火墙也算)的设置,无论是桥接方式还是共享方式。而且在配置防火墙时,更要耐心地注意每个物理的和虚拟的网卡上防火墙的设置。

除非特别必要,或者网络的逻辑结构实在复杂、而你需要集中精力去解决别的问题,否则无论什么情况,都不推荐完全关闭防火墙软件。

通常可以考虑选择地关闭虚拟机网卡的防火墙,再对本地连接和可能涉及的拨号连接分别适当地建立例外规则。一般情况采用这种步骤还是能兼顾安全性和方便性地解决防火墙造成的问题的。

总之除非特别需要,不要关闭防火墙或禁用本地连接上的防火墙,拨号连接更要谨慎。


关于虚拟机的其它方面的问题

虚拟机环境下网络的设置要注意的因素很多,但是没什么难懂的内容,遇到问题需要仔细分析。有时候虚拟机软件的版本升级也会会引起麻烦。

还一个例子是用 Ghost 在 VMW 和 VPC 之间复制虚拟机硬盘时,升级到 4.5 的总是出错,查了半天才发现因为升级到 4.5 后 VMW 的优先级设置被设为高优先级了,导致 VPC 老抢不到 CPU,从而造成没时间响应网络请求——这个例子的意思是有时候麻烦出在意想不到的地方。

关于Qemu

严格说,Qemu还没有复杂到能被算得上一个虚拟机宿主,而只是个仿真器,然而Qemu确实可以用来当虚拟机宿主用。

但是DJGPP的默认DPMI服务器CWSDPMI 0.9r5在目前的Qemu 0.8核心上似乎不能正确提供服务,在试图运行许多需要DPMI支持的程序时(例如Symantec Ghost,以及其它用DJGPP和DJGPP2编译的基于包驱动的TCP/IP应用程序),总是得到“Load error: no DPMI selectors”这样的错误,这种现象在VMW和VPC上没有出现过。不清楚导致该问题的具体原因,但EMM386这类内存仿真程序能在Qemu上仿真出多达190K的UMB来,我觉得这其中应该有一定联系。另外一个问题是如果在加载EMM386时使用HIGHSCAN参数会导致挂机,相信这两个问题都和Qemu核心的内存仿真部分有关。

作为权宜的方法,可以使用HX DOS Extender中的HDPMI32代替CWSDPMI为应用程序提供DPMI服务。可以在Qemu上用命令行

loadhigh HDPMI32.exe -r

将HDPMI32加载在UMB中(Qemu提供的UMB那么大,确实有好用的地方)。这样解决后就可以象在其它环境中一样运行这些需要DPMI支持的程序了。

如何在批处理文件中检测出上述几种虚拟机宿主?

我的办法是用下面这个文件,它利用pciscan检测虚拟机的PCI控制器返回的cpu、pci控制器及虚拟显卡几个基本上不会缺少或变化的部件的信息来判断是哪种虚拟机宿主。要注意的是,这只能对付模拟了pci控制器的虚拟机宿主环境,对没有pci控制器(例如仅模拟ISA架构的qemu配置)则无效。再有就是如果某台真正的电脑的cpu、pci控制器和显卡完全和某种虚拟机上的型号一致,那就会搞错。因此这个方法仅供参考:

@if .%debug%==. echo off
if .%ramdrive%==. goto _no_ramdrive
for %%f in (%path%) do if exist %%f\pciscan.exe goto _ok_pciscan
echo %0: requires pciscan.exe in path.
goto _eof

:_ok_pciscan
for %%f in (%path%) do if exist %%f\xgrep.com goto _ok_xgrep
echo %0: requires xgrep.com in path.
goto _eof

:_no_ramdrive
echo %0: RAMDRIVE variable has not been set.
goto _eof

:_ok_xgrep
for %%f in (%path%) do if exist %%f\lmod.com goto _ok_lmod
echo %0: requires lmod.com in path.
goto _eof

:_ok_lmod
set $=%ramdrive%\$
pciscan -v>%$%
echo @echo off>%$%.bat
: data for vpc
xgrep -cy "8086 7192 .+CPU/PCI" %$%|lmod /l1 set vm1cpu=[]>>%$%.bat
xgrep -cy "8086 7110 .+PCI/ISA" %$%|lmod /l1 set vm1pci=[]>>%$%.bat
xgrep -cy "5333 8811 .+VGA" %$%|lmod /l1 set vm1vid=[]>>%$%.bat
: data for vmw
xgrep -cy "8086 7190 .+CPU/PCI" %$%|lmod /l1 set vm2cpu=[]>>%$%.bat
xgrep -cy "8086 7191 .+PCI/PCI" %$%|lmod /l1 set vm2pci=[]>>%$%.bat
xgrep -cy "15AD 0405 .+VGA" %$%|lmod /l1 set vm2vid=[]>>%$%.bat
: data for qemu
xgrep -cy "8086 1237 .+CPU/PCI" %$%|lmod /l1 set vm3cpu=[]>>%$%.bat
xgrep -cy "8086 7000 .+PCI/ISA" %$%|lmod /l1 set vm3pci=[]>>%$%.bat
xgrep -cy "1013 00B8 .+VGA" %$%|lmod /l1 set vm3vid=[]>>%$%.bat
:
if exist %$%.bat call %$%.bat
for %%f in (%$% %$%.bat) do if exist %%f del %%f
set vmhost=
if not .%vm1cpu%==.0 if not .%vm1pci%==.0 if not .%vm1vid%==.0 set vmhost=VPC
set vm1cpu=
set vm1pci=
set vm1vid=
if not .%vm2cpu%==.0 if not .%vm2pci%==.0 if not .%vm2vid%==.0 set vmhost=VMW
set vm2cpu=
set vm2pci=
set vm2vid=
if not .%vm3cpu%==.0 if not .%vm3pci%==.0 if not .%vm3vid%==.0 set vmhost=QEMU
set vm3cpu=
set vm3pci=
set vm3vid=
if not .%vmhost%==. echo Virtual Machine type is %vmhost%.

:_eof
set $=

把它保存为vmdetect.bat,并且保证路径中能访问pciscan.exe、lmod.com和xgrep.com这几个工具程序,需要测试时call vmdetect,然后检查vmhost环境变量的值即可(要注意大小写)。这里是用VMW、VPC、QEMU分别表示VMware Workstation、Microsoft Virtual PC 2004和Qemu,如果调用该批处理后没有设置vmhost变量,则表示是在真实电脑或其它类型的虚拟机上运行。




--------------------------------------------------------------------------------

其它软件下载地址和技术信息





MS Network Client 3.0 和 MS Workgroup for MS-DOS 补丁

下载地址:msclient安装文件1 msclient安装文件2 wg1049补丁
说明:
msclient 本身不提供服务功能,需要在DOS中设置共享的话,可在安装msclient后用wg1049补丁中的文件替换msclient目录中的四个文件即可使用 net share myshare=d:\mydir 这样的命令设置共享。
MS LAN Manager 2.2c

下载地址:安装文件1 安装文件2 安装文件3 安装文件4
说明:
msclient不支持NT无盘站启动,对此类需要须使用mslanman。
PEPA 1.9 - DOS 下的 PPPoe 连接程序

原版下载

Lynx 2.85 rel 1 - 文本Web浏览器

下载地址:DOS版本原版下载 直接用于范例启动盘的软盘镜像
说明:因为是文本界面,所以可在中文系统中浏览该中文系统能支持的字符集的中文网页。
Arachne 1.90J1 - DOS 下的图形界面Web浏览器

下载地址:DOS版本原版下载 直接用于范例启动盘的软盘镜像
说明:由于这个版本使用的svgalib不支持中文、且DOS下的中文系统无法提供对经svgalib输出的图形方式的文字中汉字的支持,因此目前该浏览器只能浏览若干欧洲语言的网页。

WATTCP

说明:WATTCP本身没有提供什么具有实用性的应用程序,它主要是提供了一个供开发使用的基于包驱动的TCP/IP库,也包括一些基本的网络测试工具。较早为实模式开发的工具由于实模式本身的限制太多,其应用比较有限。后来结合DJGPP和DOS扩展器等工具开发的32位保护模式下的Watt-32则包含了更强的功能,也更具实用价值(这里面的ftp和telnet客户端是我个人觉得其同类程序最好用的,单弄出来放在这里)。
下载地址:实模式的工具包 Watt-32开发包 用watt-32开发的一些应用程序 我把其中一些较实用的打包放在这里
PC Pine - 文本界面的IMAP/POP3客户端

下载地址:基于wattcp的3.96版 基于wattcp的3.91版(稍小)
VNC - 基于wattcp的远程客户端

说明:通俗、但不准确地说,VNC (Virtual Network Computing) 有点类似于pcAnywhere或者Windows终端服务,不少Linux用户都比较熟悉。也有厂商提供Windows系统上和MacOS下免费或商业的VNC服务端程序,此处不提供服务端程序的下载链接,下面的链接只是DOS下的客户端程序。
下载地址:DOS VNC Viewer 1.1  RealVNC 4.0



发表于: 2006-11-21 ,修改于: 2006-11-21 16:21,已浏览993次,有评论2条 推荐 投诉  

  

  

网友评论

内容: 不错!
你可以去网站发表一下。

本站网友评论于:2006-12-19 18:48:07 (222.139.220.★)  


内容: 谢谢指导!

本站网友评论于:2007-01-12 17:33:57 (61.234.125.★)  




发表评论

[ Last edited by shanliang8008 on 2007-10-10 at 03:28 PM ]

   此帖被 +6 点积分          点击查看详情   
评分人:【 AlexZhang 分数: +2  时间:2007-7-26 17:12
评分人:【 429499381 分数: +4  时间:2008-1-13 04:59


2007-7-12 04:20
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
lizhenduo
初级用户




积分 190
发帖 29
注册 2003-6-24
状态 离线
『第 2 楼』:  

这是我最喜欢一个DOS网络启动盘,符合我的习惯,我一直在用.他的网卡自动加载驱动及输入ip地址功能我觉得很好.但是,我最常用的是网络资源共享部分,既访问及copy网络上的文件,因此,批处理文件对我来说过于庞大.我只要里面的 Network support only 部分,请求精简.烦请说一下自动搜索网卡并加载驱动和输入ip地址等的原理和方法。谢谢!

2007-7-26 16:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
rogers
初级用户





积分 34
发帖 14
注册 2007-7-27
状态 离线
『第 3 楼』:  

这么多阿,眼晕头晕………………



突然喜欢dos,就爱上了!
dos让人变得聪明,让人变得强大
2007-8-2 15:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ngdao
初级用户




积分 20
发帖 11
注册 2007-8-2
状态 离线
『第 4 楼』:  

安装过Windows\Linux\UNIX,也试着从光盘\硬盘 安装系统,就是没试过通过网络安装DOS,值得学习!

2007-8-2 23:41
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
benq1127
初级用户





积分 22
发帖 11
注册 2006-11-16
状态 离线
『第 5 楼』:  

有没有图片的介绍啊!!

2007-8-28 22:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: