联云网络★曾华 发表于 2014-8-21 16:33:45

教你怎样以Linux架设一套虚拟网络系统

本文主要探讨如何以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

@ INSOAc2.sssh.tp.edu.tw.hostmaster.c2.sssh.tp.edu.tw.

(10134 43200 3600 604800 86400)

IN   NS   c2.sssh.tp.edu.tw.

1      IN   PTRc2.sssh.tp.edu.tw.

有关那些数字,及SOA IN NS PTR 的详细意义,可以参考网络上「DNS HOWTO」的说明,这里主要是要把主机的名称设对,至于数字方面,照抄应该没什么问题。要注意的是,主机名最后要加一点「.」(如c2.sssh.tp.edu.tw.)不可以漏掉。



3./etc/named.data/named.rev

@ INSOAc2.sssh.tp.edu.tw.hostmaster.c2.sssh.tp.edu.tw.

(10134 43200 3600 604800 86400)

IN   NS   c2.sssh.tp.edu.tw.

1      IN   PTRc2.sssh.tp.edu.tw.



4./etc/named.data/named.hosts

@ IN   SOAc2.sssh.tp.edu.tw.hostmaster.c2.sssh.tp.edu.tw.

(10134 43200 3600 604800 86400)

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   CNAMEc2.sssh.tp.edu.tw.

最后四行的ftp、mail、www、bbs等,是视主机架设哪些Server而定,    例如若是没有架设bbs,则该行就不必写了。



(5)/etc/named.data/named.ntnu

@ INSOAwww.ntnu.edu.tw.hostmaster.www.ntnu.edu.tw.

(10134 43200 3600 604800 86400)

INNS    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.的地方改为www.ntu.edu.tw.及www.tvbs.com.tw.等。当然,在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可以建立s010101到s020350之间的所有账号,算是相当方便。





參、         使用及维护

网站数据传入之后,首先要将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可以视课程需要而进行,使网络系统更为完整。

青春太潦草 发表于 2015-7-9 11:59:24

感谢楼主的分享
www.hg853.info
www.172567.info
www.yinhehh.info
www.js8327.info
页: [1]
查看完整版本: 教你怎样以Linux架设一套虚拟网络系统