利用Ubuntu+LTSP实现Windows无盘终端(转自ubuntu中文社区)

好些年前,Windows 2000自带了终端服务器,我就希望能够做出无盘Windows终端,看了不少资料,费了不少时间,但还是没有搞成,后来市面上出来了不少无盘终端套件,听说配置起来挺简单的(我没有试过),但对无盘电脑的配置都有特定要求(如某型号的显卡),这样就限制了我们的使用(通常我们淘汰出来的电脑都是各式各样的),前段时间,在网上溜达时发现了一个叫“LTSP”的玩意,原来是一个搞Linux终端的项目,由于Linux原生的远程启动能力,做一个Linux 的无盘终端应该是一件轻松的事,于是就萌发了利用LTSP搭建一个Linux的终端服务器,通过rdesktop登录到Windows终端的想法,这样一来,用Linux无盘做中转,就可以轻而易举的完成Windows的无盘终端了。

首先,要介绍一下LTSP(Linux Terminal Server Project),简单来说,它就是一个Linux下的终端服务器项目,让你的老式机器,能够通过远程启动,变为一台无盘终端,享受与服务器硬件性能相当的服务;如果你对它有兴趣,详情请参阅:www.ltsp.org。LTSP可以安装在多种Linux发行版中,我在这里以Ubunut为例,但 Ubuntu下的LTSP与LTSP的正式发行版有点不一样,因为Ubuntu是采用最“前卫”的技术(详情可查阅“MueKow”http: //wiki.ltsp.org/twiki/bin/view/Ltsp/MueKow),可能与该网站中的正式发布有些区别。在Ubuntu多个衍生版中,以Edutubnt最为简单,因为Edubunt集成了LTSP,并已经基本配置好(DHCP需要根据实际情况修改一下)。

在实际的使用环境中,你可能需要以下硬件:
1.淘汰的旧电脑N台(128M内存+2M显卡+支持BootROM的网卡);
2.Linux终端服务器1台;
3.Windows终端服务器1台;

我建议:
1.淘汰的旧电脑N台(128M内存+2M显卡+支持BootROM的网卡);
2.比较强大的服务器1台(安装Edubunt作为Linxu终端服务器,在上面安装一个VMWare,在装一个Windows 2003作为Windows终端服务器,节省一台电脑和无数的电费)


服务器安装:
1.常规安装Edubuntu(这步若有困难,建议先。。。)
2.安装VMWare
2.1下载VMWare Server,VMWare Server现在是免费的了,不用再找破解了,可登录到:www.vmware.com下载,填写一下注册信息就会免费给你注册码,现在还是Beta,但VMWare承诺正式版也是免费的。
2.2将压缩包解压到你的home中备用(不会解压?我也不记得命令,反正鼠标右键-解压到此处即可);
2.3用新立得安装“build-essential”包(最好得用新立得,因为还有很多关联包要安装,用apt-get命令比较罗嗦);
2.4用新立得安装你对应内核的头文件,大概是Linux-headers-2.xx-xx-x86的那个包,看你自己安装的是那个内核,如果不知道,在GRUB启动菜单中有显示;
2.5启动一个终端,改变当前目录到2.2解压的目录,运行sudo ./vm*.pl
2.6闭上眼睛,一路回车(要么你就幸运的装上了,要么你就不幸的失败了,若有问题,可再开一个贴子相互切磋一下)。
3.利用VMWare安装一个Windows 2003(其实Windows 2000 Server也可以,但Windows 2003的终端服务更优);

客户端:
1.淘汰的旧电脑,最好有128M内存+2M显存的显卡;
2.一张支持BootROM的网卡;
3.一个与网卡相一致的BootROM;
3.1下载一个BootROM映像,到这个网站http://www.Rom-o-Matic.net,可以下载到常见网卡的BootROM映像,根据你的需要,还可以自定义参数(入门者选默认即可)。
3.2将BootROM映像写到E/EEPROM中,这一步比较麻烦,因为写BootROM需要专门的设备E/EEPROM编码器,一般人没有,也不值得为这事买一个。我建议带上你的BootROM映像文件,到附近的电子城,找一家卖IC的,给点钱他们写就可以了,一般连E/EEPROM10元以下即可。最好带上网卡,因为E/EEPROM的种类很多。

将服务器和客户端接到HUB上,当服务器启动完成后,启动客户端,过一会,应该就会出现一个称为LDM(LTSP Desktop Manager)的登录界面,什么?没有出现,我也没办法了,因为我还没有到达排错的功力。

特别推荐:如果你只是做测试,你无须一台物理电脑,只需在VMWare中虚拟一台只有网卡的电脑即可,因为VMWare虚拟的网卡自带支持PXE的BootROM。

经验:
1.无盘终端启动Edubuntu 6.06比5.10快2-3倍;
2.服务器改名或改IP后,需要重新生成SSH KEY,必须运行命令:sudo ltsp-update-sshkeys,否则无法登录;
3.注销后再以该用户登录,需等30秒,否则登录失败(网上的文章说30秒后原Session才会被“杀”)。


参考:
1.LTSP的配置,Edubuntu应该都预配置好了,希望你不会遇到任何问题,如需修改DHCP的设置,请参考:https: //wiki.ubuntu.com/LTSPServerSetup,如果更不幸的事情发生,请查阅:http: //www.ltsp.org/documentation/ltsp-4.1/ltsp-4.1-en.html;
1.Windows终端的配置,介绍的文章很多,可在Goolge中输入“win2000/2003终端服务全程图说攻略”查询;
2.Etherboot BootROM,详情参阅:http://www.etherboot.org;
3.配置lts.conf,请参考http://wiki.ltsp.org/twiki/bin/view/Ltsp/LtsConf;
4.Ubuntn中瘦客户端HowTo,https://wiki.ubuntu.com/ThinClientHowto
 

华铸
1楼

加入时间: 2005/07/12
文章: 25
来自: 中国 珠海
专家分: 742

 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要修改DHCP服务器的IP地址池选项,可以按照以下步骤进行: 1. 编辑DHCP服务器的配置文件/etc/dhcp/dhcpd.conf。可以使用以下命令打开该文件: ``` sudo nano /etc/dhcp/dhcpd.conf ``` 2. 在该文件中,找到以下示例代码段: ``` # Sample configuration file for ISC dhcpd for Debian # # Attention: If /etc/ltsp/dhcpd.conf exists, that will be used as # configuration file instead of this file. # # option definitions common to all supported networks... option domain-name "example.org"; option domain-name-servers ns1.example.org, ns2.example.org; default-lease-time 600; max-lease-time 7200; # If this DHCP server is the official DHCP server for the local # network, the authoritative directive should be uncommented. #authoritative; # Use this to send dhcp log messages to a different log file (you also # have to hack syslog.conf to complete the redirection). #log-facility local7; # No service will be given on this subnet, but declaring it helps the # DHCP server to understand the network topology. #subnet 10.152.187.0 netmask 255.255.255.0 { #} # This is a very basic subnet declaration. #subnet 10.254.239.0 netmask 255.255.255.224 { # range 10.254.239.10 10.254.239.20; # option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org; #} # This declaration allows BOOTP clients to get dynamic addresses, # which we don't really recommend. #subnet 10.254.239.32 netmask 255.255.255.224 { # range dynamic-bootp 10.254.239.40 10.254.239.60; # option broadcast-address 10.254.239.31; # option routers rtr-239-32-1.example.org; #} # A slightly different configuration for an internal subnet. #subnet 10.5.5.0 netmask 255.255.255.224 { # range 10.5.5.26 10.5.5.30; # option domain-name-servers ns1.internal.example.org; # option domain-name "internal.example.org"; # option routers 10.5.5.1; # option broadcast-address 10.5.5.31; # default-lease-time 600; # max-lease-time 7200; #} # Hosts which require special configuration options can be listed in # host statements. If no address is specified, the address will be # allocated dynamically (if possible), but the host-specific information # will still come from the host declaration. #host passacaglia { # hardware ethernet 0:0:c0:5d:bd:95; # filename "vmunix.passacaglia"; # server-name "toccata.fugue.com"; #} # Fixed IP addresses can also be specified for hosts. These addresses # should not also be listed as being available for dynamic assignment. # Hosts for which fixed IP addresses have been specified can boot using # BOOTP or DHCP. Hosts for which no fixed address is specified can only # be booted with DHCP, unless there is an address range on the subnet # to which a BOOTP client is connected which has the dynamic-bootp flag # set. #host fantasia { # hardware ethernet 08:00:07:26:c0:a5; # fixed-address fantasia.fugue.com; #} # You can declare a class of clients and then do address allocation # based on that. The example below shows a case where all clients # in a certain class get addresses on the 10.17.224/24 subnet, and all # other clients get addresses on the 10.0.29/24 subnet. #class "foo" { # match if substring (option vendor-class-identifier, 0, 4) = "SUNW"; #} #shared-network 224-29 { # subnet 10.17.224.0 netmask 255.255.255.0 { # option routers rtr-224.example.org; # } # subnet 10.0.29.0 netmask 255.255.255.0 { # option routers rtr-29.example.org; # } # pool { # allow members of "foo"; # range 10.17.224.10 10.17.224.250; # } # pool { # deny members of "foo"; # range 10.0.29.10 10.0.29.230; # } #} ``` 3. 在示例代码段中,找到以下注释的代码段: ``` # This is a very basic subnet declaration. #subnet 10.254.239.0 netmask 255.255.255.224 { # range 10.254.239.10 10.254.239.20; # option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org; #} ``` 4. 在该代码段中,取消注释并修改“subnet”和“range”选项的值,以设置要使用的IP地址池。例如: ``` # This is a very basic subnet declaration. subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; option routers 192.168.1.1; option domain-name-servers 8.8.8.8, 8.8.4.4; } ``` 在上面的示例中,DHCP服务器将从192.168.1.100到192.168.1.200之间的IP地址范围中分配IP地址。此外,DHCP服务器还将分配默认网关为192.168.1.1,并使用Google的DNS服务器地址8.8.8.8和8.8.4.4。 5. 保存并关闭文件后,运行以下命令重启DHCP服务,使更改生效: ``` sudo systemctl restart isc-dhcp-server ``` 现在DHCP服务器的IP地址池选项已经修改完成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值