基于Linux的网络试验系统的设计

原创 2005年05月23日 16:07:00

前 言

Linux是近一两年来受人们比较关注的新生事物。它从一个大学生的课程设计变成了一个强大的操作系统,人们无不对它刮目相看。计算机产业的发展越来越快,现在正向着网络化高速地发展。Linux作为Internet的产物,更是代表着这一历史的潮流。对Linux进行学习、研究及其应用开发已经势在必行。

Linux不仅仅是代表着一个操作系统,而是代表着一个强大的有效的集成系统。在上面,我们不仅可以从事操作系统的研究,而且可以进行网络的应用;同时由于它也附带了许多免费的开发系统,在上面开发自己的应用程序也是非常方便的和高效的。这一切的一切使我选择了Linux,并且较早的投入到Linux的应用和开发上。

本实验系统是基于Linux的网络实验系统。在这个实验系统设计中,由于是使用Linux,故一些配置比较烦琐(在NT上只要几下鼠标就能解决的事也不例外)。但是正是这样对一个又一个的文本配置文件的操作,我对一些服务器设置的原理有了较低层的理解(对NT上为什么要那么做有更进一步的理解);同时由于Linux的程序的批处理能力很强,它上面的开发语言也十分强大,因而在实验程序的开发上相对要容易的很多(这一点体现了Linux的强大功能),一些在NT上实现的比较困难的事反而在Linux却很好的实现了。

本实验系统实际上是设计了一个小的Intranet,在上面可以模拟Intenet的操作,同时也可以进行真实的Internet的操作。同时,由于它在Linux上实现,

对以后再开设其他相关的网络、操作系统、软件工程、数据库开发等实验也是有很大用处的。



第一章 实验的整体认识和设计

第一节 Linux简介

Linux是一个类Unix的操作系统,它是由芬兰赫尔辛基大学的学生Linus Torvalds于1991年创建并无私的在因特网上发布,任何人只要遵守GPL版权,都可以免费使用和修改Linux。实际上,GPL要求的是完全的软件共享,你可从中获利,但你不能占为己有。经过因特网上的千千万万的志愿者对其的不断修改,八年后的今天,Linux已经变得强大无比!特别是去年下半年以来,IBM、Intel、Oracle、Sysbase、Borland,HP,SUN,Corel等商业软件厂商纷纷表示对Linux进行商业开发和技术支持,更使得Linux的商业价值越来越高。同时从今年起,Linux将在两个方向发展,即微型设备的嵌入式操作系统和桌面操作系统。IDC预测在2003年,Linux将成为Windows NT后的第二大操作系统。国内的一些公司(华胜、中软、四通等)也从事Linux的中文的扩展和应用开发,同时他们也感觉到国内Linux教育的必要性和紧迫性,迫切需要大量的中国Linux开发人员。

作为一个操作系统,Linux具有如下的优点:

1、它具有Unix的全部特点,Unix丰富的软件资源及C语言的平台可移植性使得其上的软件非常丰富。而且,由于Linux的流行,倒是其他的Unix平台移植Linux的应用程序。

2、Linux内置网络支持,其应用标准的TCP/IP协议,通过一个Ethernet网卡或Modem把自己和其他系统相连,就可访问Internet。其网络性能极其优秀,据统计美国130多万个web站点中,一半以上是运行着Apache的Linux系统。

3、它具有完美的多任务,能同时运行多个任务和访问多个设备。

4、Linux拥有性能优越的内存机制:在只有32兆的P133上,带动几十台工作站上网,你几乎感觉不到硬盘的交换活动。对工作站用户而言,感觉和专用服务器没什么两样,甚至比专用服务器快。

5、同IEEE POSIX.1标准兼容。

6、GNU软件支持:Linux能广泛的运行GNU计划的免费可用软件。

7、软件版本更新速度非常的快,每隔几天你就可看到新的内核版本。

8、拥有良好的性能之外,Linux最大优点就是其源代码公开和免费特性,用极低的费用任何人均可获得它并可任意修改它。

9、对国内用户而言,Linux上的中文应用软件也层出不穷,同时我们也见到了Linux中文版(XteamLinux及Turbo Linux中文版)的出台。

10、对高校用户来说,Linux上丰富的网络支持及其易于开发性,应用于网络教学具有较好的的必备的条件和较高的性价比。

可见,对Linux的研究和应用,并应用于教学中,对网络课程的学习有很好的帮助;同时对于其他课程的教研工作也是有很大的作用。

第二节 Linux在此课题中的作用

在本课题中,我把Linux作为实验服务器软件使用。之所以没有在客户机上也使用Linux,一方面考虑Linux在应用软件上的缺陷(不是没有相应软件,只是由于操作较繁琐,界面也不友好),一方面也考虑到实验室的条件和实验的易于管理性。

以下是对这个课题的整体框架图:

说明:

在对实验系统有相当的认识后,结合TCP/IP和Linux的相关知识进行系统的设计和实现。

对系统进行网络服务程序的设置,以使它们能较好的提供实验服务。

对实验进行控制,由相应的程序完成。

学生上机时,必须通过帐号申请程序申请实验帐号,并要填写必要的学生信息;实验时管理老师可通过程序查看系统中用户的情况。

每次学生实验完成后,管理老师可通过管理程序删除实验用户帐号及其数据,为下一次实验做准备。

第三节 实验系统的整体规划

实验系统采用Client/Server模式设计,充分体现了Linux的网络功能及突出实验的性质。所有的实验的服务程序均运行在Linux服务器上,客户端程序都基于界面较好的Windwos系统。客户端通过相应的客户程序使用TCP/IP相关协议和服务器通信。可以说,整个系统就是一个Internet的模型。

实验系统图示如图一:

主要技术说明:

整个系统不对已有的硬件系统进行任何改动,只要求在客户计算机上进行相应的设置的改动。

实验所有的服务器端软件都运行在Linux上。

Linux服务器提供DNS服务,每台计算机都把DNS指向Linux服务器。

客户端通过TCP/IP相关协议和服务器通信,客户机安装相应的软件进行实验。

客户端程序为界面较好的Windows程序,有利于实验者进行实验。

图一

 

实验者必须通过申请实验帐号,进行必要的注册信息的输入方能进行实验。这个功能通过CGI在web上实现,同时这个程序把相应的用户信息保存在文件中;通过另外的一个CGI,管理员可以得到实验用户的信息。

实验的管理由一个管理脚本实现,主要功能为:删除用户的实验数据,清除一些日志文件,清理一些服务器软件的缓存数据。

每个用户都只有一定的磁盘空间,超过一定数量,系统将拒绝用户再进行数据的上载,同时删除一些用户的数据。

第二章 Linux的系统配置

第一节 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,加入提示信息即可。更改后用户登陆进系统后的字符界面为:

 

第三章 DNS(域名系统)和设置

第一节 DNS介绍

一、DNS

连接TCP/IP的每个网络接口用一个唯一的32位的IP地址标识,但由于数字比较复杂、难以记忆而且没有形象性。因而人们发明了用域名系统来解决它,在这种情况下,我们可以使用易于理解和较为形象的名称来作为一台计算机的标识。在大多数情况下,数字地址和域名地址可以交替使用;但无论用数字地址或是域名进行网络应用时,网络总是以IP地址为基础来进行的。在网络进行连接前,系统必须将域名地址转换成IP地址。这就是DNS的任务。

将域名转换成IP地址有常用的两种方法。一种较古老的方法是从一个称为“主机表”的文件中查找主机名;后来一般使用的是一个称为“域名服务(DNS)”的分布式数据库系统,将名字转换成IP地址。

主机表是一个简单的文本文件,可以使IP地址与主机名相关联。在Redhat5.2中,主机表文件为/etc/hosts,该文件的每一表项包含一个IP地址和用空格隔开的与该地址关联的主机名列表。

虽然主机表比较简单,但它有一些缺点。域名系统则能克服这些缺点:

-DNS的扩充性好。它并不依靠单独一个大表,而是一个分布式数据库系统,不会因为数据库的增长而陷入困境。

-DNS可确保在必要时将新主机的信息传播到网络中其他部分。不仅能自动地传播信息,而且可以只传播所需的信息。

DNS的工作原理为:如果一台DNS服务器接收到一个要求获取有关主机信息的请求,它就将该请求发送给一台管理服务器。管理服务器是负责保持查询域的精确信息的任何服务器。当它响应该请求时,本地服务器就将回答信息保存在高速缓存中供将来使用。当下一次本地服务器再接收到该信息的请求时,它本身就回答这个请求。

二、DNS服务器的类型

1、“Cache-Only”的DNS服务器:

一个DNS服务器也不可能拥有国际网络上所有的主机信息,因此它提供一个转送方式,将自己的DNS服务器无法处理的查询要求转送至上一层的DNS服务器查询,然後将所得到的查询结果,传送给提出查询要求的主机。而“Cache-Only” 的“ DNS” 就是该DNS服务器的主机信息里除了自己之外就没有了,它将所有的查询要求都转送至其他DNS服务器去查询。

2、“ Primary” DNS服务器:

一个完整功能的DNS服务器,管理一个或数个“ Domain” (域)的机器信息。而这些主机相关的资料都依照格式储存於服务器的档案目录中,然後会在服务器启动时将这些资料读入系统。

“ Secondary” DNS服务器:

基本上它也是一个完整功能的DNS服务器,只是所不同的是,它的主机资料并非完全储存於服务器所在的档案目录,而由某个“Primary DNS” 来提供。

我们的实验系统将是一个“Primary”的DNS服务器,它一方面提供本地局域网用户的查询,另一方面则将其他的请求做缓存处理。

第二节 DNS的设置

一、应用条件

在Linux上已经带有了DNS软件,我采用的是Internet使用最为广泛的BIND(Berkeley Internet Name Domain Name Server)版本8。

我们的应用条件如下:

1、一个C类网段地址 (172.31.0);

2、域名为 ec.edu,(主域名服务器地址 172.31.0.10,主机名为Linuxserver.ec.edu);

3、局域网通过网关与Internet连接 。

DNS服务器的主体是域名服务器进程named,named 启动后向DNS客户机提供域名解析服务,把域名转换成IP地址。

named 启动时需要读取几个数据文件,在bind 4下缺省情况下是先/etc/named.boot,所以/etc/named.boot是named的基本配置文件。在bind 8下,缺省情况下先是/etc/named.conf。(请注意red hat 5.1中自带的是bind 4,而red hat 5.2自带的是bind 8,我就是在这上面花费了大量的时间)。

虽然启动named可直接执行named,在Linux上我们可以使用一个控制named的工具ndc。ndc可以用于启动、中止、重启动、刷新DNS数据、输出DNS数据等多种调试功能,我就是用这个工具来帮助DNS服务器的调试。

 

二、建立named配置文件 /etc/named.boot、etc/named.conf

1、/etc/named.boot是基本的配置文件,但不包含任何DNS数据,针对我们前面的设定,先建立以下/etc/named.boot,其内容如下:

; boot file for name server

directory /var/named

domain ec.edu named.hosts

primary 0.0.127.in-addr.arpa named.local

primary 0.31.0.172.in-addr.arpa named.rev

cache . named.ca

其中以“;”开头的行是注释行,其他各行含义如下:

(1)diretory /var/named :指定named从 /var/named 目录下读取DNS数据文件,这个目录用户可自行指定并创建,指定后所有的DNS数据文件都存放在此目录下;

(2)domain ec.edu named.hosts :指定named作为ec.edu域的主域名服务器,named.hosts文件中包含所有 *.ec.edu形式的域名转换数据;

(3)primary 0.0.127.IN-ADDR.ARPA named.local :指定named作为127.0.0网段地址转换主服务器,named.local文件中包含了127.0.0.*形式的地址到域名的转换数据(127.0.0网段地址是局域网接口的内部 loopback地址);

(4)primary 0.31.0.172.in-addr.arpa named.rev :指定named作为172.31.0网段地址转换主服务器,named.rev文件中包含了所有 172.31.0.*形式的地址到域名的转换数据;

(5)cache . named.ca :指定named从 named.ca 文件中获得Internet的顶层“根”服务器地址 。

(3)、(4)两行中的网段地址是倒写的,另外,各个文件名也是可以自行决定的。

2、 /etc/named.conf是基本的配置文件,不包含任何DNS数据,针对我们前面的设定,建立以下 /etc/named.conf,其内容如下:

// generated by named-bootconf.pl

options {

directory “/var/named”;

// query-source address * port 53;

};

// a caching only nameserver config

zone “.” {

type hint;

file “named.ca”;

};

zone “0.0.127.in-addr.arpa” {

type master;

file “named.local”;

};

//-------------------------------

zone “0.31.172.in-addr.arpa” {

type master;

file “named.rev”;

};

zone “ec.edu” {

type master;

file “named.hosts”;

};

//这些为添加的内容

//-------------------------------

这个文件也可以使用named-bootconf.pl脚本从named.boot转化得到。

 

三、建立各个DNS数据文件

现在,要按 /etc/named.boot中的定义,建立各个DNS数据文件。

1、建立正向域名转换数据文件named.hosts

根据/etc/named.boot的定义,我们在/var/named目录下建立named.hosts,其中应该包括所有在ec.edu域内的主机节点。但在机器数量较多时,为了调试方便,建议一开始只把几台节点的数据放入文件,待named正常工作后再把其他节点的数据补充进去。下面是named.hosts的例子:

@ IN SOA LinuxServer.ec.edu. root.LinuxServer.ec.edu. (

1999051702 ; serial

36000 ; refresh

8640 ; retry

360000 ; expire

86400 ) ; minim

IN NS LinuxServer.ec.edu.

MX 10 LinuxServer.ec.edu.

localhost IN A 127.0.0.1

LinuxServer IN A 172.31.0.10

o2 IN A 172.31.0.1

ntsever IN A 172.31.0.110

w100 IN A 172.31.0.100

W101 IN A 172.31.0.101

W102 IN A 172.31.0.102

W103 IN A 172.31.0.103

W104 IN A 172.31.0.104

W105 IN A 172.31.0.105

W106 IN A 172.31.0.106

W107 IN A 172.31.0.107

W108 IN A 172.31.0.108

W109 IN A 172.31.0.109

W111 IN A 172.31.0.111

W112 IN A 172.31.0.112

W113 IN A 172.31.0.113

W114 IN A 172.31.0.114

W115 IN A 172.31.0.115

W116 IN A 172.31.0.116

W117 IN A 172.31.0.117

W118 IN A 172.31.0.118

W119 IN A 172.31.0.119

W120 IN A 172.31.0.120

gateway IN A 172.31.0.200

mail MX 10 Linuxserver.ec.edu.

www CNAME Linuxserver.ec.edu.

ftp CNAME Linuxserver.ec.edu.

其中第一行是SOA记录,定义了域名数据的基本信息,依次是DNS服务器名、DNS 管理员邮件地址(这里的"@"用"."代替),括号内的第一个数字是文件版本号(一般为当天的时间和修改次数组成),每次本文件内容修改后,必须更改此号。其余数字与DNS服务器直接的数据交换有关,在这里我们不需要改动。

括号后面有一条NS记录和一条MX记录,定义了域名服务器本身的域名和username@Linuxserver.ec.edu形式邮件地址所对应的邮件服务器名字。

在此以下是各种域名/地址转换数据,其中A记录是DNS域名到IP地址的记录,是必须有的,以o2.ec.edu为例,在A记录中域ec.edu被省略,只写成o2,named在处理时会根据named.boot中的定义自动加上ec.edu,而其对应IP地址为172.31.0.1。另一种记录是MX记录。MX是邮件地址转换记录,本例中定义了将username@mail.ec.edu的邮件地址转换成username@Linuxserver.ec.edu,即实际上真正的邮件服务器是LinuxServer.ec.edu,它的优先数为10,所以通常邮件首先被发往优先数小的主机support.my.com(有两个以上的mail服务器的情况)。

还有一些是为方便访问者而提供的CNAME记录。CNAME定义了一些主机的别名,如我们要将Linuxserver.ec.edu作为实验系统的www和ftp服务器,所以我们提供了www.ec.edu和ftp.ec.edu作为Linuxserver.ec.edu的别名,用户只需要根据习惯就可以访问系统的www、ftp服务器了,如果将来我们换用别的主机作www和ftp服务器,只需要修改CNAME记录就可,对用户没有影响。在其后的web配置中的虚拟主机设置,我们还将再次使用CNAME记录。

注意:MX和CNAME记录最后的带域名的主机名后必须带一个“.”。

2、建立反向DNS数据文件named.local和named.rev

  反向DNS数据文件用来提供根据IP地址查询相应DNS主机名,每个网段分别有一个数据文件。

对于内部网段127.0.0通常只有一个地址,即127.0.0.1 loopback地址,named.local内容如下:

@ IN SOA LinuxServer.ec.edu. root.LinuxServer.ec.edu. (

1999051602 ; serial

36000 ; refresh

8640 ; retry

360000 ; expire

86400 ) ; minim

IN NS LinuxServer.ec.edu.

1 IN PTR localhost.

而外部网段的数据文件 named.rev 中包含所有主机 IP 地址到DNS主机名的转换数据。named.rev 内容如下:

@ IN SOA LinuxServer.ec.edu. root.LinuxServer.ec.edu. (

1999051602 ; serial

36000 ; refresh

8640 ; retry

360000 ; expire

86400 ) ; minim

IN NS LinuxServer.ec.edu.

10 IN PTR LinuxServer.ec.edu.

1 IN PTR o2.ec.edu.

100 IN PTR w100.ec.edu.

101 IN PTR w101.ec.edu.

102 IN PTR w102.ec.edu.

103 IN PTR w103.ec.edu.

104 IN PTR w104.ec.edu.

105 IN PTR w105.ec.edu.

106 IN PTR w106.ec.edu.

107 IN PTR w107.ec.edu.

108 IN PTR w108.ec.edu.

109 IN PTR w109.ec.edu.

110 IN PTR w110.ec.edu.

111 IN PTR w111.ec.edu.

112 IN PTR w112.ec.edu.

113 IN PTR w113.ec.edu.

114 IN PTR w114.ec.edu.

115 IN PTR w115.ec.edu.

116 IN PTR w116.ec.edu.

117 IN PTR w117.ec.edu.

118 IN PTR w118.ec.edu.

119 IN PTR w119.ec.edu.

120 IN PTR w120.ec.edu.

反向DNS数据文件中的主要部分是PTR记录,PTR记录中的IP地址都只有主机号,named会根据named.boot的定义自动加上前面的网络号,注意在后面的主机名要附加一个“.” 。

3、获得named.ca文件

在Linux系统上通常在/var/named下已经提供了一个named.ca,该文件中包含了Internet的顶层域名服务器,但这个文件通常会发生变化,所以最好从Internic下载最新的版本。该文件可通过匿名ftp从ftp.rs.internic.net下载,在domain目录下,文件名为 named.root。该文件下载后要拷贝到named的工作目录并重命名成named.boot中指定的文件名,本文中为named.ca。

 

四、设置反向解析顺序文件/etc/resolv.conf

为了使用和测试named,要把Linux设置在使用DNS状态。方法是在/etc目录下,创建resolv.conf文件。这个文件的用途是让设置域名服务器的顺序,如果在第一个域名服务器上找不着某个域名,它就会到第二个域名服务器上去寻找,依次类推。我们的服务器也通过网关接入Internet,而它的DNS只包含本地网段的主机信息;因此在连入Internet后本地在找不着某个域名时就必须到别的DNS服务器上去查找。以实验系统的例子,/etc/resolv.conf 内容为:

domain ec.edu

search ec.edu

nameserver 172.31.0.10

nameserver 202.96.0.133 在172.31.0.10找不着的情况下到202.96.0.133

nameserver 202.96.199.133 在前两个都找不着的情况下到202.96.199.133

也可以在netcfg中设置如下:

网络编程(24)—— linux中write和read函数的阻塞试验

刚刚接触网络编程时,很容易被客户端和服务器之间的交互搞晕,例如各种函数的阻塞和非阻塞就让人头疼。例如在我的印象中linux中用于用于对文件描述符进行读写的write()函数和read()函数是非阻塞函...

linux中文件系统的挂载,及各种类型的实现试验

系统的中的文件系统需要挂载才可进行读取访问。 挂载可以循环挂载 但是不会产生循环效果 。mount: 挂载文件系统,挂载会生成配置文件,配置文件为/etc/mtab 中,实时动态更新。挂载...

SIMULINK_SystemTest_DOE(系统测试与试验设计系统分析方法)

在我博文中所列的项目中, 希望通过对已知模型的分析,来指导硬件线路的设计,并达到某个技术指标, 比如,在DC电机的调速系统中,如果确定需要xx的调速精度,那么在硬件设计过程中,怎样配置电流传感器和速度...

Linux内核网络系统中的设计模式

本文分析Linux内核网络子系统中使用的设计模式:组合模式,工厂模式,原型模式。...
  • linyt
  • linyt
  • 2016年06月26日 23:26
  • 4227

熟悉Linux系统环境试验

  • 2015年01月01日 17:10
  • 1.06MB
  • 下载

基于嵌入式Linux系统的无线网络网关设计

嵌入式网关、嵌入式web服务器(boa)、嵌入式sqlite数据库、通用网关接口 1、概述 传统网关在功能上主要完成协议转换及部分系统管理功能,而采用嵌入式无线网关作为无线网络设备接入有线网络的接...

网络系统集成试验资料

  • 2008年12月25日 17:07
  • 1.6MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于Linux的网络试验系统的设计
举报原因:
原因补充:

(最多只允许输入30个字)