1、Linux实用教程,刘兵 吴煜煌等编著,第6章 Internet应用服务器的配置,本章学习目标本章主要讲解Internet应用服务器的配置方法,包括DNS服务器、FTP服务器、E-mail服务器。通过对本章的学习,读者应该掌握以下主要内容:,主要内容:,DNS服务器的安装、配置以DNS客户端的设置方法 FTP服务器的安装、设置方法。 FTP客户端的常用命令与客户端软件的使用方法。 E-mail邮件的工作原理,Sendmail服务器的配置与客户端软件的使用方法。,6.1 域名系统(DNS),1. 概述 DNS用于“名称IP地址” 早期用Hosts文件,但存在一些缺点. DNS(域名系统)是一种基
2、于分布式的数据库系统,并采用客户/服务器模式进行主机名称与IP地址之间的转换。,2. DNS域名结构,DNS数据库的结构如同一棵倒过来的树,它的根位于最顶部,顶级域名常见的有两类: (1)国家级顶级域名。例如:CN表示中国;UK表示英国等等。(2)通用的顶级域名。 l COM:商业机构; l EDU:美国教育机构; l NET:网络管理机构; l ORG:社会团体; l MIL:美国军队部门; l GOV:美国政府部门。,由于Internet上用户的急剧增加,现在又增加了七个通用的顶级域名,即:FIRM:表示公司企业; SHOP:表示销售公司和企业; WEB:表示突出万维网络活动的单位;ART
3、S:表示突出文化、娱乐活动的单位;REC:表示突出消遣、娱乐活动的单位; INFO:表示提供信息服务的单位; NOW:表示个人。,在国家顶级域名下注册的二级域名均由该国家自行确定。我们国家将二级域名划分为“类别域名”和“行政区域名”两大类。其中,类别域名6个,分别是: AC:表示科研机构; COM:表示工、商、金融等企业; EDU:表示教育机构; GOV:表示政府部门; NET:表示互联网络、接入网络的信息中心和运行中心; ORG:表示各种非赢利性组织。,行政区域名34个,适用于我国的省、自治区、直辖市。例如:bj为北京市;sh为上海市;hb为湖北省等等。,3. DNS域名解析的工作原理,(1
4、)DNS客户机提出域名解析请求,并将该请求发送给本地的域名服务器。 (2)当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该记录项,则本地的域名服务器就直接把查询的结果返回。 (3)如果本地的缓存中没有该记录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。 (4)本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该记录,则返回相关的下级的域名服务器的地址。 (5)重复第四步,直到找到正确的记录。 (6)本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将
5、结果返回给客户机。,6.1.2 DNS服务器的配置,1. DNS服务器的启动与停止在进行DNS服务器配置之前,首先要检查系统中是否安装了BIND域名服务器,检查的方法可使用下面的命令:# rpm qa | grep bind可使用下面的命令来对BIND域名服务器的进行启动和停止。# service named start# service named stop#service named restart,2. 启动域名服务器的配置工具,启动 Bind 配置工具,可使用以下两种方法: (1)单击面板上的“主菜单系统设置服务器设置域名服务” 。 (2)在 shell 提示(如 XTerm 或 GN
6、OME 终端)下,键入 redhat-config-bind 命令。,3. 正向主区块配置,正向主区块配置主要的作用是进行从域名到IP地址的转换。其设置步骤如下:,4. 反向DNS服务器的配置,4. 反向DNS服务器的配置,6.1.3 在Windows中DNS客户端的设置方法,6.1.3 在Windows中DNS客户端的设置方法,6.1.3 在Linux中DNS客户端的设置方法,3. 测试DNS服务器 当DNS服务器配置完成之后,要想在客户端对其进行测试,必须首先使用下面的命令来重新启动DNS服务器: # service named restart,6.2 文件传输协议服务器(FTP),1.
7、FTP协议概述FTP是TCP/IP的一种具体应用,FTP工作在OSI模型的第七层,TCP模型的第四层上,即应用层,FTP使用的是传输层的TCP传输而不是UDP,这样FTP客户在和服务器建立连接前就要经过一个被广为熟知的“三次握手”的过程,其意义在于客户与服务器之间的连接是可靠的,为数据的传输提供了可靠的保证。,2. 什么是FTP协议,FTP 是 TCP/IP 协议族中的一个协议,是英文File Transfer Protocol的缩写。该协议定义的是一个在远程计算机系统和本地计算机系统之间传输文件的一个标准,是Internet文件传送的基础。,3. FTP的基本工作原理,(1)打开熟知端口(端
8、口号为21),使客户进程能连接上; (2)等待客户进程发起连接建立请求; (3)启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。 (4)回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。,4. FTP用户授权,FTP地址如下: ftp:/用户名:密码FTP服务器IP或域名:FTP命令端口/路径/文件名 上面的参数除了FTP服务器IP(或域名)为必要项外,其他项都是可有可无的。如以下地址都是有效FTP地址: ftp:/ ftp:/lb:123456 ftp:/ lb:12345
9、6 ftp:/ lb:123456 :2003/soft/demo.doc,互连网中大多数FTP 服务器都支持“匿名”(Anonymous)登录。这类服务器的目的是向公众提供文件拷贝服务,不要求用户事先在该服务器进行登记注册,也不用取得FTP服务器的授权。,5. FTP的传输模式,(1)ASCII传输方式 (2)二进制传输模式,6.2.2 Linux环境下的FTP服务器,1. Wu-ftpd 2. ProFTPD 3. vsftpd,6.2.3 FTP服务器的启动与配置,1. FTP服务器的安装与启动在进行DNS服务器配置之前,首先要检查系统中是否安装了BIND域名服务器,检查的方法可使用下
10、面的命令: # rpm qa | grep vsftpd,6.2.3 FTP服务器的启动与配置,可使用下面的命令来进行BIND域名服务器的启动和停止。 # service vsftpd start # service vsftpd stop # service vsftpd restart 下面的命令是用来检查vsftpd是否被启动: # pstree | grep vsftpd,2. vsftpd的默认配置文件,#是否允许匿名ftp,如否则选择NO anonymous_enable=YES # 是否允许本地用户登录 local_enable=YES # 是否开放本地用户的写权限 write_
11、enable=YES # 设置本地用户的文件的掩码是022,默认值是077 local_umask=022 #是否允许匿名用户上传文件 #anon_upload_enable=YES # # 是否允许匿名用户创建新的文件夹,2. vsftpd的默认配置文件,#anon_mkdir_write_enable=YES # # 是否显示目录说明文件,默认是YES但需要手工创建.message文件 dirmessage_enable=YES # # 激活上传下载日志 xferlog_enable=YES # # 启用FTP数据端口的连接请求(ftp-data). connect_from_port_2
12、0=YES #,2. vsftpd的默认配置文件,# 是否改变上传文件的属主,如果是需要输入一个系统用户名,可以把上传的文件都改成root属主 #chown_uploads=YES #chown_username=whoever # # 传输日志的路径和名字默认是/var/log/vsftpd.log #xferlog_file=/var/log/vsftpd.log # # 是否使用标准的ftp xferlog模式 xferlog_std_format=YES # #设置默认的断开不活跃session的时间 #idle_session_timeout=600 #,2. vsftpd的默认配置
13、文件,# 设置数据传输超时时间 #data_connection_timeout=120 #运行vsftpd需要的非特权系统用户默认是nobody #nopriv_user=ftpsecure # 是否使用ascii码方式上传和下载文件 #ascii_upload_enable=YES #ascii_download_enable=YES # 定制欢迎信息 #ftpd_banner=Welcome to blah FTP service. # # 是否允许禁止匿名用户使用某些邮件地址,如果是,输入禁止的邮件地址的路径和文件名 #deny_email_enable=YES #banned_ema
14、il_file=/etc/vsftpd.banned_emails #,2. vsftpd的默认配置文件,#是否将系统用户限止在自己的home目录下,如果选择了yes那么chroot_list_file=/etc/vsftpd.chroot_list中列出的是不chroot的用户的列表 #chroot_list_enable=YES #chroot_list_file=/etc/vsftpd.chroot_list # 设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/目录下 pam_service_name=vsftpd #由于默认情况下userlist_deny=YES,
15、所以/etc/vsftpd.user_list文件中 #所列出的用户不允许访问vsftpd服务器。 userlist_enable=YES #使vsftpd处于独立启动模式 listen=YES #使用tcp_wrappers作为主机的访问控制方式 tcp_wrappers=YES,3. 修改vsftpd的默认配置,具体的步骤如下: (1)修改/etc/vsftpd/vsftpd.conf配置文件,激活以下两项,即在原文件以下两行前的“”去掉。 anon_upload_enable=YES/允许匿名用户上传 anon_mkdir_write_enable=YES/允许匿名用户创建新目录,3.
16、修改vsftpd的默认配置,(2)在原配置文件中添加下面一行,目的是开放匿名用户的浏览权限。 anon_world_readable_only=NO 如果允许匿名用户对服务器上的文件或文件夹有更名或删除操作的权限,还需在配置文件中添加下面一行: anon_other_write_enable=YES,3. 修改vsftpd的默认配置,(3)开放本地用户写的权限必须打开。Write_enable=YES (4)修改完配置文件并存盘后,使用下面的命令重新启动vsftpd服务。# service vsftpd restart (5)修改匿名用户上传目录的权限,匿名用户的默认目录是“/var/ftp/
17、pub”。可使用下面的命令修改:# chmod +777 /var/ftp/pub,6.2.4 FTP客户端的常用命令,1. 与某个FTP服务器建立连接,2. 列出FTP服务器上的目录:,在提示符“ftp”下,执行“ls”或“dir”命令后,屏幕会显示当前目录下的文件或子目录。显示格式与Linux命令提示行所显示的某个目录文件方式完全相同。,3. 改变当前目录,在提示符“ftp”下,执行“cd”或“pwd”命令,可以查看当前目录;执行“cd”命令可以进入上一级目录;执行“cd 子目录名”命令,可以进入子目录,例如,输入“cd mail”,表示进入当前目录下的“mail”子目录。,4. 一般文件
18、传送,(1)下载单个文件 get命令能从远程计算机上下载一个文件,其命令格式如下: get 源文件名 目标文件名 (2)下载多个文件 mget命令是从远程计算机取多个文件。命令格式为: mget 源文件列表,(3)上传单个文件 将本地计算机的文件传送到远程计算机上,其命令格式为:put 源文件名 目标文件名(4)上传多个文件 mput命令可以将本地计算机的多个文件一起送到远程主机。其命令格式为:mput 文件名列表,6.2.5 FTP客户端软件的配置方法,1. Windows系统下的FTP客户端软件的配置方法,2. Linux系统下的FTP客户端软件的配置方法,6.3 邮件服务器(E-mail
19、),6.3.1 概述电子邮件(Electronic mail)服务是Internet网络为用户提供的一种最基本的、最重要的服务之一。 电子邮件将邮件发送到收信人的邮箱(mail box)中,收信人可随时读取邮件。电子邮件有非常高的效率。,1 E-mail的工作原理,在Internet网上,一封电子邮件的实际传递过程如下: (1)由发送方计算机(客户机)的邮件管理程序将邮件进行分拆,即把一个大的信息块分成一个个小的信息块,并把些小的信息块封装成传输层协议(TCP层)下的一个或多个TCP邮包(分组)。 (2)TCP邮包又按网际层协议(IP层)要求,拆分成IP邮包(分组),并在上面附上目的计算机的地
20、址(IP地址)。,1 E-mail的工作原理,(3)根据目的计算机的IP地址,确定与哪一台计算机进行联系,与对方建立TCP连接。 (4)如果连接成功,便将IP邮包送上网络。IP邮包在Internet的传递过程中,将通过对路径的路由选择,经过许许多多路由器存储转发的复杂传递过程,最后到达接收邮件的目的计算机。 (5)在接收端,电子邮件程序会把IP邮包收集起来,取出其中的信息,按照信息的原始次序复原成初始的邮件,最后传送给收信人,(1)SMTP协议,SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)是Internet上基于TCP/IP应用层的协议,适用于主机之
21、间电子邮件交换。 使用SMTP时,收信人可以是和发信人连接在同一个本地网络上的用户,也可以是Internet上其它网络的用户,或者是与Internet相连但不是TCP/IP网络上的用户,,(2)POP3,POP3(Post Office Protocol version 3 邮局协议版本3)是系统的基本协议之一 允许用户在不同的地点访问服务器上电子邮件,并决定是把电子邮件存放在服务器邮箱上,还是存入在本地邮箱内。,(3)MIME,MIME(Multipurpose Internet Mail Extensions,称为“多用途Internet邮件扩展协议”)是一种编码标准,解决了SMTP协议仅
22、能传送ASCII码文本的限制 MIME定义了各种类型的数据,例如,声音、图像、表格、二进制数据等编码格式。,2. E-mail的地址,完整的电子邮件地址由二部分组成,第一部分为计算机上的邮箱,第二部分为计算机。一种广泛使用的格式是用“”隔开二部分,例如:,3. E-mail邮件格式,信息由ASCII文本组成,包括两个部分,中间用一个空行分隔。第一部分是一个头部(header),包括有关发送方、接收方、发送日期和内容格式等等文本;第二部分是正文(body),包括信息的文本,这部分是让用户自由撰写,3. E-mail邮件格式,6.3.2 Sendmail的安装与启动,1. 安装Sendmail 在
23、Red Hat Linux 9的安装光盘中提供了Sendmail的RPM包,其内容包括: sendmail:sendmail服务器 sendmail-cf:与sendmail服务器配置相关的文件和程序 sendmail-doc:sendmail服务器的文档,6.3.2 Sendmail的安装与启动,1. 安装Sendmail 当不能确定在Red Hat Linux 9中是否安装了sendmail服务器时,可使用下面的命令来进行测试: # rpm qa | grep sendmail,6.3.2 Sendmail的安装与启动,1. 安装Sendmail 如果在安装Red Hat Linux 9时
24、没有安装sendmail服务器,可把Red Hat Linux 9的安装光盘的第一张放入光驱,并执行如下的命令: # rpm ivh sendmail-8.12.8-4.i386.rpm 该命令是安装了sendmail服务器,另外,还需要安装sendmail-cf和sendmail-doc,把Red Hat Linux 9的安装光盘的第三张放入光驱,并执行如下的命令: # rpm ivh sendmail-cf-8.12.8-4.i386.rpm # rpm ivh sendmail-doc-8.12.8-4.i386.rpm,2. 启动Sendmail,3. 配置DNS的MX记录,$TTL
25、86400 IN SOA . root.localhost (2 ; serial28800 ; refresh7200 ; retry604800 ; expire 86400 ; ttl)IN NS . IN MX 1 computer computer IN A 211.85.203.22,6.3.3 Sendmail的配置,1. Sendmail配置 Sendmail配置的步骤如下: (1)单击面板上的“主菜单系统设置服务器设置服务配置”。 (2)在打开的对话框中,选中“ipop3”和“sendmail”并启动。 (3)修改Sendmail的配置文件“/etc/mail/sendmai
26、l.cf”。将该文件中的行Cwlocalhost 修改为C 然后存盘。,6.3.3 Sendmail的配置,1. Sendmail配置 (4)修改Sendmail的配置文件“/etc/mail/sendmail.mc”。将该文件中有以下字符串开头的四行用注释符号“#”注释掉。“DAE_option” (5)使用下面的命令重新生成配置文件。# make C /etc/mail (6)修改/etc/mail/access文件,在该文件中加入下面一行: Replay,6.3.3 Sendmail的配置,2. Sendmail邮件服务器的验证,6.3.4 在Linux操作系统中邮件客户端的设置方法,
27、在Red Hat Linux 9系统中邮件客户端可以采用以下三种方式: Evolution程序; Mozilla Mail程序; 基于文本的电子邮件客户,本章小结 本章主要讲解Internet应用服务器的配置方法,这些服务器包括DNS服务器、FTP服务器、E-mail服务器。在域名系统一节中首先介绍了什么是DNS、DNS的域名结构、DNS解析的工作过程,然后介绍了在Linux下如何进行DNS服务器的配置,最后讲解了在Windows和Linux操作系统下DNS客户端的配置方法以及如何来测试DNS配置是否正确;在文件传输协议服务器一节中,介绍了FTP协议的工作原理、Linux中FTP服务器的配置方法、FTP客户端常用命令的使用方法、在不同系统中FTP客户端常用软件的与FTP服务器的连接方法;在邮件服务器一节中,介绍了邮件的工作原理、邮件的格式、Linux中邮件服务器的安装与配置方法、在不同操作系统中如何使用邮件的客户端软件进行邮件的收发。通过对本章的学习,读者应该熟练掌握这几种服务器的安装、启动、设置方法。,