|
本文主要探讨如何以Linux架设一套虚拟网络系统供上课使用,教室内自成Intranet系统来仿真Internet教学。教室在不用对外联机的情况下,也可以看到与真实网站相同的内容、提供相同的操作,拥有Homepage空间及e-mail账号,同时阻隔色情网络污染教学,提供网络教学一个便利与干净的环境。探讨的主题就架设实务-硬件的状况、架设Linux时的相关设定、架设www虚拟站台、架设DNS、如何放入真实网站的数据,及使用及维护方面来讨论。
壹、 前言
网络教学,是信息教育中不可或缺的一环。但学校网络设备缺乏,带宽不足,加上整间教室同时上线导致网络速度缓慢,色情网站泛滥,e-mail账号及Homepage空间取得不易,使得许多学校即使能够对外联机,在网络教学上仍有许多困扰,更何况一些仍未对外联机的教室。为了解决这些问题,有些出版公司可替学校架设虚拟网站,提供已经装有网络卡联机的的教室,在内部使用。虚拟网站是事先从真实网站砍下来的数据,所以并不是实时的信息,但是却能解决大部份以上所说网络教学上的问题。虽然这种虚拟主机提供教学上很大的方便,但出版公司通常要求学生买书作为条件,然而在买书的议题上,又造成另一种困扰。有鉴于此,笔者提出一些以Linux架设虚拟网络的经验与各位分享,期能对有此需要的老师提供一些帮助。
貳、 架设实务
一、硬件的状况:
首先,教室的计算机中必须装有网络卡,并做好相关的设定。网络线无论是用同轴电缆(RG-58),或是用双绞线(RJ-45)的连接,不一定要对外联机,只要教室内局域网络有通就行了。
二、架设Linux时的相关设定:
有关Linux系统的安装,许多书籍都有详细介绍。但是我们必须要注意一些设定网络方面的问题。
安装到了Network Configuration,或执行netconfig来设定网络时,将需要输入Hostname 及 Domain name 。 Hostname 为被安装之主机名,
因为此虚拟主机并不需要对外连接,所以自己取名字就行了,但也可以取自己学校的名称,以松山高中计算机教室二为例,取名为c2.sssh.tp.edu.tw ,则Hostname 为 c2,而Domain name为sssh.tp.edu.tw 。
在LoopBack Only 的问题上应选择<NO>然后填入相关的数据:
1. Local IP Address :以松山高中为例输入203.72.64.150 ,这就是Client端
DNS的地址。
2. Gatway Address : 203.72.64.254
3. Netmask : 255.255.255.0
4. Nameserver : 回答YES,并将Domain Name Server 的IP Address设定为
虚拟主机的IP Address : 203.72.64.150
这样就完成虚拟网络中的netconfig设定。这里要注意的是,如果学校有连上Internet的话,上述4个步骤,可以填入真实的IP Address ,但Domain Name Server最好还是填入自己主机的IP Address。因为这样的话,不论学校网管中心的DNS是否当机或关机,都不会影响教室内的虚拟网络系统了。
三、架设www虚拟站台
在Linux下架设WWW Server有很多种套件,笔者就以阿帕器(Apache)为例。有关它的架设方法,书上也有详细介绍,但架设完成之后,要修改一些设定,才能符合我们的需求。
在httpd.conf中找到<Virtual Host>一行,并将<Virtual Host>到</Virtual Host>之间开头的#都去掉,然后做一些修改。如果要设立师大的虚拟站台,就要设定成:
<Virtual Host www.ntnu.edu.tw>
Server Admin webmaster@www.ntnu.edu.tw
DocumentRoot /var/lib/httpd/htdocs/ntnu
ServerName www.ntnu.edu.tw
</Virtual Host>
意思是说,在Server 内有一个虚拟网站,网址是www.ntnu.edu.tw。而它的首页数据将放在 /var/lib/httpd/htdocs/ntnu 里面。所以等一下我们就要到
/var/lib/httpd/htdocs 下开一个次目录叫做ntnu ,然后把从真实网站砍下来的数据,丢到 /var/lib/httpd/htdocs/ntnu 下面。至于Server Admin 的e-mail信箱要如何设定,倒无所谓。如果要再增加别的虚拟网站,就比照上例继续写下去即可。
四、架设DNS:
DNS是由一支叫named的程序来执行的,通常安装于/var/sbin/named。和DNS的架设有关的档案有很多,以下就一一说明:
1./etc/named.boot
当named启动时会读取这个档。以上面的例子来说,档案的内容如下:
directory /etc/named.data
domain sssh.tp.edu.tw
primary 0.0.127.in-addr.arpa named.local
primary 64.72.203.in-addr.arpa named.rev
primary sssh.tp.edu.tw named.hosts
primary ntnu.edu.tw named.ntnu
cache . named.cache
directory是指定存放named相关数据的目录,可以自己设定,如果设定为/etc/named.data ,便要在 /etc 下建一个named.data的次目录,然后把named.local 、named.rev、named.hosts、named.ntnu、named.cache 这些档案都放在/etc/named.data之下。而这些档案的内容要用文字处理软件(Vi 或 Joe)去产生。又如果前面的<Virtual Host>有加入更多的虚拟网站,那就要在primary ntnu.edu.tw named.ntnu
后面再继续加下去。
2./etc/named.data/named.local
@ IN SOA c2.sssh.tp.edu.tw. hostmaster.c2.sssh.tp.edu.tw.
(10***34 43***00 3600 60***00 86***00)
IN NS c2.sssh.tp.edu.tw.
1 IN PTR c2.sssh.tp.edu.tw.
有关那些数字,及SOA IN NS PTR 的详细意义,可以参考网络上「DNS HOWTO」的说明,这里主要是要把主机的名称设对,至于数字方面,照抄应该没什么问题。要注意的是,主机名最后要加一点「.」(如c2.sssh.tp.edu.tw.)不可以漏掉。
3./etc/named.data/named.rev
@ IN SOA c2.sssh.tp.edu.tw. hostmaster.c2.sssh.tp.edu.tw.
(10***34 43***00 3600 60***00 86***00)
IN NS c2.sssh.tp.edu.tw.
1 IN PTR c2.sssh.tp.edu.tw.
4./etc/named.data/named.hosts
@ IN SOA c2.sssh.tp.edu.tw. hostmaster.c2.sssh.tp.edu.tw.
(10***34 43***00 3600 60***00 86***00)
IN NS c2.sssh.tp.edu.tw.
c2.sssh.tp.edu.tw. IN A 203.72.64.150
ftp IN CNAME c2.sssh.tp.edu.tw.
mail IN CNAME c2.sssh.tp.edu.tw.
www IN CNAME c2.sssh.tp.edu.tw.
bbs IN CNAME c2.sssh.tp.edu.tw.
最后四行的ftp、mail、www、bbs等,是视主机架设哪些Server而定, 例如若是没有架设bbs,则该行就不必写了。
(5)/etc/named.data/named.ntnu
@ IN SOA www.ntnu.edu.tw. hostmaster.www.ntnu.edu.tw.
(10***34 43***00 3600 60***00 86***00)
IN NS www.ntnu.edu.tw.
www.ntnu.edu.tw. IN A 203.72.64.150
这个档案是在设定虚拟站台的网址所对应的IP ADDRESS ,我们将它设定为Linux主机的IP ADDRESS 。如果又增加更多虚拟网站时,则要在/etc/named.data的目录下再建立一些档案,如named.ntu(台大)、named.tvbs(TVBS)…等。档案内容就比照named.ntnu,然后把www.ntnu.edu.tw.的地方改为[url]www.ntu.edu.tw.及[url]www.tvbs.com.tw.[/url][/url]等。当然,在httpd.conf的<VirtualHost>处及named.boot中,都要加入如前面所讲的相关设定,这里就不再赘述。
6./etc/nemed.data/named.cache
这个档案直接用内定值就行了。因为不是实时的对外联机,所以不需要更新及维护。
以上6个步骤都没有问题了,就可以执行named来启动DNS服务。
五、放入真实网站数据
这是最后一个工作,也是最需要经常维护的地方。在上述的步骤完成之后,整个Linux系统中只是一个空壳,里面只有Apache的欢迎画面,因为尚未有任何网页放进去。此时需要利用一部真实上网的计算机,将真实网页抓下来,再用FTP上传至Linux主机相关位置,如师大的网站数据放在/var/lib/httpd/htdocs/ntnu下面,这是前面提过在httpd.conf中所设定的位置。而Win95抓网页的方法通常称为砍站台,可使用Teleport 、Web Cut等软件。网站的数据最好经常更新,才不致造成虚拟网站的内容过于老旧,但是复制他人的网站,最好先取得网站设计者的同意,以免造成侵权行为。
六、建立学生账号
建立账号可以直接用Linux系统本身提供的adduser程序。不过为全年级学生建立账号,可能要输入上千次,效率是太差了些。我们可以在网络上找到或自行撰写addalluser的程序,来快速建立起任意年级、班级、座号的user。如addalluser 01 02 01 03 01 50可以建立s01***01到s02***50之间的所有账号,算是相当方便。
參、 使用及维护
网站数据传入之后,首先要将Client端Win95的网络设定值做一些修正,即将虚拟主机的IP:203.72.64.150新增至DNS中。
一、开始
设定
控制台
网络
二、内容
DNS键入
203.72.64.150
新增
确定
重新启动后,进入浏览器,网址键入www.ntnu.edu.tw时便出现从师大网站抓下来的数据。但如果学生键入www.playboy.com.tw时,则会出现
因为在203.72.64.150虚拟主机上找不到这个网址的缘故,因此在围堵色情网站上,产生一定的效果。
在维护方面,除了要经常更新虚拟网站的资料,可以增加或减少站台数量,这些需要视硬盘空间而定。至于架设BBS、NEWS Server可以视课程需要而进行,使网络系统更为完整。
|
|