引入:
网络化的程度越好,应用就会越高级,逻辑层次也会越高,直白点说就是动脑就会增多,而动手就会减少很多。集中控制学生机,依赖于机房中良好的网络部署。本设计要实现在教师机上对所有学生机的全权维护、管理。所有工作在通过远程达成,综合各种工具与自制脚本、结合个性配置,最终形成一套完美机房解决方案。
系统批量部署:
在教师机上搭建ClonezillaSE环境,将要克隆的包通过组播的方式进行分发。首次,部署后需要在单机上进行宿主机的配置,以后的克隆中不再会有。
学生机信息收集:
所谓信息收集,现在本人的理解就是收集所有机器的主机名、IP地址、MAC地址,且以最后一项为重,因为其没有规律。
第一步:在教师机(此处备注下,由于在博文中是首次提及,且并无相关博文阐述相关内容,所谓教师机就是在学生机的基础上安装了ClonezillaSE的机器,且可实现代理上网功能,当然是Linux系统。也可以不作为教师机而作为一个独立的服务器使用。)安装软件“nmap”
- $ sudo apt-get install nmap
第二步:采集局域网中主机信息。确保所有学生机均开机且处于联网状态。
- shenzhi@sz0850:~$ nmap -sP 192.168.0.0/24;clear;grep 0x2 /proc/net/arp
- Starting Nmap 5.21 ( http://nmap.org ) at 2012-04-23 09:50 CST
- Nmap scan report for bogon (192.168.0.1)
- Host is up (0.0013s latency).
- Nmap scan report for bogon (192.168.0.15)
- Host is up (0.00043s latency).
- Nmap scan report for bogon (192.168.0.99)
- Host is up (0.083s latency).
- Nmap scan report for sz08500103 (192.168.0.103)
- Host is up (0.00030s latency).
- Nmap scan report for sz08500105 (192.168.0.105)
- Host is up (0.0016s latency).
- Nmap scan report for sz0850-eth0 (192.168.0.106)
- Host is up (0.00030s latency).
- Nmap scan report for sz08500107 (192.168.0.107)
- Host is up (0.00097s latency).
- Nmap scan report for bogon (192.168.0.111)
- Host is up (0.0024s latency).
- Nmap scan report for bogon (192.168.0.113)
- Host is up (0.00065s latency).
- Nmap scan report for bogon (192.168.0.200)
- Host is up (0.00077s latency).
- Nmap scan report for bogon (192.168.0.201)
- Host is up (0.00071s latency).
- Nmap done: 256 IP addresses (11 hosts up) scanned in 2.45 seconds
- 192.168.0.102 0x1 0x2 00:25:86:96:5d:0e * eth0
- 192.168.0.111 0x1 0x2 00:30:18:a7:12:92 * eth0
- 192.168.0.100 0x1 0x2 00:0c:76:cc:2f:78 * eth0
- 192.168.0.15 0x1 0x2 00:30:18:a7:0e:0b * eth0
- 192.168.0.112 0x1 0x2 00:25:86:98:43:f4 * eth0
- 192.168.0.1 0x1 0x2 00:03:0f:10:d4:78 * eth0
- 192.168.0.201 0x1 0x2 00:10:20:18:24:68 * eth0
- 192.168.0.99 0x1 0x2 00:e0:0f:9c:81:c4 * eth0
- 192.168.0.103 0x1 0x2 00:25:86:97:60:c3 * eth0
- 192.168.0.107 0x1 0x2 00:30:18:a7:11:fc * eth0
- 192.168.0.113 0x1 0x2 d0:27:88:5e:47:9f * eth0
- 192.168.0.200 0x1 0x2 00:30:48:70:ea:d3 * eth0
- 192.168.0.104 0x1 0x2 00:1f:d0:67:96:cc * eth0
- 192.168.0.105 0x1 0x2 00:19:e0:1c:cb:ec * eth0
- shenzhi@sz0850:~$
上述的输出不甚理想,本人在研究后,通过以下命令实现了格式化输出,并可通过LibreOffice Calc软件进行排序等操作。当然excel也可以的。 由于本人将office2007安装到了Linux中,故下面就是通过excel2007打开。命令如下:
- shenzhi@shenzhi-desktop:~$ nmap -sP 192.168.0.0/24;clear;grep 0x2 /proc/net/arp|cut -b -16,42-59|tr -s " "|tr " " "\t">1.txt;/opt/microsoft/office2007/excel2007.sh 1.txt
在上述命令中我用到了:1、将多个空格合并为一个空格的命令tr -s " "。2、“tr”命令,用于将空格转化为TAB字符tr " " "\t"。
上述命令会自动过滤无用内容且格式化后打开Excel软件,效果如下:
至此,可以方便收集机房中的主机信息,只是主机名没有收集。不过信息够用就行。
实现远程唤醒:
1.安装所需软件wakeuponlan
- $ sudo apt-get install wakeonlan
2.查询帮助
由于本人也是第一次使用此软件,所以要查看帮助以确定如何进行操作。
- shenzhi@shenzhi-desktop:~$ wakeonlan
- Usage
- wakeonlan [-h] [-v] [-i IP_address] [-p port] [-f file] [[hardware_address] ...]
- Options
- -h
- this information
- -v
- displays the script version
- -i ip_address
- set the destination IP address
- default: 255.255.255.255 (the limited broadcast address)
- -p port
- set the destination port
- default: 9 (the discard port)
- -f file
- uses file as a source of hardware addresses
- See also
- wakeonlan(1)
- shenzhi@shenzhi-desktop:~$
经观察“-f”选项是我们所需要的,这里可以通过对第二步中的命令所生成的结果进行加工生成如下内容的文件:
此文件中“#”的意思为注释掉当前行。假设此文件名称为“wake.txt”,那么可以通过执行命令:
- $ wakeonlan -f wake.txt
来对学生机进行远程唤醒,如下图:
远程关机:
由于学生机的客户系统xp中已经安装了被控端软件,教师可以通过多媒体教学软件对客户系统进行远程关闭,而客户系统关闭会连带宿主系统关机(已经写了监控脚本)。
桌面广播:
[未完待续]
本文转自tiancong 51CTO博客,原文链接:http://blog.51cto.com/tiancong/841808