您的位置:首页 > 其它

RedHat服务器配置方案(全)

2008-01-14 16:41 501 查看
RedHat服务器配置方案(全)
关键词: RedHat服务器配置方案(全

目 录

前 言

第一章 DNS
  1.1 简 介
  1.2 所需系统资源
     1.2.1 配置文件:
     1.2.2 相关工具:
  1.3 配置方案
  1.4 测试及管理方法
  1.5 本章小结

第二章 Apache
  2.1 简 介
  2.2 所需系统资源
     2.2.1 配置文件:
     2.2.2相关工具:
  2.3 配置方案
  2.4 测试及管理方法
  2.5 本章小节

第三章 DHCP
  3.1 简 介
  3.2 所需系统资源
     3.2.1 配置文件:
     3.2.2 相关工具:
  3.3 配置方案
  3.4 测试及管理方法
  3.5 本章小节

第四章 Samba
  4.1 简 介
  4.2 所需系统资源
     4.2.1 配置文件:
     4.2.2 相关工具:
  4.3 配置方案
  4.4 测试及管理方法
  4.5 本章小节

第五章 Squid
  5.1 简 介
  5.2 所需系统资源
     5.2.1 配置文件:
     5.2.2 相关工具:
  5.3 配置方案
  5.4 测试及管理方法
  5.5 本章小节

第六章 Sendmail
  6.1 简 介
  6.2 所需系统资源
     6.2.1 配置文件:
     6.2.2 相关工具:
  6.3 配置方案
  6.4 测试及管理方法
  6.5 本章小节

第七章 PPP
  7.1 简 介
  7.2 所需系统资源
     7.2.1 配置文件:
     7.2.2 相关工具:
  7.3 配置方案
  7.4 测试及管理方法
  7.5 本章小节

第八章 ISDN
  8.1 简 介
  8.2 内置ISDN的安装
     8.2.1 说明
     8.2.2 配置
  8.3 外置ISDN的安装
     8.3.1 说明
     8.3.2 配置
  8.4 测试及管理方法
  8.5 本章小节

第九章 Linux下 Apache、Tomcat的整合
  9.1 所需的RPM包:
  9.2 软件安装:
     9.2.1 安装jdk1.2.2
   9.2.2 安装tomcat
     9.2.3 和apache连接
     9.2.4 测试
     9.2.5 一些说明:

第十章 Linux下Apache、JServ的整合
  10.1 需要的源码包:
  10.2 安装过程
     10.2.1 安装jdk1.2.2
     10.2.2 安装JSDK
     10.2.3 Apache和Jserv的静态混合编译
  10.3 最后的测试:

第十一章 Linux下Apache、php3、MySQL的整合
  11.1 所需的RPM包
  11.2 软件安装
     11.2.1 安装MySQL
   11.2.2 Apache、PHP3的混合编译
   11.2.3 更改配置

第十二章 MySQL
  12.0 简 介
  12.1 MySQL的安装
     12.1.1 所需资源
     12.1.2 安装方法
  12.2 MySQL的使用
     12.2.1 启动MySQL守护进程
     12.2.2 关闭MySQL守护进程
     12.2.3 检查MySQL服务器是否已经运行
     12.2.4 连接和断开服务器
     12.2.5 MySQL存取权限的控制
  12.3 MySQL数据库的简单操作语句
     12.3.1 对数据库的操作
     12.3.2 对数据表的操作
     12.3.3 对数据记录的操作

后 记
------------------------------------------------------------------

前 言
  也许多数读者都有安装DOS、WINDOWS的经验,但安装LINUX要比它们复杂的多,你必须
对计算机有一定的了解,而且必须小心保护你的数据,还要小心操作,不要随意按键.

  这里,我向您介绍RED HAT LINUX。坐落在北卡罗的Red HAT公司,自从1994年夏问世
以来,就一直以让人们能更好的使用Linux为目标,不断的努力,至今Red Hat Linux已成
为最好的Linux发行版本,支持更多的硬件,可靠性更高,它不同于其它Linux发布的特点
是基于"包"(package)的,每个包都提供了一个充分测试的、已经配置好的、随时可运行
的软件。如果想试一下新的编辑器 安装它,几秒钟之内就可以用了,想删除它么?一个简
单的命令就可以令它无影无踪。

  Linux的软件开发是快速的,就连核心也是如此,所以一个发行版本出来很快就会有新
的版本出现。现在请你回想一下,您从Windows 3.1升级到95的时候你做了什么?最好的情
况也要重装全部的应用程序,或者删除硬盘上所有的东西,然后重新开始,这是一件相当
麻烦的事情,但如果你使用了Red Hat Linux,你就不必这样,它基于包的升级非常容易,
甚至不用重新启动您的机器。Red Hat Software将永远为在使用Linux的人努力提供更方便
的软件。

  本文将通过理论联系实际的方法向大家介绍一下Linux服务器的配置方法,以及它所适
用的环境,希望读者以本文为指导,迅速成为一名Linux Server的管理员。

  下面我将向大家介绍如下几种服务器端软件的配置方法及其工作原理:apache,dhcp,
dns,ppp,sendmail,samba,squid,isdn,mysql,tomcat,php。这些配置已经基本上含盖了
一个中小型企业管理和办公所需要的所有服务。也就是说,如过你掌握了它们的配置方案
和管理方法,你也就将成为一名合格的中小型企业局域网的Linux Server管理员。需要另
外强调的一点是,这些配置文件中的可配置项太多,有许多是我们用不到的,所以在以后
的文章中,我将选取其中重要的配置项介绍给大家。

  技巧:

1.可以使用 rpm -qf named.conf 来查询该文件属于那个RPM包。
2. 可以使用 rpm -qpl caching-nameserver-6.2-2.noarch.rpm来查看一个RPM包中包含哪
些文件。
3. 可以使用 grep '^[A-Z]' httpd.conf 来将某个配置文件的注释去掉,因为大多数配置
文件的可配置项都是大写字母开头,所以只要巧妙运用grep的参数将配置文件中以大写字
母A-Z开头的行导出到一个文件里就可以了,但是如果配置文件里有小写字母开头的配置项
,象named.conf那样的就不能用了。
4.可以在Linux下执行ntsysv来选择服务器所启动的服务项目。

  注: 在大多数Linux的发布版中,笔者经过了充分的考虑,觉得无论从系统的稳定性
、易用性到适用范围的广泛性,在发布版中首选RedHat,所以在下面的文章中,我将以红
帽6.2为例,帮助大家成为一名出色的Linux Server Administer。
  在本文的写作过程中,得到了许多联想电脑公司同仁的支持。在此,我对软件事业部
田日辉、曹宜、石京海、黄景昌,服务器器网络事业部黄后生等表示衷心的感谢。

  由于本文作者水平有限,难免有一些错误,请各位同仁一定指正。
1.1 简 介

在TCP/IP网络中最基本的服务就是域名解析,即用户可以从IP和URL两种方式访问你的网站
。而且域名解析还应为用户提供命名服务,即用户执行ftp 192.168.10.1 和执行ftp thj
是一样的。

1.2 所需系统资源

1.2.1 配置文件:
文件名 来源
/etc/named.conf caching-nameserver-6.2-2.noarch.rpm
/etc/named.boot caching-nameserver-6.2-2.noarch.rpm
/etc/hosts 系统自带
/etc/host.conf 系统自带
/etc/resolv.conf 系统自带
/etc/nsswitch.conf glibc-2.1.3-15
/var/named/named.local caching-nameserver-6.2-2.noarch.rpm
/var/named/named.ca caching-nameserver-6.2-2.noarch.rpm
/var/named/name2ip.conf 管理员创建
/var/named/ip2name.conf 管理员创建

1.2.2 相关工具:
文件名 来源
/etc/rc.d/init.d/named bind-8.2.2_P5-9
/usr/bin/nslookup bind-8.2.2_P5-9
/usr/sbin/ndc bind-8.2.2_P5-9

1.3 配置方案

对于DNS服务器的配置需要涉及5个主要文件,另外还有四个文件也与DNS有关:

1./etc/named.conf configuration文件

作用:定义了域数据库信息的基本参数和源点,该文件可以存放在本地或远程的服务器上


实例:
options {
directory "/var/named";
#定义了named要读写文件的路径
};
zone "." {
type hint;
#表明在启动时被用来初始化域名服务器的文件是一个线索文件,
每一个服务器都有一个线索区。
file "named.ca";
#指定所要读取的文件名
};
zone "0.0.127.in-addr.arpa"{
type master;
#表明服务器是主域名服务器
file "named.local";
};
zone "mycompany.com" in {
type master;
file "name2ip.conf";
};
zone "10.168.192.in-addr.arpa" {
type master;
file "ip2name.conf";
};

2./var/named/name2ip.conf 正向解析文件

作用:用来定义域信息,实现主机名和地址之间的镜像、识别mail服务器和提供各种域信
息。

实例:
@ IN SOA thj.mycompany.com. root.thj.mycompany.com.
#所有的区文件都以SOA开头,@指定当前的信息源,thj.mycompany.com
这个值可以将域名和named.conf连接起来。通常只有一个@符号。
( 2000062900 ;serial #序列号
28800 ; refresh #刷新周期,以秒为单位
14400 ; retry #循环周期
3600000; expire #中止时间
86400 ); minuum #time-to-live的时间
IN NS thj.mycompany.com.
#定义域名服务器
IN MX 10 thj.mycompany.com.
#定义邮件服务器,10表示优先级,越小越高
localhost IN A 127.0.0.1
#实现域到IP的映射
thj IN A 192.168.10.1
www CNAME thj
#CNAME前后两者为等价名
mail CNAME thj

3./var/named/ip2name.conf 反向解析文件

作用:实现IP地址很域名的映射

实例:
@ IN SOA thj.mycompany.com. root.thj.mycompany.com.
( 2000062900 ;serial
28800 ; refresh
14400 ; retry
3600000; expire
86400 ); minuum
IN NS thj.mycompany.com.
IN MX 10 thj.mycompany.com.
1 IN PTR thj.mycompany.com.
#定义逆向关系,即192.168.10.1 与 thj.mycompany.com 之间
的映射,也可以用作定义一个反转域。

4./var/named/named.local 本地主机解析文件

作用:解析回送地址localhost 即127.0.0.1,回送地址是一种特殊的约定,即允许在处理
本地机地址时与处理远程机地址的方法一样,这样可以简化处理过程,不必将数据发送到
物理网络上。

实例:
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.

5./var/named/named.ca 线索文件

作用:初始化缓冲区的信息。该文件不需要管理员更改,而是系统自带。

实例:
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
. 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33

6./etc/hosts

作用:实现与网上其他主要计算机的映射,它通常是当作DNS的备份出现的,也就是说,当
DNS系统出现问题的时候才使用Hosts表。

实例:
127.0.0.1 localhost localhost.localdomain localhost
192.168.10.1 thj.mycompany.com thj

#由于每台服务器都会有几个域名与IP的对应关系是永久的, 所以Hosts表中存放的应该
是它们。

7./etc/resolv.conf

作用:指定域名服务器的IP和搜索顺序。

实例:
domain
#定义本地域名。
search mycompany.com
#简化用户输入的主机名,即当用户输入thj时,使得DNS可以把它
成功地解析为thj.mycompany.com。它与domain是互斥的,无论谁出
现都是用来定义search列表的。
nameserver 192.168.10.1
#定义域名服务器的IP,最多三个,建议一般使用两个。

8./etc/hosts.conf

作用:如何实现hosts表与DNS的关系和接口。

实例:
order hosts,bind
#解析域名的顺序
multi on
#允许一台计算机拥有多个IP

9./etc/nsswitch.conf

作用:用于处理Hosts表和DNS的顺序

实例:
passwd: files nisplus nis
shadow: files nisplus nis
group: files nisplus nis
hosts: files dns
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files
netgroup: nisplus
publickey: nisplus
automount: files nisplus
aliases: files nisplus

1.4 测试及管理方法

1. 管理员修改完DNS的配置文件,需要执行/etc/rc.d/init.d/named restart来是更改生
效。
2. ndc工具:用来向named进程发送信号
3. nslookup:测试正向、反向的解析是否正常

1.5 本章小结

DNS服务是许多服务的基础,所以配置一台Linux Server应该从DNS开始,并要从一开始就
对你的服务器配置成什么样子有一个整体的把握,这样才能保证配置之间能够相互协调,
避免错误的发生。

第二章 Apache

2.1 简 介

Apache是世界排名第一的Web服务器,根据著名的Web服务器调查公司Netcraft的调查,世
界上百分之五十以上的Web服务器都在使用Apache。

纵观Apache,它为我们的网络管理员提供了丰富多彩的功能,包括目录索引、目录别名、
内容协商、可配置的HTTP错误报告、CGI程序的SetUID执行、子进程资源管理、服务器端图
象映射、重写URL、URL拼写检查以及联机手册man等。也就是说,如果您在Linux Server上
成功安装配置了Apache之后,您的计算机也将随着Apache的生效而摇身一变,成为一台名副
其实的Web Server,这种变化的确是激动人心的。伴随着自由软件发展的强大动力,我们
有理由相信Apache的未来是一片光明的。

在Internet时代,外部主页的发布已经成为树立公司形象的一个重要手段,而内部主页也
成为公司管理的主要方式。但是,要想实现这些功能,首先应该把我们的Linux Server配
置成为一台强大的Web Server。时至今日,全球应用最广泛的Web服务器软件就是Apache,
本章将详细介绍如何配置Apache服务器。希望各位同仁能够通过阅读本片文章达到理论实
践双丰收的目的,在很短的时间里迅速成为一名出色的网络管理员。

2.2 所需系统资源

2.2.1 配置文件:
文件              来源
/etc/httpd/conf/httpd.conf   apache-1.3.12-2.i386.rpm
/etc/httpd/conf/access.conf   apache-1.3.12-2.i386.rpm
/etc/httpd/conf/srm.conf    apache-1.3.12-2.i386.rpm

2.2.2相关工具:
文件              来源
/etc/rc.d/init.d/httpd     apache-1.3.12-2.i386.rpm

2.3 配置方案

与Apache配置相关的文件共有3个:

/etc/httpd/conf/httpd.conf 主配置文件
作用:定义HTTP协议的设置值和针对该服务器的操作,还包括定义三个文件的目录
实例:

ServerType standalone
#定义WebServer的启动方式为standalone,以增强其对大量访问的及时响应性
ServerRoot "/etc/httpd"
#指定包含httpd服务器文件的目录
LockFile /var/lock/httpd.lock
PidFile /var/run/httpd.pid
ScoreBoardFile /var/run/httpd.scoreboard
Timeout 300
#响应超时量,单位为秒
KeepAlive On
#允许用户建立永久连接
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 5
#要保留的空闲服务器进程的最小值
MaxSpareServers 20
#要保留的空闲服务器进程的最大值
StartServers 8
#系统启动时的守护进程数
MaxClients 150
#所能提供服务的最大客户端编号,大于它的部分被放入请求队列之中
MaxRequestsPerChild 100
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule env_module modules/mod_env.so
LoadModule config_log_module modules/mod_log_config.so
LoadModule agent_log_module modules/mod_log_agent.so
LoadModule referer_log_module modules/mod_log_referer.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_info.so
LoadModule includes_module modules/mod_include.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule asis_module modules/mod_asis.so
LoadModule imap_module modules/mod_imap.so
LoadModule action_module modules/mod_actions.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
LoadModule anon_auth_module modules/mod_auth_anon.so
LoadModule db_auth_module modules/mod_auth_db.so
LoadModule digest_module modules/mod_digest.so
LoadModule proxy_module modules/libproxy.so
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule perl_module modules/libperl.so
LoadModule php3_module modules/libphp3.so
ClearModuleList
AddModule mod_vhost_alias.c
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_log_agent.c
AddModule mod_log_referer.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_auth_anon.c
AddModule mod_auth_db.c
AddModule mod_digest.c
AddModule mod_proxy.c
AddModule mod_expires.c
AddModule mod_headers.c
AddModule mod_usertrack.c
AddModule mod_so.c
AddModule mod_setenvif.c
AddModule mod_perl.c
AddModule mod_php3.c
Port 80
#定义服务器所使用的TCP的端口号
User nobody
Group nobody
#以上两行是分配给httpd的新用户的文件权限,出于安全的考虑把它们的权限设置成为最
低。
ServerAdmin root@localhost
#设置Web管理员的邮件地址
ServerName thj
#定义客户端从服务器读取数据时返回给客户端的主机名,其缺省值是localhost
DocumentRoot "/home/httpd/html"
#设置所有Apache所提供的文档的根目录,比如说,用户对www.mycompany.com/index.ht
ml的访问请求,Apache对它的响应就是/home/httpd/html/index.html
UserDir public_html
DirectoryIndex index.html index.htm index.shtml index.cgi
#设置多种成功访问主页的方式,为的是提高系统的容错性
AccessFileName .htaccess
UseCanonicalName On
TypesConfig /etc/mime.types
DefaultType text/plain
HostnameLookups Off
ErrorLog /var/log/httpd/error_log
LogLevel warn
#定义那些错误类型被记录到错误日志中
LogFormat "%h %l %u %t /"%r/" %>s %b /"%{Referer}i/" /"%{User-Agent}i/"" combi
ned
#所有的LogFormat都用来定义日志中的条目
LogFormat "%h %l %u %t /"%r/" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog /var/log/httpd/access_log common
ServerSignature On
Alias /icons/ "/home/httpd/icons/"
ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
IndexOptions FancyIndexing
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README
HeaderName HEADER
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
AddLanguage en .en
AddLanguage fr .fr
AddLanguage de .de
AddLanguage da .da
AddLanguage el .el
AddLanguage it .it
LanguagePriority en fr de
AddType application/x-tar .tgz
AddType text/html .shtml
AddHandler server-parsed .shtml
AddHandler imap-file map
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4/.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4/.0" force-response-1.0
BrowserMatch "Java/1/.0" force-response-1.0
BrowserMatch "JDK/1/.0" force-response-1.0
Alias /doc/ /usr/doc/
CacheSize 5
#定义缓存区大小,以KB为单位。可以根据需要和硬盘空间大小进行设置
CacheGcInterval 4
#每隔4小时检查缓存区,如果已经超过CacheSize就删除文件
CacheMaxExpire 24
#HTTP文件最多被保持24小时
CacheLastModifiedFactor 0.1
#定义HTTP文件失效期,缺省是0.1 ,意思是说失效期=离最近一次修改的时间X〈factor
〉,比如离最近一次修改的时间是5小时,那么失效期就是5X0.1=0.5小时
CacheDefaultExpire 1
#这一指令提供一个缺省的时间(小时)来销毁缓存的文件,这些文件的最后更改时间不
详。CacheMaxExpire 命令不覆盖这一设置

2.4 测试及管理方法

1.每当管理员更改了Apache的设置之后,都应执行/etc/rc.d/init.d/httpd restart使得
更改生效。
2.Apache提供大量的日志文件,当Apache出错的时候,管理员可以根据htppd.conf中的E
rrorLog定义的路径来诊断。具体方法是:tail -f /var/log/httpd/apache/error_log

2.5 本章小节

Web服务是Internet服务器最基本的服务,Linux发行版中包含的Apache软件是性能优良的
Web服务器,也是Internet上最流行的Web服务器,由于它时刻都经历着无数使用者的测试
,所以现行的Apache的默认选项已经是十分适合我们大家的了,你只需要更改其中几个与
当前应用环境紧密相关的选项就可以达到你的目的了。

第三章 DHCP

3.1 简 介

对于那些不太了解网路技术的人来说,配置TCP/IP可能是一件非常复杂的工作,对那些将
PC连接到局域网的用户来说只能将配置集中到服务器端,这样可以简化用户端的工作复杂
度。当然,这将在一定程度上,增加管理员的工作量,但是从整体考虑,这样是最优的。

本章我将向大家介绍如何配置动态IP分配以及管理,并用通俗易懂的语言解释它是如何工
作的,希望大家通过阅读本章,迅速成为一名合格的网络管理员。

3.2所需系统资源

3.2.1 配置文件:
文件           来源
/etc/dhcpd.conf      dhcp-2.0-5.i386.rpm ->
             /usr/doc/dhcp-2.0/dhcpd.conf.sample
/var/state/dhcp/dhcpd.leases   管理员创建

3.2.2 相关工具:
文件           来源
/etc/rc.d/init.d/dhcpd  dhcp-2.0-5.i386.rpm

3.3 配置方案

/etc/dhcpd.conf IP分配主配置文件
作用:包含了许多配置命令,既有针对服务器的,也有针对客户机的。它可以利用动态IP
分配技术来管理整个子网,也可以根据静态IP分配技术来对其中某台客户机进行管理。
实例:

option domain-name "mycompany.com";
#定义DHCP服务器的域名
option domain-name-servers 192.168.10.1;
#定义DNS的服务器地址
option subnet-mask 255.255.255.0;
#定义子网掩码,如果不定义该选项,则使用Subnet命令中的子网掩码
default-lease-time 1200;
#如果客户端不能请求一个指定的租用期,就使用该参数来定义该地址租用的时间长度
max-lease-time 87600;
#用来指定租用的最长时间,尽管租用的时间长度是根据客户端的请求决定的。
subnet 192.168.10.0 netmask 255.255.255.0
#指定子网的网段和子网的掩码
{
range 192.168.10.2 192.168.10.110
#指定子网的IP范围
option broadcast-address 192.168.10.255;
#指定子网的广播地址
option routers 192.168.10.1;
#指定路由器的IP
}
host fantasia {
hardware ethernet 00:50:BA:CA:2E:D2;
fixed-address 192.168.1012;
}
#给客户机分配一个永久的IP

3.4测试及管理方法
1.管理员修改完配置文件之后需要执行/etc/rc.d/init.d/dhcpd restart来使更改生效。

2.在Windows 98的客户端,用户需要将TCP/IP配置成为自动搜索IP。
3.在Windows 98的客户端可以运行winipcfg来动态申请IP。
4.管理员可以通过查看/var/state/dhcp/dhcpd.leases文件来监督IP资源的分配情况。

3.5 本章小节

通过学习本章,各位一定有一个感觉,就是DHCP的配置十分的简单。在一定程度上是这样
的,因为我向大家介绍的是一台主服务器带一个子网,这是最简单的一种网络拓扑结构,
要是更加复杂的多子网情况,那配置起来就要更加麻烦一点,这就需要为每个子网配置一
个中继代理(dhcrelay),它的文档在Linux中都可以找到,一看就能明白了。

第四章 Samba

4.1 简 介

网络的宗旨是更容易地在计算机间共享信息, 在 Linux服务器和Windows 98的客户机之间
实现打印共享和文件共享已经成为一个中小型企业必须解决的问题。

Samba 实际上是一组程序, 它们让你的Linux服务器机器懂得SMB (Server Messages Bloc
k)协议。SMB是一套通讯协议,让运行 OS/2,Windows NT,Windows 95,Windows for Wo
rkgroups的计算机实现文件共享和打印机共享服务。这套协议类似于NFS (网络文件系统)
和lpd (Unix 标准打印服务器),及一套分布式授权认证系统(如 NIS 或 Kerberos)的组合
。在运行 Samba 服务器程序的时候,你的 Linux 机器在"网络邻居"中看起来如同一台 W
indows 机器。Windows 机器的用户可以"登录"到你的Linux服务器上, 当然这要求你给予
适当的权限。

Samba 也能做一些一般来说需要 Windows NT 服务器去完成的工作,如作为一个 WINS服务
器和处理来自Windows 95 机器的 "网络登录" 请求等等.

4.2 所需系统资源

4.2.1 配置文件:
文件            来源
/etc/smb.conf        samba-2.0.6-9.i386.rpm ->
              /usr/doc/samba-2.0.6/example/smb.conf.default
/etc/smbusers        samba-2.0.6-9
/etc/smbpasswd       系统自带,使用smbpasswd更改

4.2.2 相关工具:
文件            来源
/etc/rc.d/init.d/smb    samba-2.0.6-9.i386.rpm
/usr/bin/smbadduser     samba-2.0.6-9.i386.rpm
/usr/smbpasswd       samba-2.0.6-9.i386.rpm

4.3 配置方案

1./etc/smb.conf
作用:这是Samba的主配置文件,集中了所有的Samba配置选项。
实例:

[global]
netbios name = thj
#指定本机在网上邻居中的显示名
workgroup = basexf
#指定本机所属的工作组
server string = Tang Haijing's Linux Server
#指定本机的备注
; hosts allow = 192.168.1. 192.168.2. 127.
#允许访问本机共享
printcap name = /etc/printcap
load printers = yes
printing = bsd
guest account = nobody
log file = /var/log/samba/log.%m
max log size = 50
security = user
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
#指定定对用户口令校验的密码文件
#安全级别为用户级,这样定义是为了让每个98的客户端能自由使用它们在Linux服务器上
的目录。
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
; interfaces = 192.168.12.2/24 192.168.13.2/24
dns proxy = no
[homes]
comment = THJ's Home Directories
browseable = no
writable = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = yes
writable = no
printable = yes
[public]
comment = Public Stuff
path = /home/Share
browseable = yes
guest ok = yes
public = yes
writable = yes
#定义了共享目录,所有的用户对这个目录都有读写权限
[ thj ]
comment = Fred's Printer
valid users = thj
path = /homes/thj
printer = thj_printer
public = no
writable = no
printable = yes
#以上是定义打印机

2.管理员执行smbadduser tanghj:smithj来创建一个smb用户,相应地更改了/etc/smbpa
sswd 和 /etc/smbusers
3. 管理员需要执行 chmod 0777 /home/Share,修改/home/Share访问权限。

4.4 测试及管理方法

1.管理员可以通过执行/etc/rc.d/init.d/smb restart使更改的配置文件生效。
2.testparm 命令,解析和描述你的 smb.conf 文件的内容,特别有用, 因为它提供了一
个简易的方法发现配置上的错误。

4.5 本章小节

Linux是一个优秀的网络操作系统,它可与多种网络集成。Linux系统的稳定性、可靠性受
到了广大用户的欢迎,在中小型网或者在公司、部门、单位等内部网(Intranet)上,常
将Linux充当有效而强劲的文件和打印服务器,让windows客户机共享Linux系统中的文件。
这种Linux与 windows网络集成是通过samba来实现。其实大家看了我关于Samba的介绍已经
有了一个切身的感觉,就是Samba的配置选项太多了,但是要实现我们的目的只需要更改其
中不多的部分就足以实现强大的文件、打印共享了。

第五章 Squid

5.1 简 介

 作为一种免费的网络操作系统,Linux越来越受到广大网络爱好者的欢迎,目前因特网(
Internet)上运行的主机有相当一部分采用的就是linux操作系统,而且中国已经把linux
操作系统作为政府上网年的指定网络操作系统,种种迹象表明,linux操作系统正在逐渐走
向成熟。在本章我将向大家介绍一种能在Linux系统下使用的比较优秀的代理服务器软件的
配置方法。

众所周知,当今因特网发展速度极其迅猛,IP地址资源非常紧张。而如果您想访问因特网
,共享因特网的丰富资源,您的机器必须拥有一个标准的IP地址。在因特网上,IP地址是
识别您的机器的唯一标志。目前,有两种方式可以让您的机器拥有标准的IP地址:一种是
局域网通过专线接入因特网,您的机器可以拥有静态的IP地址。所谓静态IP地址,就是对
使用者来说,是固定不变的IP地址,这个IP地址给您使用后,其他人就不能再用了。一种
是通过电话线拨号或ISDN拨号等方式接入因特网,您的机器可以在您拨号上网的在线期间
从ISP的访问服务器的IP地址池中获得一个临时的标准IP地址,这个IP地址在您下线后就不
归您使用了,而您下次拨号再上网,很可能分配给您的机器的是另外一个临时的IP地址了
。这种临时分配的IP地址,称为动态IP地址。无论是静态地址还是动态地址,在您的机器
访问因特网时,使用起来没有什么区别。

 现在因特网发展速度这么快,而IP地址资源又这么紧张,这不能不说是一个尖锐的矛盾
。虽说Ipv6正在开发中,但远水不解近渴,好多的企业、公司内部的Intranet现在就想接
入因特网这个浩瀚的资源海洋,但又苦于没有充足的IP地址资源,怎么办?还好,有代理
服务这个好东西。代理服务是指由一台拥有标准IP地址的机器代替若干没有标准IP地址(
以下称内部地址)的机器和因特网上的其他主机打交道,提供代理服务的这台机器称为代
理服务器。拥有内部地址的机器想到因特网上查找资料时,先把这个请求发给拥有标准IP
地址的代理服务器,由代理服务器把这个请求通过它的标准IP地址发到请求的目标地址。
然后目标地址的服务器把返回的结果发回给代理服务器,代理服务器再原封不动的把资料
发给最初那台拥有内部IP地址的机器。这样就完成了一次内部机器访问因特网的一个过程
。若干拥有内部地址的机器就组成了内部网,代理服务器的作用就是勾通内部网和因特网
,解决内部网访问因特网的问题。而且这种代理是不可逆的,因特网上的主机不能访问任
何一台拥有内部地址的机器,这样又可以保障内部资料的安全性。

能够完成这种代理功能的服务器软件有好多,我给大家推荐一种能在linux下使用的比较优
秀的代理服务器软件Squid。之所以说它比较优秀,是因为它可以在代理服务器上作一个很
大的缓存,可以把好多常去的网站内容存储到缓存中,这样,内部网的机器再访问那些网
站,就可以从缓存里调用了。这样一方面可以加快内部网浏览因特网的速度,这就是所谓
的提高客户机的访问命中率, 另一方面,Squid不仅仅支持HTTP协议,而且还支持FTP,GO
PHER,SSL和WAIS等协议考虑到简捷实用的原则,我们本章只向大家介绍如何设置HTTP代理
,而其他的代理大同小异,各位理解了HTTP的配置也就明白应该如何配置其他的代理了。

5.2 所需系统资源

5.2.1 配置文件:
文件               来源
/etc/squid/squid.conf       squid-2.3.STABLE1-5

5.2.2 相关工具:
文件               来源
/etc/rc.d/init.d/squid      squid-2.3.STABLE1-5
/etc/spool/squid         squid-2.3.STABLE1-5

5.3 配置方案

1./etc/squid/squid.conf squid主配置文件
作用:包括了全部的squid配置选项,管理员只需编辑此文件便可达到提供代理服务的目的

实例:

http_port 3128
#HTTP协议代理默认代理端口
cache_mem 42 MB
#开劈一块内存区域作为缓冲
cache_dir ufs /home/squid/cache 2048 16 256
#开劈一块硬盘空间,作为硬盘缓冲区,这块区域的分布是连续的,逻辑关系由管理员设定

cache_access_log /var/log/squid/access.log
#该log文件是用来描述每次客户请求HTTP内容时,高速缓存命中或未命中的项目。同时描
述提出请求的主机身份及它们所需的内容。
cache_log /var/log/squid/cache.log
#用于描述当squid守护进程启动时,可看到有多少内存、交换空间,高速缓存目录的位置
,所接受的连接类型及接受连接的端口。
cache_store_log /var/log/squid/store.log
#用于描述页面从高速缓存中被调入调出的情况。
pid_filename /var/run/squid.pid
#管理员可以通过查看此文件了解当前执行的squid进程。
dns_nameservers 192.168.10.1
#定义域名解析服务器的地址
acl all src 0.0.0.0/0.0.0.0
#定义all
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 21 443 563 70 210 1025-65535
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow all
#对所有来自子网的HTTP请求均不作限制
http_access deny !Safe_ports
#禁止来自!Safe_ports的HTTP请求
http_access deny CONNECT !SSL_ports
icp_access allow all
miss_access allow all
cache_mgr root@mycompany.com
#设置cache管理员的邮件箱地址
acl whitehouse dst 209.67.27.247
#设置地址变量
acl BAD dst whitehouse
#设置禁止访问的外部地址变量
http_access deny BAD
acl whitehouseurl url_regex http://www.whitehouse.com
#设置禁止访问的外部URL
acl BAD dst whitehouseurl
http_access deny BAD
#管理员可以通过IP和URL两种方式实现对外部网站的屏蔽
reference_age 1 week
#设置缓冲区的更新周期
maximum_object_size 4096 KB
#设置允许被缓存的一次性最大请求

2./etc/rc.d/rc.local

echo 1 > /proc/sys/net/ipv4/ip_forward
#增加该行的意思是,打开ip_forward,使得系统能够支持IP转发。
ipchains -I forward -s 192.168.10.0/24 -d 0/0 -j MASQ
#设置透明代理的一种方式。

5.4 测试及管理方法
1.管理员更改了配置选项之后需要执行/etc/rc.d/init.d/squid restart使得更改生效。

2.在客户端的IE浏览器中需要设置代理服务器为192.168.10.1,端口为3128。
3.在配置文件中设定的cache_dir 需要通过squid -z 使得这个目录生效,当然,在squid
-z之前先要更改这个目录的权限:chmod 0777 /home/squid/cache。

5.5 本章小节

看完本章之后,我想各位一定有个深切的感受,squid的配置文件十分的长,而且能干的事
情实在是太多了,但是我们作为一名合格的管理员应该从需求方案出发,以客户的需求为
导向,配置出我们自己需要的服务器,这样不但可以满足需要,还能大大减少我们的工作
量,配置squid就是一个鲜明的例子。

第六章 Sendmail

6.1 简 介
邮件服务是用户所需要的最重要的网络服务。Web的通信量很大,但邮件主要用于个人之间
的通信,而人-人的通信是商务的基础。没有邮件服务的网络是不完整的网络。换句话说
,如果不能给用户提供完整的TCP/IP下的邮件支持,这样的网络操作系统也不值得信赖。

配置sendmail是一件大而复杂的工作,但也不完全都是这样,与其他一些网络服务器系统
只安装SMTP服务器软件的情况相比,Linux已经配置好了多数的设置。在多数系统下,缺省
配置都能良好的运行。我将在本章中给出一些配置的建议,主要的一些配置参数建议大家
不要随意更改。

6.2 所需系统资源

6.2.1 配置文件:
文件              来源
/etc/sendmail.cf        sendmail-8.9.3-20.i386.rpm
/etc/sendmail.cw        sendmail-8.9.3-20.i386.rpm

6.2.2 相关工具:
文件              来源
/etc/rc.d/init.d/sendmail    sendmail-8.9.3-20.i386.rpm

6.3 配置方案

1./etc/sendmail.cf sendmail的主配置文件
作用:

控制sendmail运行时的配置。完整的sendmail配置应该包括7部分:
Local Info(本地信息):这部分定义了本地主机的信息
Options(选项):用来设置定义sendmail环境的选项。
Message Precedence(消息的优先级):sendmail消息的优先级
Trusted Users(信任用户):定义发送邮件时允许改变发送地址的用户
Format of Headers(头格式):定义在sendmail中插入的邮件头信息
Rewriting Rules(改写规则):这部分保存着改写邮件地址命令使用该命令可以将邮件地
址从用户邮件程序的地址形式改写为邮件发送程序所需要的地址形式。
Mailer Definition(邮寄者说明):定义发送邮件的程序,改写规则是邮件者使用的规则
,在本部分定义。
其实,配置一个完整的sendmail服务器是一件极其复杂的工程,然而对于我们所适用的范
围来说,很多的功能是没有必要的,所以我想以一个简单的例子来说明我们的配置,也就
是说,没有被提出的配置在一般情况下是不需要我们的管理员来考虑的,你按照默认的做
就可以了。

实例:

V8/Berkeley
Cwlocalhost
Fw /etc/sendmail.cw
CP.
DYuunet.uu.net
CPUUCP
DS thj.mycompany.com
CO @ % !
C..
C[[
Kmailertable hash -o /etc/mail/mailertable
#制作db库
Kdomaintable hash -o /etc/mail/domaintable
Kgenerics hash -o /etc/mail/genericstable
Kvirtuser hash -o /etc/mail/virtusertable
Kaccess hash -o /etc/mail/access
Kmxserved bestmx -z: -T<TEMP>
Kresolve host -a<OK> -T<TEMP>
FR-o /etc/mail/relay-domains
DR
DH
Kdequote dequote
CM root
DM thj.mycompany.com
#设置邮件服务器名称
DnMAILER-DAEMON
CPREDIRECT
DZ8.9.3
O SevenBitInput=False
O EightBitMode=pass8
O AliasWait=10
O AliasFile=/etc/mail/aliases,/etc/mail/majordomo
O MinFreeBlocks=100
#规定最小空闲块
O MaxMessageSize=1000000
#指定用户一次最大发送的邮件大小
O BlankSub=.
O HoldExpensive=False
O DeliveryMode=background
O AutoRebuildAliases=true
O TempFileMode=0600
O HelpFile=/etc/mail/sendmail.hf
O SendMimeErrors=True
O ForwardPath=$z/.forward.$w:$z/.forward
O ConnectionCacheSize=2
O ConnectionCacheTimeout=5m
O UseErrorsTo=False
O LogLevel=9
#记录到日志文件的事件等级
O CheckAliases=False
O OldStyleHeaders=True
O PrivacyOptions=authwarnings,noexpn,novrfy
O QueueDirectory=/var/spool/mqueue
O Timeout.queuereturn=4d
O Timeout.queuewarn=4h
O SuperSafe=True
O StatusFile=/var/log/sendmail.st
O DefaultUser=8:12
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b
O UnixFromLine=From $g $d
O OperatorChars=.:%@!^/[]+
Pfirst-class=0
Pspecial-delivery=100
Plist=-30
Pbulk=-60
Pjunk=-100
Ft -o /etc/mail/sendmail.ct
Troot
Tdaemon
Tuucp
R$* $#error $@ 5.7.1 $: "550 Relaying denied"
#以上是Linux默认的选项,不允许客户机使用mail服务器收发邮件,如果允许客户机收发
的话应将上边一句话改成
R$- $@ok
#注意:中间是两个tab键
#一下是邮件头信息
H?P?Return-Path: <$g>
HReceived: $?sfrom $s $.$?_($?s$|from $.$_)
H?D?Resent-Date: $a
H?D?Date: $a
H?F?Resent-From: $?x$x <$g>$|$g$.
H?F?From: $?x$x <$g>$|$g$.
H?x?Full-Name: $x
H?M?Resent-Message-Id: <$t.$i@$j>
H?M?Message-Id: $t.$i@$j
#以上是邮件头信息

2.管理员需要执行touch /etc/mail/aliases 和 touch /etc/mail/majordomo来创建两个
文件,然后重新启动sendmail,利用sendmail.cf里生成db库的配置来生成两个库文件:a
liases.db和majordomo.db;当然,管理员也可以通过执行makemap hash mailertable <
mailertable来生成新的db,这样可以不重新启动。

6.4 测试及管理方法

1. 管理员可以通过执行/etc/rc.d/init.d/sendmail restart来使更改的配置生效。
2. 管理员通过执行 fetchmail -u yourname yourserver 来为没有邮件用户制定他们的
口令,用户需要在客户端作相应的设置。
3.管理员应该打开pop3服务,即更改配置文件
4.管理员在服务器上可以通过执行 echo test | /usr/sbin/sendmail -v thj@mycompan
y.com 来测试建立好的邮件用户是否能够正常工作。

6.5 本章小节

其实我们只要设置其中的几个地方就可以实现mail服务器的功能,这是因为sendmail有很
强的适用性,并且它是在不断更新的。所以现在提供给我们的sendmail的配置方案已经经
过实践检验,不需要管理员做太大改动,就可以实现强大的sendmail功能。

第七章 PPP

7.1 简 介

首先向大家强调一点,我们这里所谈的PPP不是要将我们的服务器配置成为提供拨入服务的
服务器,而是用户可以通过服务器拨号上网,简而言之就是,服务器可以按照客户的需求
自动拨号上网,也就是所谓的按需拨号。

为什么我们要向大家介绍这项配置呢?因为虽然现在许多企业都用DDN上网,但是Modem在
很大程度上还是有它的作用的,所以我们将向大家介绍一下如何实现PPP自动拨号上网。

7.2 所需系统资源

7.2.1 配置文件:
文件              来源
/etc/ppp/options        ppp-2.3.11-4.i386.rpm
/etc/ppp/dial          管理员创建
/etc/rc.d/rc.local       initscripts-5.00-1

7.2.2 相关工具:
文件              来源
/usr/sbin/chat         ppp-2.3.11-4.i386.rpm
/usr/sbin/pppstats       ppp-2.3.11-4.i386.rpm
/usr/sbin/pppd         ppp-2.3.11-4.i386.rpm

7.3 配置方案

1./etc/rc.d/rc.local
作用:这个文件是启动脚本,它是放在启动服务进程之后启动的项目,要想实现自动拨号
,首先应该启动一个PPP的守护进程,实现的方法就是在这个脚本中加上一句话,以实现开
启守护进程。
实例:

pppd /dev/modem 115200 connect 'chat -f -v -V /etc/ppp/dial'
#115200是连接速率,dial是拨号脚本

2./etc/ppp/options
作用:PPP拨号的全部可选项都在这里
实例:

demand
#按需拨号
idle 300
#若在300秒内没有请求从服务器发出,则自动断开Modem
crtscts
modem
noauth
#无需验证
defaultroute
asyncmap 0
lock
noipdefault
name 169
#与pap-secrets对应
usepeerdns
#抓取DNS到本地

3./etc/ppp/dial
作用:这是个拨号的脚本,用Modem指令来实现拨号
实例:

" " ATZ
#初始化Modem
OK ATDT169
#拨号,注意在外线0后要加","
CONNECT " "
#连接
name: 169
#用户名
word: 169
#密码

3./etc/ppp/pap-secrets
作用: pap校验
实例:

169 * 169
#注意一定要在169和*之间加空格

7.4 测试及管理方法

1.可以执行ps auxw|grep pppd,查看是否有pppd的守护进程
2.若pppd进程非正常工作,则可以执行killall pppd来杀死守护进程
3. 若想再次启动守护进程,可以执行 /etc/rc.d/rc.local restart
4.执行 tail -f /var/log/message 可以观察拨号过程
5.执行 pppstats可以观察Modem的工作情况

7.5 本章小节

其实这一切很简单,通过我上面的叙述,大家不难发现,其实所谓的按需拨号,它的实现
应该被划分成两个步骤:第一,先将服务器本身配置好,让它可以拨号上网;第二,编写
自动拨号配置文件,使Linux服务器具备自动拨号的能力。其实,从客户端自动拨号与从服
务器自动拨号的原理是一样的,只要有向外的请求,就应该自动启动拨号进程,而从客户
机来的请求,最终将通过sendmail,squid等从服务器发送到Internet。所以我们只要配置
好服务器上的自动拨号,也就能实现客户机的自动拨号。

第八章 ISDN

8.1 简 介

近两年来,ISDN在我国蓬勃发展起来,各省市的电信部门相继开通ISDN业务。尤其在上海
、广州、福州、北京等地,ISDN的发展趋势更是势不可挡。就上海来说,到今年5月份,I
SDN用户已达32,000。ISDN凭借其连接速度快、传输质量高等优势正吸引着越来越多的用
户。

什么是ISDN?

ISDN是综合业务数字网的简称,它由电话综合数字网(IDN)发展而来。ISDN是数字交换和
数字传输的结合,它以迅速、准确、经济、有效的方式提供目前各种通信网络中现有的业
务,而且将通信和数据处理结合起来,开创了很多前所未有的新业务。 ISDN是一个全数字
的网络,也就是说,不论原始信号是话音、文字、数据还是图象只要可以转换成数字信号
,都能在ISDN网络中进行传输。在传统的电话网络中,实现了网络内部的数字化,但在用
户到电话局之间仍采用模拟传输,很容易由于沿途噪声的积累引起失真。而对于ISDN来说
,实现了用户线的数字化,提供端到端的数字连接,传输质量大大提高。

由于ISDN实现了端到端的数字连接,它可以支持包括话音、数据、图象等各种业务。随着
电子通信在全球不断扩大,我们许多人需要和不同地区的用户交换信息。而现在人们对通
信的要求已经不仅是简单的声音交换,还需要共享各种格式的不同信息。例如,有些人需
要高速数据和文件传输;有些人可能需要多媒体和会议电视;有些人则希望能访问中央数
据库。ISDN的业务覆盖了现有通信网的全部业务,例如传真、电话、可视图文、监视、电
子邮件、可视电话、会议电视等,可以满足不同用户的需要。 ISDN还有一个基本特性是向
用户提供了标准的入网接口。用户可以随意地将不同业务类型的终端结合起来,连接到同
一接口上,并且可以随时改变终端类型。

ISDN主要有两种类型:基本速率(BRI)和基群速率(PRI)。电信局向普通用户提供的均
为BRI接口,采用原有的双绞线,速率可达144Kb/s。BRIISDN可在一对双绞线上提供两个B
通道(每个64K)和一个D通道(16K),D通道用于传输信令,B通道则用于传输话音、数据
等。一路电话只占用一个B通道,因此,在同时进行多种业务或对话。PRI接口速率为2.04
8Mb/s,用于需要传输大量数据的应用,如PBX,LAN互联等。

ISDN能做些什么?

ISDN可向用户提供各种各样的业务。目前CCITT将ISDN的业务分为三类:承载业务,用户终
端业务和补充业务。

承载业务是ISDN网络提供的信息传送业务,它提供用户之间的信息传送而不改变信息的内
容。常用的承载业务有:话音业务、3.1KHz音频业务和不受限64K数字业务。打电话时一般
采用话音业务,该种承载业务向网络表明目前用户是在打电话,网络可以对其做语音压缩
、回波消除、数字话音插空等处理。3.1KHz音频承载业务主要用于用调制解调器进行数据
传输或用模拟传真机发传真的情况,这类业务可在网络中对信号进行数模变换,但是其他
形式的话音处理技术必须禁止。若要使用ISDN拨号上网,则需要用不受限64K数字业务,此
时网络对于传送的数据不做任何处理。有时用户若碰到申请的ISDN线路能打电话却无法拨
号上网的情况,即可能是由于线路上为开放不受限64K数据承载业务所致。

用户终端业务是指所有面向用户的应用业务,它即包含了网络的功能,又包含了终端设备
的功能。用户可以使用电话、4类传真、数据传输、会议电视等用户终端业务,但均需要终
端设备的支持。

补充业务则是ISDN网络在承载业务和用户终端业务的基础上提供的其他附加业务,目的是
为了给用户提供更方便的服务。目前上海市电信局向用户提供的补充业务有:多用户号码
、子地址、主叫号码显示、呼叫等待、呼叫保持等。其中除多用户号码由于号码资源紧张
需每个月交纳一定费用外,其他补充业务均为免费开放,当然首先您需要到电信局去申请
这些业务。这些业务确实可给用户带来很大的方便。例如,呼叫等待业务可以使您在两个
电话同时使用时,外面电话还能打进来。呼叫保持则使您在打电话时,将现有的电话暂时
挂起,去打新的电话或接听其他电话,结束后在将原来的电话恢复。

为什么要用ISDN?

无论是个人还是公司,ISDN都应成为您的首选。因为它有以下诸多好处:

价格便宜:

由于使用单一的网络提供不同的业务,ISDN大大提高了网络资源的利用率。用户不必要购
买不同的设备和线路接入不同的网络。就上海来说,目前电信局对用户推出ISDN优惠大套
餐,只需花490元,即可获得上海贝尔生产的智能网络终端和ISDN适配卡,家中原有的模拟
电话、传真机等都可直接接入,通过ISDN适配卡可以128Kb/s的速率上网,所花的费用不到
一块56K调制解调器的价钱。而且每条ISDN线路的月租费为24元,与模拟电话线相同,却可
当两条模拟线路使用,何乐而不为呢?

高速数据传输:

使用ISDN,最高数据传输速率可达128Kb/s,相对于现有电话网中的数据速率提高了好几倍
。对于因特网用户来说,使用56K调制解调器时文件下载速率最快时在4KB/s左右,还需视
网络情况而定,而使用ISDN,若同时使用两个B信道,下载文件是速率最快可达12KB/s左右
,提高整整3倍!这样,省下来的时间、电话费、上网费就相当可观了。

高的传输质量:

经常上网的用户肯定有类似经验,有时下载一个大文件花费了好几个小时,结果下载完后
却发现由于线路质量差,误码率高,下载的文件不能使用。而使用ISDN几乎不会发生这种
问题。由于ISDN采用端到端的数字连接,传输质量很高,它不会象模拟线路一样受到静电
和噪音的影响。此外,由于ISDN中的数字设备便于故障检测,系统可靠性也得到提高。

使用灵活方便:

ISDN提供各种业务,用户只需一个入网接口,就能使用网络提供的各种业务。例如,您可
以把电话和个人电脑接入ISDN,在上网的同时可以打电话。还可接入可视电话、会议电视
、ISDN路由器等设备。由于这些设备均有相应的国际标准,可以象家用电器一样具有便携
性,可以从一个插座上拔到另一个有插座的地方去使用。

总的来说,ISDN是一个非常成熟的技术,它必将以其优质的服务、平民化的价格将您带入
一个全新的数字时代。

8.2 内置ISDN的安装

8.2.1 说明

内置ISDN卡的安装比较麻烦,造成这种情况的主要原因是卡的型号比较多,而内核支持的
范围十分有限,所以,笔者向大家推荐上海贝尔出的几种,我们只需要重新编译内核,加
上我们用ISDN的型号就可以啦。

8.2.2 配置

1. 内核配置文件
实例:

以下是我们需要的选项,由于现在市面上见到的所有中文Linux的发行版均不支持内置的I
SDN,所以,我们要想用这个好东东只能自己动手啦。
在/usr/src/linux目录下执行make menuconfig,然后在ISDN项中选择一下选项:
<*> ISDN support
[*] Support synchronous PPP
[*] Use VJ-compression with synchronous PPP
[*] Support generic MP (RFC 1717)
[*] Support audio via ISDN
<M> HiSax SiemensChipSet driver support
[*] HiSax Support for EURO/DSS1
[*] Support for german chargeinfo
[*] Disable sending complete
[*] Disable sending low layer compatibility
[*] HiSax Support for Teles 16.3 or PNP or PCMCIA
[*] HiSax Support for Winbond W6692 based cards
然后存盘退出,执行make dep,make clean,make bzImage,make modules,make modules_i
nstall,depmod -a,make install。
此时,新的核心已经生成啦,而我们老的核心并没有被删除,只是做了一个备份,要是有
什么问题,还是可以恢复的。最后我们需要重新启动使得新内核生效。

2. isdn4k-utils-3.1beta7_mini-1.i386.rpm
这是一个支持内置ISDN的包,安装上之后,系统就会识别我们的内置卡了,当然,为了实
现拨号,我们还需要写一个拨号脚本以及相应的挂断脚本,它们是isdnon和isdnstop。

3. isdnon
实例:

#!/bin/sh
echo -n E > /dev/ttyS1
modprobe hisax type=36 protocol=2
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
#Kill previous ipppd process
if [ -r /var/run/ipppd.ippp0.pid ]
  then kill -9 `cat /var/run/ipppd.ippp0.pid`
fi
if [ -r /var/run/ipppd.ippp1.pid ]
  then kill -9 `cat /var/run/ipppd.ippp1.pid`
fi
#Variables
MYIP=0.0.0.0
REMIP=0.0.0.0
MYMSN=62986638
REMMSN=169
MYUSER=169
REMNAME=169
#Init
/sbin/isdnctrl verbose 3
#/sbin/isdnlog -sS -v1 -m0x17d7 -l0x3d7 -C /dev/console -D /dev/isdnctrl
#Add and set ippp0
/sbin/isdnctrl system on
/sbin/isdnctrl addif ippp0
/sbin/isdnctrl eaz ippp0 $MYMSN
/sbin/isdnctrl addphone ippp0 out $REMMSN
/sbin/isdnctrl huptimeout ippp0 3600
/sbin/isdnctrl l2_prot ippp0 hdlc
/sbin/isdnctrl l3_prot ippp0 trans
/sbin/isdnctrl encap ippp0 syncppp
/sbin/isdnctrl dialmode ippp0 auto
#Add and set ippp1
/sbin/isdnctrl addslave ippp0 ippp1
/sbin/isdnctrl eaz ippp1 $MYMSN
/sbin/isdnctrl addphone ippp1 out $REMMSN
/sbin/isdnctrl huptimeout ippp1 3600
/sbin/isdnctrl l2_prot ippp1 hdlc
/sbin/isdnctrl l3_prot ippp1 trans
/sbin/isdnctrl encap ippp1 syncppp
/sbin/isdnctrl dialmode ippp1 auto
/sbin/ifconfig ippp0 -arp -broadcast
#Startup PPP
/sbin/ipppd user $MYUSER remotename $REMNAME /
  lock /
  noipdefault /
  +mp /
  ipcp-accept-local /
  ipcp-accept-remote /
  name $MYUSER /
  -detach /
  mru 552 /
  mtu 552 /
  lcp-restart 1 /
  defaultroute /
  /dev/ippp0 &
/sbin/ipppd user $MYUSER remotename $REMNAME /
  lock /
  noipdefault /
  +mp /
  ipcp-accept-local /
  ipcp-accept-remote /
  name $MYUSER /
  -detach /
  mru 552 /
  mtu 552 /
  lcp-restart 1 /
  defaultroute /
  /dev/ippp1 &

4. isdnstop
实例:
#!/bin/sh
echo -n G > /dev/ttyS1
ifconfig ippp0 down >/dev/null 2>&1
isdnctrl delif ippp0 >/dev/null 2>&1
killall -9 ipppd >/dev/null 2>&1
sleep 2
echo -n H > /dev/ttyS1
8.3 外置ISDN的安装

8.3.1 说明

由于现在最新的内核2.4.0-test6不支持USB接口的ISDN.所以,我们这里所说的外置ISDN指
的是串口的.

安装串口ISDN的方法有许多种,笔者从自身实践中感觉,将ISDN当成Modem一样用比较方便,
这样不需要安装其余RPM包,又不用设置DNS,所以将外置串口的ISDN当Modem用既简单,又实
用.

8.3.2 配置
1./etc/ppp/isdndial
实例:
  " " ATZ
  OK ATX0
  OK AT%B8
  #启动双信道
  OK "ATB31"
  #有时候直接上双信道不成,所以在线路忙的时候可以注释掉这行
  OK ATD169
  "CONNECT" " "
2. /etc/ppp/options
  同第七章
3./etc/ppp/pap-secrets
  同第七章

8.4 测试及管理方法

1.管理员通过执行/sbin/imon来监控内置ISDN的工作状况
2.管理员可以执行/usr/sbin/ipppstats来监控内置ISDN的流量

8.5 本章小节

ISDN在国内的应用越来越多,它比电话线拨号上网的带宽增大了许多,中小型企业通过它
共享上网非常合适。

  现在国内用在ISDN上网的设备有很多种,没有任何厂商声明支持Linux,但是Linux已
经可以支持大多数ISDN设备。

  ISDN上网与我们常用的Modem拨号上网类似。在Linux下甚至可以把ISDN卡模拟成Mode
m设备,所不同的是ISDN可以使用同步PPP(synchronous PPP),而Modem拨号一般使用异
步PPP(anonymous PPP)。对于这两种拨号方式,邮局或ISP采用不同的接入设备。

  尽管ISDN可以模拟成Modem进行异步模式的拨号,但一般只是用来测试ISDN卡是否运行
正常,真正在上网时通常要用同步PPP拨号模式。

第九章 Linux下 Apache、Tomcat的整合

9.1 所需的RPM包:
jdk1_2_2_006-linux-i386.tar.gz
jakarta-tomcat.tar.gz,
mod_jserv.so

9.2 软件安装:

9.2.1 安装jdk1.2.2
(1) 解开压缩包
  tar xvzf jdk1_2_2_006-linux-i386.tar.gz

(2) 目录的处理
  ln -s jdk1.2.2 jdk
  ln -s jdk/jre jre

(3) 设置$JAVA_HOME,$CLASSPATH
  vi /root/.bash_profile
  加入:
    JAVA_HOME=/usr/local/jdk
    export JAVA_HOME
    CLASSPATH=/usr/local/jdk/lib:/usr/local/jre/lib
    export CLASSPATH
    PATH=$PATH:/usr/local/jdk/bin:/usr/local/jre/bin
注:JDK的安装到此结束

9.2.2 安装tomcat
(1) 解开压缩包
  tar xvzf jakarta-tomcat.tar.gz

(2) 运行tomcat服务器
  cd /usr/local/jakarta-tomcat/bin
  ./startup.sh start(用./shutdown.sh stop结束tomcat服务器)
  lynx http://localhost:8080/
看见了jsp/servlet的东西,并且能运行它的例子程序,那么你的tomcat 服务器就安装成
功了

9.2.3 和apache连接
(1) 简介:
  tomcat本身其实就是一个web服务器,我们可以把它和apache等其他web服务器连接起
来,这两个服务器可以不在同一台机器上。下面的操作是在同一台机器上的情况。

(2) 拷贝.so文件
  cp mod_jserv.so /usr/local/apache/libexec

(3) 修改Apache的配置文件,加入对tomcat的支持
  cp /usr/local/jakarta-tomcat/conf/tomcat.conf /usr/local/apache/conf/tomca
t.conf
  vi /usr/local/apache/conf/httpd.conf
  加入Include /usr/local/apache/conf/tomcat.conf

9.2.4 测试

重新启动你的apache, 然后运行tomcat服务器
lynx http://localhost/examples/
如果你看见了jsp、servlet目录,你的apche与tomcat已经连接成功了.

9.2.5 一些说明:

如果你的jsp/servlet运行不了或者有错误,一般是你的CLASSPATH设置错误。如果你的ap
ache是自己编译的,编译apache时请把--enable-module=so打开。

第十章 Linux下Apache、JServ的整合

10.1 需要的源码包:
  jdk-1_2_2_006-linux-i386.tar.gz
  jsdk20-solaris2-sparc[1].tar.Z
  ApacheJServ-1.1.2.tar.gz

10.2 安装过程

10.2.1 安装jdk1.2.2
(2) 解开压缩包
  tar xvzf jdk1_2_2_006-linux-i386.tar.gz

(2) 目录的处理
  ln -s jdk1.2.2 jdk
  ln -s jdk/jre jre

(3) 设置$JAVA_HOME,$CLASSPATH
  vi /root/.bash_profile
  加入:
    JAVA_HOME=/usr/local/jdk
    export JAVA_HOME
    CLASSPATH=/usr/local/jdk/lib:/usr/local/jre/lib
    export CLASSPATH
    PATH=$PATH:/usr/local/jdk/bin:/usr/local/jre/bin
  注:JDK的安装到此结束。

10.2.2 安装JSDK
(1) tar zxvf jsdk20-solaris2-sparc[1].tar.Z

(2) 将产生的JSDK2.0目录移到 /usr/local/JSDK2.0
  mv JSDK2.0 /usr/local/JSDK2.0
  注:JSDK的安装到此结束。

10.2.3 Apache和Jserv的静态混合编译

所谓的静态编译是指将Jserv编译进apache里
(1) tar xvzf apache_1.3.12.tar.gz
  tar xvzf ApacheJServ-1.1.2.tar.gz

(2) cd apache_1.3.12
  ./configure --prefix=/usr/local/apache

(3) 配置apache jserv编译参数
  cd ../ApacheJServ-1.1.2
  ./configure /
  --prefix=/usr/local/jserv /
  --with-apache-src=../apache_1.3.12 /
  --with-jdk-home=/usr/local/ jdk1.2.2 /
  --with-java-platform=2 /
  --with-JSDK=/usr/local/JSDK2.0/lib/jsdk.jar
  make
  make install

(4) 编译apache和apache jserv
  cd ../apache_1.3.12
  ./configure /
    --prefix=/usr/local/apache /
    --activate-module=src/modules/jserv/libjserv.a
  make
  make install

(5) 执行/usr/local/apache/bin/httpd -l检查一下mod_jserv是否编译进apache了

(6) 更改配置文件 /usr/local/apache/conf/httpd.conf
  添加 Include /usr/local/jserv/etc/jserv.conf

(7) 更改配置文件 /usr/local/jserv/etc/jserv.conf
  SetHandler jserv-status
  order deny,allow
  deny from all
  加入你的信任主机allow from xxxx
  这样在信任主机上通过http://yourserver/jserv/(注意后面这个"/"不能少)可以看
到你的apache jserv的配置信息。
  接着在/usr/local/jserv/servlets下放入你自己的servlet class实验一下效果吧,
测试结果表明在redhat6.2下没有中文显示问题,一切ok!
  其他关于servlet zone的设置、load balance等等请参考apache jserv文档和java.a
pache.org网站
  注:Apache和Jserv混合编译到此结束

10.3 最后的测试:

1. 启动apache:/usr/local/apache/bin/apachectl start
2. 用浏览器测试http://yourserver/servlets/IsItWorking
  看见了Yes,It's working!了吗?你成功了!!

第十一章 Linux下Apache、php3、MySQL的整合

11.1 所需的RPM包
  apache_1.3.12.tar.gz
  php-3.0.16.tar.gz
  mysql-3.22.32.tar.gz
  注意:以上均为源代码而非RPM包

11.2 软件安装
  以root登录,将以上文件均拷贝至/root下

11.2.1 安装MySQL
(1) 解开压缩包
    tar -zvxf mysql-3.22.32.tar.gz

(2) 将产生mysql-3.22.32目录移到/usr/local/mysql
    mv mysql-3.22.32 /usr/local/mysql

(3) 编译MySQL
    cd /usr/local/mysql
    ./configure --prefix=/usr/local/mysql
    make
    make install
  注:MySQL的安装到此结束

11.2.2 Apache、PHP3的混合编译
(1) 解开压缩包
    tar xvzf apache_1.3.12.tar.gz 产生apache_1.3.12目录
    tar xvzf php-3.0.16.tar.gz 产生php-3.0.8目录

(2) 把Apache的安装目录定为/usr/local/apache
    cd apache_1.3.12
    ./configure --prefix=/usr/local/apache

(3) 配置支持MySQL、作为Apache功能模块、跟踪变量有效
    cd ../php-3.0.16
    ./configure --with-mysql=/usr/local/mysql --with- apache=../apache_1.3
.12 --enable-track-vars
    make
    make install
  注:PHP的安装到此结束

(4) 配置Apache,加入PHP3的模块
    cd ../apache_1.3.12
    ./configure --prefix=/usr/local/apache --activate- module=src/modules/
php3/libphp3.a
    make
    make install
  注:APACHE安装完毕

11.2.3 更改配置
(1) 把php.ini文件拷到/usr/local/lib/目录下.
    cd ../php-3.0.8#cp php3.ini-dist /usr/local/lib/php3.ini

(2) 更改Apache的配置文件
    cd /usr/local/apache/conf
    vi httpd.conf
找到 AddType application/x-httpd-php3.php3 把它前头的#号给删了当然也可加一行 A
ddType application/x-httpd-php3.asp 这样用FrontPage编辑会方便一点。

第十二章 MySQL

简 介

MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最
流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务
器守护程序mysqld和很多不同的客户程序和库组成。

SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为
一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件
和图像。

MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理
与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快
,MySQL就开发出来。自1996年以来,我们一直都在使用MySQL,其环境有超过 40 个数据
库,包含 10,000个表,其中500多个表超过7百万行,这大约有100 个吉字节(GB)的关键应
用数据。

MySQL建立的基础是业已用在高要求的生产环境多年的一套实用例程。尽管MySQL仍在开发
中,但它已经提供一个丰富和极其有用的功能集。

MySQL的官方发音是"My Ess Que Ell"(不是 MY-SEQUEL )。

第一节 MySQL的安装

1.1 所需资源
  MySQL-3.22.32-1.i386.rpm
  MySQL-client-3.22.32-1.i386.rpm

1.2 安装方法
  第一步:rpm -ivh MySQL-3.22.32-1.i386.rpm
  第二步:rpm -ivh MySQL-3.22.32-1.i386.rpm
  第三步:执行mysql,启动MySQL monitor就可以使用mysql数据库了。

第二节 MySQL的使用

2.1 启动MySQL守护进程
  /etc/rc.d/init.d/mysql start

2.2 关闭MySQL守护进程
  /etc/rc.d/init.d/mysql stop

2.3 检查MySQL服务器是否已经运行

2.3.1 检查MySQL的属性
    /usr/bin/mysqladmin variables
2.3.2 检查MySQL的版本信息
    /usr/bin/mysqladmin version
2.3.3 检查MySQL的运行状态
    /usr/bin/mysqladmin status
2.3.4 检查MySQL服务器此时正运行的线程信息
    /usr/bin/mysqladmin processlist

2.4 连接和断开服务器

2.4.1 连接服务器
    mysql -h host -u user -p
    #要求输入口令
2.4.2 断开服务器
    quit
    #进入MySQL之后可以敲help来获取帮助信息

2.5 MySQL存取权限的控制
MySQL的存取控制技术功能强大,比Postgres更加具有灵活性。MySQL采用的用户名和密码
的加密算法与Unix系统不尽相同,其用户名可以长达16个字符。

先以root登陆MySQl,然后在MySQL的提示符下键入grant all privileges on *.* to thj
@localhost identified by 'thj' with grant option; 这样,无论用户thj从什么地方登
陆到这台服务器都可以使用MySQL。

第三节 MySQL数据库的简单操作语句

3.1 对数据库的操作

MySQL的数据库实际上对应的是一个目录,它被系统存储在/var/lib/mysql 中。
3.1.1 创建数据库
    命令:create database 数据库名;
3.1.2 删除数据库
    命令:drop database 数据库名;
3.1.3 查询MySQL中都有什么数据库
    命令:show databases;
3.1.4 更改当前使用的数据库
    命令:use tbl_name

3.2 对数据表的操作

MySQL中的TABLE才是真正的数据库。
3.2.1 创建数据表
    命令:create table tbl_name ( column_specs );
    说明:tbl_name 数据表名 column_specs 表中列的说明
3.2.2查询指定的数据表的结构
    命令:describe tbl_name;
3.2.3 查询数据库中都有什么数据表
    命令:show tables;

3.3 对数据记录的操作

3.3.1 增加新记录
命令:insert into tbl_name (col_name1,col_name2,…) values(values1,values2,…
.)
说明:insert语句简单易用,但是它也有一个缺陷,就是每次只能插入一条记录。
3.3.2 批量装载数据
命令:load data local infile "filename.txt" into table tbl_name;
说明:MySQl的版本不得低于3.22.15,否则load data local不起作用。该语句实际上是调
用了/usr/bin/mysqlimport。

3.3.3 检索信息
命令:select 要选择的东西 from 一个或多个表 where 数据必须满足的条件
注:在MySQL中,每键入一条命令之后,在命令行的结尾都要敲入";",标志是一条命令,
或者敲回车之后再敲go,提示系统执行上边的命令;另外,在多数关于MySQL的参考书中,
命令都为大写,实际上小写也可以;还有,use语句可以不加";",这是所有MySQL语言中
唯一一个不需要加";"就可以执行的语句。

作 者: 汤海京

(thjthj@netease.com)

后 记

以上内容是我和我们整个"满意办公项目组"全体同仁数月来实践经验的总结,希望对大家配
置服务器有所帮助。

在我写该书的时候,RedHat7.0已经正式发布了,其性能和稳定性较之6.2都有了较大的提
高,作为服务器更加适合,希望能够引起大家的注意。

最后再次感谢软件事业部田日辉、曹宜、石京海、黄景昌,服务器器网络事业部黄后生等
对我的大力支持。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: