Linux网络服务器9
9.1 Samba服务器
Samba是在 Linux和 UNIX系统上实现 SMB(
Session Message Block)协议的一个免费软件,由服务器及客户端程序构成。使用 Samba工具,能在使用
Linux和 Windows操作系统的计算机之间共享资源。
Samba组成
Smbtar05
testparm04
smbclient( SMB客户程序)03
nmbd( Netbios名字服务器)02
smbd( SMB服务器)01
Samba服务器的安装安装 Samba服务器需要以下软件包,
samba-common-2.2.7a-7.9.0.i386.rpm
samba -2.2.7a-7.9.0.i386.rpm
samba-client-2.2.7a-7.9.0.i386.rpm
具体安装步骤:
# rpm –ivh samba-common-2.2.7a-7.9.0.i386.rpm
# rpm –ivh samba -2.2.7a-7.9.0.i386.rpm
# rpm –ivh samba-client-2.2.7a-7.9.0.i386.rpm
smb.conf文件的配置
/etc/samba目录下,有三个默认的 Samba配置文件:
smb.conf:主配置文件。
smbusers,Linux和 Windows用户名数据文件。
lmhosts,IP地址与 NetBIOS名称数据文件。
smb.conf的配置信息分为若干区段( section),并用该区段的名字分开。
smb.conf全局参数设置
workgroup = MYGROUP //设定工作组名。
server string = Samba Server //设定机器的说明信息。;hosts allow = 192.168.1,192.168.2,127.
//设置允许访问的网络和主机 IP。
security = user
//定义 Samba的安全级别。按从低到高 Samba的安全级别分为
share,user,server和 domain四个级别。
encrypt passwords = yes //设置是否对口令进行加密。
smb passwd file = /etc/samba/smbpasswd //设置存放
Samba用户口令的文件。
smb.conf共享服务配置
[homes] //用户个人主目录配置
comment = Home Directories //该服务器的描述。
browseable = no //指定其他用户是否可以浏览。
writable = yes //设置此目录是否可以写入。
create mode = 0664 //设置文件的访问权限。
directory mode = 0775 //设置目录的访问权限检查 smb.conf
当设置和修改了 smb.conf文件后,为避免错误,
应使用 testparm命令检验修改的正确性。 testparm检查用户为每一区段所指定的语法和选项的正确性,可保证指定的共享和服务能正常工作。如果指定了主机名或 IP地址作为参数,它还会检查指定主机的访问权限。
testparm命令运行情况如下:
# testparm
Samba服务器的启动停止启动服务:
# /etc/init.d/smb start
停止服务:
# /etc/init.d/smb stop
重新启动服务:
# /etc/init.d/smb restart
Samba安全设置
( 1)设定 security选项值为 user。
此选项使得 Samba服务器使用用户名和口令才可以登陆,阻止了未经认证用户的登陆。
( 2)设定 Samba用户口令完成口令设置的命令为 smbpasswd:
# smbpasswd -a bxs
Samba的口令文件在 smb.conf文件中由,smb
passwd file”选项指定,一般为
/etc/samba/smbpasswd文件从 Windows系统访问共享
( 1)在 Windows系统下,输入 Samba服务器的地址
,查找共享的计算机。
( 2)输入用户名和口令。如果口令正确,将进入共享目录。
从 linux系统访问共享
( 1)使用 smbclient命令,命令格式为:
smbclient //hostname/sharename -U username
例如:
# smbclient //192.168.100.2/test -U bxs
( 2)使用 smbmount命令将一个 Samba的共享目录挂载到本地目录。
例如,现在想共享 192.168.100.2上的 test目录:
# smbmount //192.168.100.2/test /mnt/smb
9.2 NFS服务器
NFS( Network File System,网络文件系统)
用于在不同机器、不同操作系统之间通过网络互相分享各自的文件。 NFS可以让用户的计算机通过网络将远端的 NFS服务器共享出来的文件挂载到自身的系统中,在用户看来使用 NFS的远端文件就像在使用本地文件一样。
NFS配置文件设定
NFS服务器在 /etc/exports文件中设定,格式如下

欲分享出去的目录 主机名称 1或者 IP1(参数 1,参数 2
) 主机名称 2或者 IP2(参数 3,参数 4)参 数 功 能
rw 可读写的权限
ro 只读的权限
all_squash 登陆 NFS主机的 用户被 重新设定为 nobody
anonuid 将登入 NFS主机的用户都设定成指定的用户 id
anongid 将登入 NFS主机的用户组 ID设定成指定的 id
sync 资料同步写入存储器中
NFS配置文件设定(续 1)
例如可以编辑 /etc/exports为:
/tmp*(rw,no_root_squash)
/home/public192.168.100.*(rw)*(ro)
/home/test192.168.100.100(rw)
/home/linux*.neuq.edu.cn(rw,all_squash,anonuid
=40,anongid=40)
NFS的启动和停止启动 NFS:
# /etc/rc.d/init.d/nfs start
停止 NFS:
# /etc/rc.d/init.d/nfs stop
NFS服务器的状态查询使用 showmount查询 NFS服务器上共享目录的状态。
showmount [参数 ] [NFS服务器主机地址 ]
-e:显示 NFS服务器的输出列表。
-d:不指定 NFS服务器中已被客户端连接的输出目录
-a:显示指定 NFS服务器的所有客户端主机及其所连接的目录。
NFS客户端的设置
( 1)使用 mount命令
mount命令的格式如下:
mount –t nfs 服务器地址,共享目录 本地挂载点目录例如:
# mount –t nfs 192.168.100.2:/home/public
/mnt/bxs
( 2)使用 /etc/fstab挂载
( 3)使用 autofs挂载
9.3 DHCP服务器
DHCP( DynamicHostConfigurationProtocol
,动态主机配置协议)是用来自动给客户机器分配
TCP/IP信息的网络协议。
DHCP允许从本地网络上的 DHCP服务器中为客户机动态指派 IP地址。每个客户机都连接到中央位置的
DHCP服务器,该服务器会返回包括 IP地址、子网掩码、网关和 DNS服务器信息的客户网络配置。
DHCP工作原理
DHCP使用客户机 /服务器模型。通过在网络上安装和配置 DHCP服务器,启用 DHCP的客户机可在每次启动并加入网络时动态地获得其 IP地址和相关配置参数。 DHCP服务器以地址租约的形式将该配置提供给发出请求的客户机。
DHCP工作过程
DHCP工作时要求客户机和服务器进行交互,由客户机通过广播向服务器发起 IP地址申请,由服务器分配一个 IP地址以及其他的 TCP/IP设置信息。整个过程可以分为以下步骤:
DHCP工作过程(续 1)
( 1) IP地址申请
( 2) IP地址提供
( 3) IP地址选择
( 4) IP地址确认
( 5)重新登录
( 6)更新租约
DHCP服务器的安装配置
DHCP服务器的安装
# rpm -ivh dhcp-3.0pl1-23.i386.rpm
DHCP服务器的配置文件是 /etc/dhcpd.conf。通过文件模板建立此文件:
#cp /usr/share/doc/dhcp-
3.0pl1/dhcpd.conf.sample /etc/dhcpd.conf
DHCP的配置文件
/etc/dhcpd.conf文件的内容如下:
option routers 192.168.0.1;
//设置 DHCP客户的默认网关
option subnet-mask 255.255.255.0;
//设置 DHCP客户的子网掩码
option domain-name "domain.org";
//设置 DHCP客户的 DNS域
DHCP的配置文件(续 1)
option domain-name-servers 192.168.1.1;
//设置 DHCP客户 DNS服务器地址
range dynamic-bootp 192.168.0.128 192.168.0.255;
//设置 DHCP客户的地址池
default-lease-time 21600;
//设置 DHCP客户默认的地址租期
max-lease-time 43200;
//设置 DHCP客户最长的地址租期
DHCP服务启动停止启动 dhcp服务:
# /etc/init.d/dhcpd start
重新启动 dhcpd服务:
# /etc/init.d/dhcpd restart
停止 dhcpd服务:
# /etc/init.d/dhcpd stop
设置 DHCP客户机获取 IP地址将局域网中的一个 Windows客户端设置为自动获取 IP地址方式。
9.4 DNS服务器 ——域名系统概述域名系统( Domain Name System,DNS),
使得人们能够采用具有实际意义的字符串来表示既不形象,又难记忆的数字地址。域名系统采用层次结构
,按地理区域或机构区域进行分层。
每个域都有各自的域名服务器,由它们负责注册该域内的所有主机,即建立本域中的主机名与 IP地址的对照表。
域名系统工作过程客户计算机要求解析主机名称或 URL,向 DNS服务器发起查询请求。 DNS服务器收到查询时,它会依据资源记录信息来检查此查询,如果查询的信息存在于本机区域信息中,则取出对应的资源记录,将此记录返回给用户。若所查询名称没有存在于本地区域信息中,那么本地 DNS服务器会向上级 DNS服务器进行查询请求,直到获得所需要的信息。本地 DNS服务器再将这个信息返回给客户计算机。
域名系统工作过程(续 1)
安装 BIND软件安装 BIND软件需要的 RPM包为:
bind-utils-9.2.1-16.i386.rpm
bind-9.2.1-16.i386.rpm
caching-nameserver-7.2-7.noarch.rpm
使用如下命令安装:
# rpm -ivh /root/bind-utils-9.2.1-16.i386.rpm
# rpm -ivh /root/bind-9.2.1-16.i386.rpm
# rpm -ivh /root/caching-nameserver-7.2-
7.noarch.rpm
所需的配置文件文 件 名 说 明 功 能
/etc/named.conf 系统自带管理员配置主配置文件,定义域数据库信息的基本参数
etc/resolv.conf 系统自带管理员配置指定域名服务器的 IP和搜索顺序
/var/named/neuq.edu.cn.zone 管理员创建 正向解析配置文件
/var/named/100.168.192.in-
addr.arpa.zone
管理员创建 反向解析配置文件
/var/named/named.local 系统自带不需要修改本地解析文件配置 named.conf文件进程 named是域名服务的守护进程,该进程从
/etc/named.conf配置文件中获取有关信息并将主机名映射为 IP地址的各种文件。
在 name.conf文件中需要定义 5个基本区,分别是:
( 1)根区。
( 2)本地正向解析区。
( 3)本地反向解析区。
( 4)域名正向解析区。
( 5)域名反向解析区。
配置正向解析文件正向解析文件存放着 DNS服务器中域名和 IP的对应关系,实现从域名到 IP的解析。正向解析文件存放的位置由 named.conf中的 directory指定,文件名由
zone指定。
配置正向解析文件(续 1)
###第 1部分 ###

###第 2部分 ###
IN NS dns.neuq.edu.cn.
###第 3部分 ###
dnsINA192.168.100.2
wwwIN A 192.168.100.4
ftpIN A 192.168.100.5
mailIN A 192.168.100.6
news CNAME www
配置正向解析文件(续 2)
neuq.edu.cn.zone分为三部分:
( 1)第一部分是服务器的一些基本参数和指标。
( 2)第二部分指定了 neuq.edu.cn域的域名服务器为
dns.neuq.edu.cn。
( 3)第三部分是域名和 IP地址的对应部分,DNS服务器就是通过这个对应关系将域名解析为相应的 IP地址配置反向解析文件反向解析文件实现从 IP到域名的解析。反向解析文件存放的位置由 named.conf中的 directory指定,
文件名由 zone指定。现以 100.168.192.in-
addr.arpa.zone为例,详细叙述正向解析文件的结构和配置:
配置反向解析文件(续 1)
$TTL 86400

IN NS dns.neuq.edu.cn.
2INPTR dns.neuq.edu.cn.
4IN PTR www.neuq.edu.cn.
5IN PTR ftp.neuq.edu.cn.
6IN PTR mail.neuq.edu.cn.
配置 /etc/resolv.conf文件
resolv.conf文件指定本机所用的 DNS服务器的 IP
地址和搜索顺序,编辑 resolv.conf文件,加入如下记录:
nameerver192.168.100.2
启动和关闭 DNS服务器配置结束后,需要启动服务器,使用命令:
# /etc/init.d/named start
启动 DNS服务后,机器将监听 53端口,等待解析请求
,可以使用以下命令查询:
# netstat -an | grep 53
更改配置后,需要重新启动服务器,使用命令为:
# /etc/init.d/named restart
要停止服务器,使用命令为:
# /etc/init.d/named stop
DNS服务器测试使用 nslookup命令测试 DNS是否工作正常,在
nslookup命令中,输入 www.neuq.edu.cn,若解析结果为 192.168.100.4,则证明 DNS服务器运行正确。
9.5 FTP服务器
FTP( File Transfer Protocol,文件传输协议)
用于管理计算机之间的文件传送。若将文件从远程计算机拷贝到本地计算机上,称为“下载( download
)”文件;将文件从本地计算机拷贝到远程计算机上
,称为“上传( upload)”文件。
FTP采用客户机 /服务器方式。
FTP协议工作原理一个完整的 FTP文件传输需要建立两种类型的连接,一种为文件传输下达命令,称为控制连接,另一种实现真正的文件传输,称为数据连接。
服务器端一个 FTP进程可以同时为多个客户进程提供服务。服务器进程由两部分组成:一个主进程,
负责接受新的请求;另外有若干个从属进程,负责处理单个请求。
FTP用户授权要能登陆到 FTP服务器并使用 FTP服务器提供的服务,必须有该服务器的授权,即有访问该服务器的用户名和口令。
FTP地址形式如下:
ftp://用户名,密码 @FTP服务器 IP或域名,FTP命令端口
/路径 /文件名除了使用用户名和口令登陆以外,大多数 FTP服务器都支持“匿名”( Anonymous)登录。
安装启动 vsftpd服务器
# rpm –ivh vsftpd-1.1.3-8.i386.rpm
启动:
# service vsftpd start
停止:
# service vsftpd stop
重新启动:
# service vsftpd restart
vsftpd配置文件与 vsftpd的相关配置文件有四个,分别是
/etc/vsftpd/vsftpd.conf,/etc/vsftpd.ftpuser、
/etc/vsftpd.user_list和 /etc/vsftpd.chroot_list。
其中主配置文件为 /etc/vsftpd/vsftpd.conf,需要对此文件进行配置以达到应用需求。
该文件的默认内容及说明如下:
vsftpd配置文件(续 1)
anonymous_enable=YES
//是否允许匿名 FTP。允许选择 YES,不允许选择 NO。
#anon_upload_enable=YES
//是否允许匿名用户上传文件。
connect_from_port_20=YES
//启用 FTP数据端口的连接请求。
#chown_username=whoever
//把上传文件属主改为设定的系统用户名。
#idle_session_timeout=600
//设置默认的断开超时 session的时间。
vsftpd配置文件(续 2)
#data_connection_timeout=120
//设置数据传输超时时间。
#nopriv_user=ftpsecure
//运行 vsftpd需要的非特权系统用户,默认是 nobody。
#chroot_list_enable=YES
//是否将系统用户限止在自己的主目录下。
#chroot_list_file=/etc/vsftpd.chroot_list
//设置被限制主目录的用户。被限制的用户名在指定文件中列出
FTP客户端的常用命令使用 FTP命令行登陆服务器,其命令格式为:
ftp [-v|-d|-i|-n|-g] 主机名或 IP地址与某个 FTP服务器建立连接
[root@lab9 pub]# ftp
ftp> open 192.168.100.2
Name (192.168.100.2:root):输入 ftp帐户(匿名的帐户为 ftp)
Password,输入 ftp密码(匿名的密码为 ftp)
ftp>
FTP客户端的常用命令(续 1)
列出 FTP服务器上的目录,执行,ls”或,dir”命令后
改变当前目录:执行,cd 子目录名”命令
下载单个文件 get源文件名 目标文件名
下载多个文件 mget 源文件列表
上传单个文件 put 源文件名 目标文件名
上传多个文件 mput 文件名列表
9.6 Web服务器
WWW是一种交互式图形界面的 Internet服务,
是人们在网上查找、浏览信息的主要手段。
WWW服务器通过 HTML超文本标记语言把信息组织成为图文并茂的超文本; WWW浏览器则为用户提供基于 HTTP超文本传输协议的用户界面。
在 WWW的客户机 /服务器工作环境中,WWW
浏览器起控制作用,其任务是使用一个 URL来获取一个 WWW服务器上的 Web文档,解释这个 HTML,并将内容以用户环境所许可的效果最大限度地显示出来

Apache的主要特性:
几乎可以运行在所有的计算机平台上。
简单而且强有力的基于文件的配置 (httpd.conf)。
支持通用网关接口( CGI)。
支持虚拟主机。
支持 http认证。
集成 perl。
集成的代理服务器。
支持服务器端包含命令。
安装启动服务器安装软件:
# rpm -ivh httpd-2.0.40-21.i386.rpm
# rpm -ivh httpd-manual-2.0.40-21.i386.rpm
启动服务器:
# /etc/init.d/httpd start
服务器启动后,在客户机器浏览器中输入 Apache服务器的 IP地址,若出现欢迎界面,则证明 Apache服务器运行正常。
配置 Apache服务器
Apache的主配置文件是 httpd.conf,该文件在
etc/httpd/conf目录下。 httpd.conf文件的配置指令分为三个部分:
第一区为全局环境参数
01
第二区为主服务配置
02
第三区为虚拟主机配置
03
第一区
MaxKeepAliveRequests 100
//在稳固连接期间允许的最大请求数
KeepAliveTimeout 15
//同一个连接从同一客户上接收请求的秒数。
StartServers 8 //启动时服务器启动的进程数。
MinSpareServers 5 //保有的备用进程的最小数目。
MaxSpareServers 20 //保有的备用进程的最大数目
MaxClients 150 //服务器允许启动的最大进程数
MaxRequestsPerChild 1000 //一个服务进程允许最大请求数
Listen 80 //Listen指定监听端口。
第二区
User apache //运行 httpd的用户。
Group apache //运行 httpd的组。
ServerName new.host.name:80
//ServerName指定 Apache用于识别自身的名字和端口号。
DocumentRoot "/var/www/html"
//DocumentRoot指定文档的根目录。
DirectoryIndex index.html index.html.var
//DirectoryIndex定义当请求是一个目录时,Apache向用户提供服务的文件名。即可默认识别的文件名。
AddDefaultCharset ISO-8859-1 // 指定默认的字符集第三区
NameVirtualHost * //设定主机的 IP地址
ServerAdmin webmaster@dummy-host.example.com
//设定主机的管理邮件地址。
DocumentRoot /www/docs/dummy-host.example.com
//设定主机的发布页目录。
ServerName dummy-host.example.com
//设定用于识别自身的名字和端口号。
ErrorLog logs/dummy-host.example.com-error_log
//设定错误日志目录。
CustomLog logs/dummy-host.example.com-access_log
//设定客户日志目录。
配置虚拟主机虚拟主机是在一台 Web服务器上为多个单独的域名提供 Web服务,每个域名具有特定的目录和配置,
相当于将一台主机分为多台主机,虚拟主机技术可以解决主机数量不足情况下,需要为不同用户提供独立
Web服务的问题。
基于域名的虚拟主机基于域名的虚拟主机是根据客户端提交的 HTTP头中标识主机名的部分决定的,很多虚拟主机可以共享同一个 IP地址。
( 1)基于域名虚拟主机 DNS配置基于名称虚拟主机所有的域名只使用同一个 IP地址,
需要 DNS服务器的支持,在相应的 DNS数据库中为每个虚拟主机创建别名。
www IN A 192.168.100.2
auto CNAME www
computer CNAME www
基于域名的虚拟主机(续 1)
( 2)修改 httpd配置文件建立虚拟主机,需要在 /etc/httpd/conf/httpd.conf文件中为每个主机设定 <VirtualHost>配置块。
NameVirtualHost 192.168.100.2
<VirtualHost 192.168.100.2>
ServerAdmin www@bxs.com
DocumentRoot /var/www/html/www
ServerName www.bxs.com
</VirtualHost>
基于域名的虚拟主机(续 2)
<VirtualHost 192.168.100.2>
ServerAdmin auto@bxs.com
DocumentRoot /var/www/html/auto
ServerName auto.bxs.com
</VirtualHost>
<VirtualHost 192.168.100.2>
ServerAdmin computer@bxs.com
DocumentRoot /var/www/html/computer
ServerName computer.bxs.com
</VirtualHost>
基于 IP的虚拟主机
( 1)基于 IP虚拟主机的 DNS配置基于 IP的虚拟主机使用连接的 IP地址来决定相应的虚拟主机,需要为每个虚拟主机分配一个独立的 IP地址
。相应的 DNS数据库文件 /var/named/bxs.com.zone
配置如下:
www IN A 192.168.100.2
auto IN A 192.168.100.3
computer IN A 192.168.100.4
基于 IP的虚拟主机(续 1)
( 2)设定 IP地址虚拟主机每个域名都使用单独 IP地址,因此需要使用多块网卡,为每个网卡绑定一个 IP地址。或在一块网卡上绑定多个 IP地址。
( 2)修改 httpd配置文件在 /etc/httpd/conf/httpd.conf文件中为每个主机设定
<VirtualHost>配置块。
基于 IP的虚拟主机(续 2)
<VirtualHost 192.168.100.2>
ServerAdmin www@bxs.com
DocumentRoot /var/www/html/www
ServerName www.bxs.com
</VirtualHost>
<VirtualHost 192.168.100.3>
ServerAdmin auto@bxs.com
DocumentRoot /var/www/html/auto
ServerName auto.bxs.com
</VirtualHost>
基于 IP的虚拟主机(续 3)
<VirtualHost 192.168.100.4>
ServerAdmin computer@bxs.com
DocumentRoot /var/www/html/computer
ServerName computer.bxs.com
</VirtualHost>