基于Linux的网络试验系统的设计(二)
时间:2007-02-17 来源:PHP爱好者
第一节 Linux的网络设置
TCP/IP是Unix下使用最广泛的联网协议,Linux作为一个类Unix操作系统也不例外。Linux自产生之日起就把它作为自己密不可分的一部分。Linux的系统内核直接就为网络提供了强有力的支持,它支持许多的网络设备(从网卡、Modem、ISDN适配器到各种路由器等等),并且它从Unix继承了众多的性能卓越的网络软件,从而使Linux具有很优秀的网络性能。Linux不仅支持现有的一些网络协议,而且由于Internet上成千上万的网络专家参与其的开发,因而它也为支持一些未来的新协议如IPv6做好了准备,并有一些测试版本。由于本实验系统是基于Linux的网络实验系统,因而熟悉系统以后的工作就是研究Linux的网络配置特点及其配置和管理的方法。
网卡的安装:
Linux在内核中已经对各种Ethernet网卡进行了支持,只要在编译内核的时候把网络支持及所用网卡型号的驱动编译进内核即可。一般,对网卡的支持代码都编译成动态加载的模块。
有了内核的支持后,我们还必须把网卡的I/O端号(本网卡为0x320)及中断号(本网卡为11)传给内核,从而使系统能真正地控制网卡进行网络通信。我们必须把它加载在文件/etc/conf.modules(本系统还加载了声卡模块)中,本文件内容如下:
alias eth0 ne
options ne io=0x320 irq=11
alias sound sb
alias midi opl3
options opl3 io=0x388
options sb io=0x220 irq=7 dma=1 mpu_io=0x201
我们也可以通过集成的GUI程序进行配置,在终端窗口中运行linuxconf,可对系统大部分的设置工作。
- IP地址和网卡的设定
我们将使用控制面板来加载配置程序,运行controlpanel将出现如下窗口,它包含了许多的配置工具,从系统守护进程、网络设置、用户管理、软件包安装到www服务器Apache的配置程序,应有尽有。
在控制面板中选择网络配置,将出现如下的窗口
在上图中点击Add,出现如下窗口:
在IP一栏中填入本计算机的IP地址172.31.0.10,网络掩码为255.255.255.0,其他为默认值。选择Done退出。
另外,我们也可以直接在配置文件中添加相应的内容来实现。在/etc/sysconfig下建立文件Network,其内容如下:
NETWORKING=yes
FORWARD_IPV4=false
HOSTNAME=LinuxServer.ec.edu
DOMAINNAME=ec.edu
GATEWAY="172.31.0.200"
GATEWAYDEV="eth0"
二、 接入网关的设置:
在网络配置窗口选择Routing,如图所示:
在上面的图示中点击Add,将出现如下的窗口。在设备一栏中填入 eth0,在Network填入网络字(网络掩码和网关相与),在Netmask中填入网络掩码255.255.255.0,在Geteway一栏中填入网关地址172.31.0.200(实验室的网关地址)。选择Done退出。
另一种方法是直接对配置文件进行编写,在/etc/sysconfig中创建文件static-routes,其内容为:
eth0 net 172.31.0.0 netmask 255.255.255.0 gw 172.31.0.200
三、 测试网络连接及运行情况
1、测试和子网的其他客户机的通信情况。应用ping命令测试,以IP地址172.31.0.105为例:
在终端窗口键入"ping 172.31.0.105",Linux主机将向172.31.0.105主机发送信息包并使其回传,如下图所示:
可看到time的值大于0,则说明网络设置基本是正确的。如果time的值等于-1则说明网络设置是有问题的。
然后,可使用telnet、ftp等程序再测试一下。
第二节 文件系统、用户、用户界面管理
一、 文件系统、用户管理
对文件系统、用户管理,RedHat系统提供了一个集成化的管理程序Linuxconf,分为字符界面模式、图形界面模式及web界面管理模式(在后面的实验系统管理将进一步介绍)。它不仅仅能处理文件系统、用户的管理,也可以处理网络设备的加载和启动程序的设置等等。你可通过linuxconf来调用它,它自动判断当前是否为x-windows图形的图形环境,然后调用相应的程序,如下为图形模式的Linuxconf:
在这个集成的管理程序中,我们可以进行初始化的设置,加入实验的用户组IT;添加实验管理帐号和实验用户的帐号(user1~user50);同时设置磁盘的配额管理。
1、磁盘配额的设置
在文件系统的设置中,磁盘配额的管理是很重要的。对于本实验系统,由于要对很多学生提供实验服务,而系统的硬盘空间有。因此每个学生实验时,都要对他们进行磁盘配额的分配。还好Linux系统提供了quota来设置磁盘配额,这样对实验用户帐号分配相应的磁盘空间,超过一定数额就报警,再到一定数额就禁止用户上载文件。这样和实验管理程序相结合就可以使系统不会因为磁盘空间耗掉而停止工作。
如下为具体的设置(每个用户的最底警告线为5兆空间,弹性空间为2兆):
用quota,quotaon和quotaoff命令进行配额管理
硬盘配额在几个方面限制了硬盘使用的总量。我们可以使用GID对一组
用户进行设置,也可以对单个用户实行限制。管理硬盘配额要用到如下的各种命令:
quota --生成硬盘配额报告
quotaon --对用户打开硬盘配额功能并设置硬盘配额
quotaoff --对用户关闭硬盘配额功能
repquot --也生成关于硬盘配额的报告
edquota --编辑调整用户的配额
quotacheck --检查文件系统的配额使用情况
首先用root身份登录,并对文件系统表/etc/fstab进行编辑,因为我们实验系统要对/dev/had进行磁盘配额的管理,因此我们要修改关于它的选项,整个文件如下:
/dev/hda1 / ext2 defaults 1 1
/dev/hda5 /user ext2 exec,dev,suid,rw,usrquota,grpquota 1 2
/dev/hda6 swap swap defaults 0 0
/dev/fd0 /mnt/floppy auto sync,user,noauto,nosuid,nodev,unhide 0 0
/dev/cdrom /mnt/cdrom auto user,noauto,nosuid,exec,nodev,ro 0 0
none /proc proc defaults 0 0
接着,我们在/user下生成一个为quota.user和一个为quota.group的文件,并使他们的权限为600。如下使用touch和chmod命令:
#touch /user/quota.user
#chmod 600 /etc/quota.user
#touch /user/quota.group
#chmod 600 /etc/quota.group
好,现在重新启动计算机,系统的quota就开始工作了。
下一步,我们使用edquota –u username对用户username进行磁盘配额的设置如下(对用户user1):
#edquota –u user1
edquota将调用一个编辑器读进/user/quota.user让我们进行编辑如下:
第一个soft参数为硬盘(按KB)最低警告数,第一个hard参数为硬盘(按KB)最大的分配数额;第二个soft参数为文件数最低警告数,第二个hard参数为文件数的最大值。
现在,要对用户user1进行预警期的设置,系统默认是一周(7天),显然这个时间太长了。我们将设置它为5分钟,以使在实验的时间段内能对超额的用户进行告警。如下使用edquota(还是对用户user1):
#edquota –t user1
edquota还是对/user/quota.user进行操作,我们在相应位置设置即可,显示如下:
最后,检查一下用户的配额是否正确,用quota命令来检查用户的磁盘配额- 用Linuxconf进行设置
设置/dev/hda5为配额磁盘
如图Access local drviceà /dev/hda5双击进行设置:
下来使磁盘配额程序工作,如图使user quota enabled和group quota enabled其作用:
接着,对每个用户进行磁盘配额的设置,在Disk space soft limt内设置最低的警戒磁盘数额,在Disk space hard limit内设置最大的磁盘数额,在Disk space grace period内设置警告时间,在Files soft limit内设置最低的文件数,在Files hard limit内设置最大的文件数,在Files grace period内设置警告时间:实际的测试
用进行了磁盘配额的帐号进行系统登陆,并拷贝一些大的文件(超过7兆),看看系统是否有警告信息并不允许用户再上载文件。下图是在shell下,超过磁盘配额警戒线的警告信息:
另外,使用Ftp上载大量的文件进行测试,超过数额后系统拒绝用户继续上载文件。
二、 用户界面管理
因为我们的系统为实验系统,因此有必要要对用户的交互界面进行一些更改,加入一些必要的提示信息,以有利于实验的进行。
1、telnet登陆界面设置
更改/etc/rc.local,把相应的关于issue.net的语句注释掉。如下:
#echo "" > /etc/issue.net
#echo "Linux Mandrake $R" >> /etc/issue.net
#echo "Kernel $(uname -r) on $a $(uname
同时修改/etc/issue.net,加入我们要显示给登录者的信息。修改后用户的telnet的登陆信息为:
- ftp信息的设置
在根目录下,建立文件welcome.msg,加入提示信息即可。更改后用户登陆进系统后的字符界面为:
php爱 好者站 http://www.phpfans.net 文章|教程|下载|源码|论坛.