2010-5-15 计算机网络技术及应用 1
第八章 用 Linux构建 Intranet
本章主要内容
? Apache服务器的安装与设置
? FTP服务器的安装与设置
? DHCP服务器的安装与设置
? DNS服务器的安装与设置
? 邮件服务器的安装与设置
? Linux下 NAT服务器简介
2010-5-15 计算机网络技术及应用 2
8.1 Apache服务器的安装与设置
1 Apache服务器简介
Apache 服务器是由 Apache 软件基金
( http://www.apache.org) 开发的一个功能强
大的 web服务器 。 在当前因特网上, Apache
是应用最广泛的 web服务器 。 根据美国的
NetCraft在不久前的一份调查结果显示:
Apache占据了互联网网页服务器市场份额的
59.51%,而 Microsoft IIS只占据 27.46%。
2010-5-15 计算机网络技术及应用 3
8.1 Apache服务器的安装与设置
2 Apache服务器安装
安装 Apache服务器有两种方法,
(1)通过 rpm安装
在 RedHat Linux9.0安装光盘上可以找到 Apache的 rpm包,
或者到 RedHat的 FTP服务器和其镜像站点找到 Apache的 rpm
包 。
得到 Apache的 rpm包 后, 可以通过下面的命令安装:
# rpm –Uvh apache.x.x.x.rpm
其中 x.x.x为 Apache的版本号, 在 RedHat Linux9.0里是
2.0.40。
2010-5-15 计算机网络技术及应用 4
8.1 Apache服务器的安装与设置
( 2)通过源代码生成 Apache
获得 Apache 的 源 代码 有 几种 不同 的 方法 。
RedHat的发布版本包含有 Apache源代码的 SRPM软
件包, 另外还可以在 ftp://updates.redhat.com中找到
最新的版本, 也可以从 http://www.apache.org/ 下载
Apache的源代码 。
目前最新的 Apache源代码包的版本是 httpd-
2.0.44.tar.gz。
获得 Apache的源代码后的安装步骤如下,
2010-5-15 计算机网络技术及应用 5
8.1 Apache服务器的安装与设置
第一步, 解压缩 Apache源代码包
# tar zxvf httpd-2.0.44.tar.gz
第二步, 编译生成 Apache服务器
解压缩之后会创建一个 httpd-2.0.44的目录, 进
入该目录, 并编译生成 Apache服务器 。
#cd httpd-2.0.44
#./configure –prefix=/data/apache
# make
# make install
2010-5-15 计算机网络技术及应用 6
8.1 Apache服务器的安装与设置
3 配置 Apache服务器
Apache的配置文件是 /etc/httpd/config/httpd.conf,
Apache的运行参数由此文件决定,通过修改此文件,
来调整 Apache的性能。
在需要配置 Apache服务器时,首先编辑 httpd.conf
文件,然后使用 reload,restart,stop和 start等参
数重新启动 httpd进程使得该配置文件生效。如:
# /etc/rc.d/init.d/httpd reload
# /etc/rc.d/init.d/httpd stop
2010-5-15 计算机网络技术及应用 7
8.1 Apache服务器的安装与设置
4 启动和关闭 Apache服务器
通过 /sbin/service命令启动 Apache服
务器:
# /sbin/service httpd start
关闭 Apache服务器,采用如下的命令:
# /sbin/service httpd stop
2010-5-15 计算机网络技术及应用 8
8.1 Apache服务器的安装与设置
4 启动和关闭 Apache服务器
命令 restart则用来先关闭服务器,然后
再启动服务器:
# /sbin/service httpd restart
如果编辑了 httpd.conf配置文件,若要配
置文件中的配置得以执行,又不想重新
启动服务器,可以使用 reload命令:
# /sbin/service httpd reload
2010-5-15 计算机网络技术及应用 9
8.2 FTP服务器的安装与设置
1 安装 vsftpd服务器
如果选择完全安装 RedHat Linux9.0,则系
统就默认安装 vsftpd服务器 。 如果安装 RedHat
Linux9.0时没有选择 vsftpd服务器, 则可以按
照如下操作安装 vsftpd服务器 。
单击 【 主菜单 】 |【 系统设置 】 |【 添加删除
应用程序 】 菜单项, 在出现的 【 软件包管理 】
对话框里选中, FTP服务器, 选项, 然后单击
【 更新 】 按钮, 插入第三张安装光盘, 按照屏
幕提示完成安装 。
2010-5-15 计算机网络技术及应用 10
8.2 FTP服务器的安装与设置
也可以直接插入第三张安装光盘,
定位到 /RedHat/RPMS 下的 vsftpd-
1.1.3-8.i386.rpm安装包, 然后在终端
命令窗口运行以下命令即可开始安装 。
# rpm –ivh vsftpd-1.1.3-8.i386.rpm
2010-5-15 计算机网络技术及应用 11
8.2 FTP服务器的安装与设置
2 vsftpd配置
在 RedHat Linux9.0中, vsftpd共有 3个配置文件, 它
们是:
vsftpd.ftpusers 位于 /etc目录下 。 指定哪些用户
帐号不能访问 FTP服务器 。
vsftpd.usr_list 位于 /etc目录下 。 该文件里的用户
帐号在默认情况下也不能访问 FTP服务器 。
vsftpd.conf 位于 /etc/vsftpd目录下 。 该文件定
义用户登录控制, 用户权限控制, 超时设置, 服务器
性能选项, 服务器响应消息等 FTP服务器的配置 。
2010-5-15 计算机网络技术及应用 12
8.2 FTP服务器的安装与设置
(1)用户登录控制
anonymous.enable=YES,允许匿名用户登录 。
no_anon_password=YES,匿名用户登录时不需
要输入密码 。
local_enable=YES,允许本地用户登录 。
deny_email_enable=YES,可以创建一个文件
保存某些匿名电子邮件的黑名单, 以防止这些
人使用 Dos攻击 。
2010-5-15 计算机网络技术及应用 13
8.2 FTP服务器的安装与设置
(2)用户权限控制
write_enable=YES,开启全局上传权限 。
anon_upload_enable=YES,允许匿名用户具有上传权
限 。
anon_mkdir_wirte_enable=YES,允许匿名用户有创建
目录的权利 。
chown_username=whoever,当启用 chown_uploads=YES时,
所指定的属主用户帐号, 此处的 whoever用合法的用户
帐号来代替 。
chroot_list_enable=YES,用一个列表限定哪些本地
用户只能在自己目录下活动 。
2010-5-15 计算机网络技术及应用 14
8.2 FTP服务器的安装与设置
(3)用户连接和超时选项
idle_session_timeout=600, 设
定默认的空闲超时时间, 用户超过这
段时间不动作将被服务器踢出 。
data_connection_timeout=120,
设定默认的数据连接超时时间 。
2010-5-15 计算机网络技术及应用 15
8.2 FTP服务器的安装与设置
(4)服务器日志和欢迎信息
dirmessage_enable=YES,允许为目录配置显示信
息, 显示每个目录下面的 message_file文件的内容 。
ftpd_banner=Welcome to FTP service,自定义 FTP
用户登录到服务器所看到的欢迎信息 。
xferlog_enable=YES,启用记录上传 /下载活动日
志功能 。
xferlog_file=/var/log/vsftpd.log,自定义日志文件
的保存路径和文件名, 默认是 /var/log/vsftpd.log。
2010-5-15 计算机网络技术及应用 16
8.2 FTP服务器的安装与设置
3 启动 /重新启动 /停止 vsftpd服务
在终端命令窗口运行以下命令启动 /重新启动 /停
止 vsftpd服务:
启动 vsftpd服务:
# /etc/rc.d/init.d/vsftpd start
重新启动 vsftpd服务:
# /etc/rc.d/init.d/vsftpd restart
关闭 vsftpd服务:
# /etc/rc.d/init.d/vsftpd stop
2010-5-15 计算机网络技术及应用 17
8.2 FTP服务器的安装与设置
4 其余的 ftp软件
Linux系统下的 FTP服务器软件除了
vsftpd外, wu-ftpd,proftpd,pureftpd等
也很出名, 其中有不少支持数据库用户
以及带宽和线程控制等功能, 可以参考
专门的资料来完成各种功能的 FTP服务
器的配置 。
2010-5-15 计算机网络技术及应用 18
8.3 DHCP服务器的安装与设置
1 DHCP 服务器工作的前提条件
为了使 DHCP服务器为 windows主机服务, 需要
创建一个到地址 255.255.255.255 的路由, 加
这条路由命令到 /etc/rc.d/rc.local 使每次启动时
自动运行 。
# route add -host 255.255.255.255 dev eth0
如 果 报 告 错 误 消 息, 255.255.255.255,
Unkown host 试着加下面的入口到 /etc/hosts
文件,
#route add -host dhcp dev eth0
2010-5-15 计算机网络技术及应用 19
8.3 DHCP服务器的安装与设置
2 安装 DHCP服务器软件
在 RedHad Linux9.0中, 默认情况下并没有安
装 DHCP服务器软件, 可以在终端窗口下用如下
命令安装,
# mount /mnt/cdrom
# rpm -ivh /mnt/cdrom/RedHat/RPMS/dhcp-3.0pl1-23.i386.rpm
2010-5-15 计算机网络技术及应用 20
8.3 DHCP服务器的安装与设置
3 配置 DHCP服务器
DHCP服务器的配置文件是 /etc/dhcpd.conf,下面给出一个 DHCP配置文
件的例子:
Sample /etc/dhcpd.conf
default-lease-time 1200;
max-lease-time 9200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1,192.168.1.2;
option domain-name,zzei.net”;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
range 192.168.1.150 192.168.1.200;}
2010-5-15 计算机网络技术及应用 21
8.3 DHCP服务器的安装与设置
上例 允许 DHCP服务器分配两段 IP地址范围给
客户 192.168.1.10-100和 192.168.1.150-200,
如果客户不继续请求 DHCP地址, 则 1200秒后释
放 IP地址, 否则最大允许租用的时间为 9200秒 。
服务器发送下面的参数给 DHCP客户机:用
255.255.255.0 作 为 子 网 掩 码, 用
192.168.1.255 作 为 广 播 地 址, 用
192.168.1.254作为默认网关, 用 192.168.1.1
和 192.168.1.2作为 DNS服务器 。
2010-5-15 计算机网络技术及应用 22
8.3 DHCP服务器的安装与设置
可以为某块网卡指定固定的 IP地址 。 无论
何时, 这块网卡将总是从 DHCP服务器获
得固定的 IP 地址, 加 下 面 的 语 句 到
/etc/dhcpd.conf:
host haagen {
hardware ethernet 08:00:2b:4c:59:23;
fixed-address 192.168.1.222;
}
2010-5-15 计算机网络技术及应用 23
8.3 DHCP服务器的安装与设置
4 启动 DHCP服务器
启动 DHCP服务器, 可以在终端命令窗口输入:
# /usr/sbin/dhcpd
或者用 # ntsysv把 DHCP服务自动启动 。
如果想在 eth1设备上启动 dhcpd,则,
# /usr/sbin/dhcpd eth1
2010-5-15 计算机网络技术及应用 24
8.3 DHCP服务器的安装与设置
5 测试 DHCP服务
选择一台客户机, 启动 windows,将
IP地址选择为自动获得, 重新启动计算
机后, 执行 ipconfig/all命令检查 DHCP
服务是否设置正确 。
2010-5-15 计算机网络技术及应用 25
8.4 DNS服务器的安装与设置
1 DNS的实现机制
DNS实际上是一个分布式的数据库系统, 通常由
两种实现机制:一种是用主机表, 另一种是采用
域名服务器 。
( 1) 主机表机制
在互联网发展的初期, 当时的主机数量不多,
名字服务器是通过一张大型的主机表来完成 。 这
张表被称为 NIC注册主机表, 它保存所有已经注册
的网站的主机名和对应的 IP地址 。
2010-5-15 计算机网络技术及应用 26
8.4 DNS服务器的安装与设置
( 2) 域名服务器系统
域名服务器系统一般采用域名服务器来
实现域名到 IP地址之间的转换, 目前常用的
服务程序是 BIND( Berkeley Internet Name
Domain,伯克利网间名字域 ) 。
DNS用域的层次结构来组织主机名 。 一个
域是在某些方面相关站点的集合 。 名字空间
类似于一棵树, 这棵树的入口用一个点表示,
称为根域 。 根据在层次结构中的位置, 一个
域可以分为顶级域, 第二级域, 第三级域 。
2010-5-15 计算机网络技术及应用 27
8.4 DNS服务器的安装与设置
2 安装 BIND服务
( 1) 安装前的 准备工作
在 RedHat Linux 系统 光盘内有 bind-9.2.1-9.i386.rpm包,
执行如下命令:
# rpm –ivh bind-9.2.1-9.i386.rpm
如果获得的 BIND软件包是源代码 bind-9.2.2.tar.gz,首
先对该软件包进行解压缩 。 命令是:
# tar zxvf bind-9.2.2.tar.gz
并进行如下配置:
# cd bind-9.2.2
#,/configure –prefix=/usr/local/bind
2010-5-15 计算机网络技术及应用 28
8.4 DNS服务器的安装与设置
( 2) 编译安装
使用 make命令进行编译, 首先使用 clean关键字清除
目录内一些不必要的文挡 。
# make clean
再使用 make的 depend关键字改变设置文件 Makefile
内的相关设置 。
# make depend
执行 make命令对 BIND程序进行编译 。
# make
最后使用 make install命令进行 BIND程序安装 。
# make install
2010-5-15 计算机网络技术及应用 29
8.4 DNS服务器的安装与设置
( 3) 启动和关闭
安 装 成 功 后, 可 以 启 动 BIND, 在
RedHat Linux中执行如下命令:
# service named start
如果要关闭 BIND,执行如下命令:
# /etc/init.d/named stop
2010-5-15 计算机网络技术及应用 30
8.4 DNS服务器的安装与设置
3 配置 DNS服务器
BIND中几乎所有的配置都是通过 /etc/named.conf
文件完成的 。 这个文件以纯文本的形式存放各服务
器信息和区信息 。 下面是 该文件的一个例子 。
options {
directory,/var/named”;
forwarders {
202.102.224.68;
};
pid-file "/var/run/named/named.pid";
allow-query { any; };
allow-transfer { any; }; }; ( 内容接下页 )
2010-5-15 计算机网络技术及应用 31
8.4 DNS服务器的安装与设置
zone,.” IN {
type hint;
file“named.ca”; };
zone,zzei.net” IN {
type master;
file“zzei.net”; };
zone,0.0.127.in-addr.arpa” IN {
type master;
file,named.local”; };
zone,100.168.192.in-addr.arpa” IN {
type master;
file,100.168.192”; };
2010-5-15 计算机网络技术及应用 32
8.4 DNS服务器的安装与设置
上例中,, directory” 一行指定 named 从
,/var/named”目录下读取 DNS数据文件, 这个目录
用户可自行指定并创建 。 第一个区登记项用来通知
BIND在何处定位根服务器的信息 。 文件中的 zone
“zzei.net”段是声明这是用于, zzei.net”域的主域
名服务器, 该域的数据从, /var/named/zzei.net”
文件 中 读 取 。 文 件 中的 zone,100.168.192.in-
addr.arpa”段是指向映射 IP地址, 192.168.100.*”
到主机名的文件, 该 域 的 数 据 从
,/var/named/100.168.192”文件中读取 。
2010-5-15 计算机网络技术及应用 33
8.4 DNS服务器的安装与设置
4 BIND服务器的维护
管理员要维护好一个域名服务器非常困
难,BIND软件组提供了大量的管理工具来
减轻管理员的负担。如 rndc reload用来装入
新的数据库; nslookup用来查询域名信息。
域名服务器的维护关键在于数据库文件的正
确性,管理员要不断地更新维护。系统管理
员为了域名服务器正确、高效地运行,需要
日复一日地努力工作。
2010-5-15 计算机网络技术及应用 34
8.5 邮件服务器的安装与设置
邮件服务器至少涉及两个组件,MTA
( Mail Transfer Agent,邮件传输代理 )
和 MUA( Mail User Agent,邮件用户代
理 ) 。
MTA是服务器端应用程序, 它负责处理
邮件的发送和接收 。
MUA是用户使用的客户端程序, 常见的
MUA有 Microsoft Outlook,Foxmail等 。
2010-5-15 计算机网络技术及应用 35
8.5 邮件服务器的安装与设置
1 Linux下 常用的 MTA
?Sendmail:被 目前 Internet上大多数的电子邮
件系统使用,是 RedHat Linux中默认的 MTA 。
?Postfix:是 Sendmail的一个流行的替代 MTA
程序。 Postfix的特点是速度快、安全和容易管
理 。
?Qmail:目标是比 Sendmail更容易使用。特点
是安全、可靠、高效、简单。
2010-5-15 计算机网络技术及应用 36
8.5 邮件服务器的安装与设置
2 安装 Sendmail
( 1) 通过图形界面方式安装
单击 【 主菜单 】 |【 系统设置 】 |【 添加删除应用程序 】
菜单项, 然后单击 【 更新 】 按钮, 插入第一张安装光盘按
照屏幕提示完成 Sendmail服务器的安装 。
(2)通过 rpm安装包
在终端命令窗口执行以下命令:
#rpm –ivh sendmail-8.12.8-4.i386.rpm
#rpm –ivh sendmail-cf-8.12.8-4.i386.rpm
#rpm –ivh sendmail-doc-8.12.8-4.i386.rpm
2010-5-15 计算机网络技术及应用 37
8.5 邮件服务器的安装与设置
3 配置 Sendmail
Sendmail的配置文件是位于 /etc/mail目录下
的 sendmail.cf。
通常在 /etc/mail目录下有一个 sendmail.mc
模板文件, 一般通过修改 sendmail.mc模板来达到
定制 sendmail.cf文件的目的 。
下面是创建 sendmail.cf文件的步骤:
( 见下页 )
2010-5-15 计算机网络技术及应用 38
8.5 邮件服务器的安装与设置
⑴ 备份原有 sendmail.cf文件
在终端命令窗口运行以下命令:
# cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.bak
⑵ 生成 sendmail.cf文件
根据 sendmail.mc模板文件生成 sendmail.cf配置
文件, 并导出到 /etc/mail目录下:
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
⑶ 重启 sendmail服务
# /etc/rc.d/init.d/sendmail restart
2010-5-15 计算机网络技术及应用 39
8.5 邮件服务器的安装与设置
4 启动 /重新启动 /停止 Sendmail服务
安装 Sendmail服务器后, 最简单的启动方式是在
终端命令窗口执行如下命令:
# /etc/tc.d/init.d/sendmail start
在终端命令窗口执行以下命令重新启动 sendmail
服务:
# /etc/rc.d/init.d/sendmail restart
在终端命令窗口执行以下命令来停止 sendmail
服务:
# /etc/rc.d/init.d/sendmail stop
2010-5-15 计算机网络技术及应用 40
8.5 邮件服务器的安装与设置
5 为新用户开电子邮件帐号
在 Linux里为新用户开设电子邮件帐
号比较简单, 只需在 Linux系统里新增
一个用户即创建了一个同名的邮件帐号 。
( 1) 在 终端窗口 为新用户开设电子邮
件帐号的命令是:
# adduser peter –p peter
2010-5-15 计算机网络技术及应用 41
8.5 邮件服务器的安装与设置
( 2)在 图形界面下 为新
用户开设电子邮件帐号
的操作是:
单击 【 开始 】 |【 系统设
置 】 |【 用户和组群 】 菜
单项,打开 【 Red Hat 用
户管理器 】 对话框,单
击 【 添加用户 】 按钮,
在出现的 【 创建新用户 】
对话框里指定用户名、
登录口令,如右图所示。
2010-5-15 计算机网络技术及应用 42
8.5 邮件服务器的安装与设置
6 支持 POP和 IMAP功能
( 1) POP和 IMAP服务器的安装
安装 RedHat Linux 9.0时, 可以选择安装 POP和
IMAP服务器, 如果没有安装, 可以将第二
张安装光盘放入光驱, 然后在终端命令窗口
运行以下命令即可开始安装:
# cd /mnt/cdrom/RedHat/RPMS
# rpm –ivh imap-2001a-18.i386.rpm
2010-5-15 计算机网络技术及应用 43
8.5 邮件服务器的安装与设置
( 2)启动 POP和 IMAP服务
要成功启动 POP和 IMAP服务器, 首先要确定这些服
务器存在于 /etc/services文件, 并确保以下的服务器前
面没有加上, #”注释 。
Imap 143/tcp imap2 # Interim Mail Access Proto v2
Imap 143/udp imap2
Pop2 109/tcp pop-2 postoffice # POP version 2
Pop2 109/udp pop-2
Pop3 110/tcp pop-3 # POP version 3
Pop3 110/udp pop-3
2010-5-15 计算机网络技术及应用 44
8.5 邮件服务器的安装与设置
修改好 /etc/services文件,还要对相应服务配
置文件进行修改。
启动 POP3服务,修改 /etc/xinetd.d/ipop3文件,
将其中的, disable=yes”改为, disable=no”,保
存该文件 。 重新启动 xinetd使设定内容生效:
# /etc/rc.d/init.d/xinetd reload
启动 IMAP服务,修改 /etc/xinetd/imap文件, 将
其中的, disable=yes”改为, disable=no”,保存
该文件 。 重新启动 xinetd使设定内容生效:
# /etc/rc.d/init.d/xinetd reload
2010-5-15 计算机网络技术及应用 45
8.6 Linux下一个 NAT配置的实例
网络地址转换 ( NAT) 被广泛应用于各
种类型的 Internet接入方式中 。 原因很简单,
NAT不仅完美地解决了 IP地址不足的问题,
而且还能有效地避免来自网络外部的攻击,
隐藏并保护网络内部的计算机 。
在 Linux环境下 实现 NAT的工具 是 RedHat
Linux 9.0自带的防火墙工具包 iptables。
2010-5-15 计算机网络技术及应用 46
8.6 Linux下 NAT服务器简介
下面是某校园网 NAT配置文件的实例 。其
中服务器安装 RedHat Linux 9.0,外网网卡
为 eth0,IP地址为 202.110.116.116,内网网
卡是 eth1,IP地址为 192.168.254.254。通过
NAT技术,将校园网接入 Internet。
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
#/sbin/insmod ip_tables
iptables -F INPUT
iptables -F FORWARD
iptables -F POSTROUTING -t nat ( 接下页 )
2010-5-15 计算机网络技术及应用 47
8.6 Linux下 NAT服务器简介
iptables -P FORWARD DROP
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -m state --state
ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s
192.168.254.0/24 -j MASQUERADE
/sbin/insmod ip_conntrack_ftp
/sbin/insmod ip_conntrack_irc
/sbin/insmod ip_nat_ftp
/sbin/insmod ip_nat_irc