网络操作系统-Linux基础 主讲人:王柯wangk@swnu.edu.cn 西南师范大学计算机科学系2005年春 Red Hat Linux 网络配置与网络管理 第19章-第22章 第19章配置网络连接 ?网络类配置文件(1) 对网络进行配置的初始化脚本。/etc/rc.d/init.d/network 将网络服务名转换为端口号/协议。由inetd、telnet、 tcpdump 和一些其它程序读取。有一些C 访问例程。 /etc/services 路由表/proc/net/route 列举当前可用的协议。请参阅NAG(网络管理员指南, Network Administrators Guide)和联机帮助页。C 接口 是getprotoent。绝不能更改。 /etc/protocols 列举从机器所连接的网络可以访问的网络名和网络地址。 通过路由命令使用。允许使用网络名称。 /etc/networks 设置NETWORKING=yes 或no;HOSTNAME=: GATEWAY=。至少由rc.sysinit 读取。 /etc/sysconfig/network Red Hat 网络配置脚本。Ifup ifdown ifcfg-eth0 ifcfg-lo0 /etc/sysconfig/network- scripts/if* 本文件包含了系统的主机名和完全的域名 如linux.swnu.edu.cn(linux为主机名;swnu.edu.cn为域名) /etc/HOSTNAME ?网络类配置文件(2) 在程序请求“解析”一个IP 地址时告诉内核应该查询哪个名称服 务器nameserver。 /etc/resolv.conf 允许使用本地INET服务的主机列表。至少由/usr/sbin/tcpd 读取。/etc/hosts.deny 允许使用本地INET服务的主机列表。至少由/usr/sbin/tcpd读取。/etc/hosts.allow 告诉网络域名服务器如何查找主机名。(通常是/etc/hosts,然 后就是名称服务器bind;可通过netconf 对其进行更改) /etc/host.conf 包含(本地网络中)已知主机的一个列表。如果系统的IP 不是 动态生成,就可以使用它。对于简单的主机名解析(点分表示 法),在请求DNS 或NIS 网络名称服务器之前,/etc/hosts.conf 通常会告诉解析程序先查看这里。 /etc/hosts ?网络类配置文件(3) gated 的配置。只能被gated 守护进程所使用。/etc/gated.conf 包含gated 守护进程的版本号。/etc/gated.version 由routed 守护进程可选地使用。/etc/gateway 包含RPC 指令/规则,这些指令/规则可以在NFS 调用、远 程文件系统安装等中使用。 /etc/rpc 邮件程序sendmail 的配置文件。/etc/sendmail.cf inetd的配置文件。包含每个网络服务的条目,inetd 必须为这些 网络服务控制守护进程或其它服务。注意,服务将会运行,但 在/etc/services 中将它们注释掉了,这样即使这些服务在运行也 将不可用。格式为:<service_name> <sock_type> <proto> <flags> <user> <server_path> <args> /etc/inetd.conf 要导出的文件系统(NFS)和对它的权限。/etc/exports 19.1 网络连接配置 ? 19.1.1 建立以太网连接 ? 19.1.2 建立ISDN连接 ? 19.1.3 建立MODEM连接 ? 19.1.4 设置DNS ? 19.1.5 管理主机 ? 19.1.6 激活设备 ? 19.1.7 使用配置文件profile ? 19.1.8 设备别名device aliases 19.1 网络连接配置 ?网络管理工具 #redhat-config-network-gui #redhat-config-network-tui ?网络设备控制工具 #redhat-control-network 19.1 网络连接配置 ?逻辑设备v.s. 设备别名device aliases –逻辑设备:每个物理网络设备可以创建多个逻辑网络设备。 可以使用不同的别名和不同的配置文件profile来与同一物理网 络设备相关联。和同一物理网络设备相关联的逻辑网络设备 必须存在于不同的配置文件中,并且不能被同时激活。 /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/networking/profiles/* –设备别名:设备别名是与同一物理设备相关联的虚拟设备, 它们通常使用设备名、冒号和数字来代表(例如:eth0:1)。 必须存在于不同的配置文件中,可以被同时激活。(例如: 一个网卡配置多个IP地址,并且可以同时激活。) /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1 19.2 PPP配置 PPP Architecture OSI layer Physical Layer (such as EIA/TIA-232, V.24, V.35, ISDN) High-Level Data Link Control (HDLC) Link Control Protocol (LCP) Network Control Protocol (NCP) (specific to each network-layer protocol) Upper-layer protocols (such as IP, IPX, AppleTalk) 3 2 1 19.2 PPP配置 19.2.1 什么是PPP PAP CHAP 19.2.2 必要的软件和硬件 检查内核对PPP的支持#dmesg | more 检查PPP软件#ls /usr/sbin/pppd文件 #ls /usr/sbin/chat文件 #ls /etc/ppp目录 19.2.3 配置PPP连接 19.2 PPP配置 19.2.3 配置PPP连接 1. 使用KPPP配置PPP 2. 使用PPP script配置PPP #cp /usr/share/doc/ppp-2.4.1/scripts/ppp-o* /etc/ppp ppp-off ppp-on ppp-on-dialer ppp-on-rsh ppp-on-ssh 第20章TCP/IP管理程序 20.1 TCP/IP配置文件 ?主机名:/etc/hosts ?网络名:/etc/networks ?主机名:/etc/HOSTNAME ?网络服务:/etc/services ?网络协议:/etc/protocols ifconfig命令 ? #ifconfig eth0 202.202.104.37 netmask 255.255.255.0 ? #ifconfig eth0 up/down ? #ifconfig ppp0 192.168.1.72 pointtopoint 204.166.254.14 ? #ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE:FF ? #ifconfig eth0 192.168.50.50 netmask 255.255.255.240 broadcast 192.168.50.63 ? #ifconfig eth0:0 202.202.104.38 ? #ifconfig eth0:1 202.202.104.39 route命令 ? #route add –host hostname or IP dev device ? #route add –net network-address netmask dev device ? #route add –net default gw hostname or IP ? #route ? #route add –host 192.168.1.1 dev eth0 ? #route add –net 192.168.1.0 dev eth0 ? #route add –net 192.168.50.48 255.255.255.240 dev eth0 ? #route add default gw 192.168.1.1 dev eth0 ? #route del 192.168.23.0 第21章服务器配置 ? 21.1 NFS(网络文件系统)服务器 ? 21.2 NIS (网络信息服务)服务器 ? 21.3 Samba服务器 ? 21.4 Apache服务器 21.1 NFS服务器 ?安装好两个软件包:portmap nfs ?NFS基于RPC,所以需要portmap服务 ?修改配置文件/etc/exports 格式:/directory nfs-client-host-ip-or-name (access options) 示例: /www client1.sina.com(ro, ro) client2.sina.com(ro) /www client1.sina.com(rw) client2.sina.com(rw,sync) /www 202.202.104.104(ro) /www 202.202.50.48/255.255.255.240(rw) /www *.sina.com(rw,insecure,sync,no_wdelay,no_subtree_check,insecure_locks) /www (ro) /pub linuxlab-??.swnu.edu.cn(noaccess) 在NFS服务器和客户之间进行用户映射 ?通常并不希望NFS客户上的root帐户对NFS服务器安装的共享 目录享有root的特权,所以NFS服务器默认使用root_squash. ? /www *.swnu.edu.cn(root_squash) 将root(UID=0和GID=0)压缩到nobody ? /www *.swnu.edu.cn(no_root_squash) 把客户root当作本地root ? /www *.swnu.edu.cn(anonuid=500,anongid=666) 将root压缩到UID=500和GID=666 ? /www *.swnu.edu.cn(all_squash) 将所有客户压缩到nobody ? /www *.swnu.edu.cn(anonuid=500,anongid=666,squash_uids=0- 100,squash_gids=0-100) 将0~100范围内的所有UID和GID压缩到nobody UID=500和GID=666 ? /www *.swnu.edu.cn(map_static=/etc/nfs.map) 编辑nfs.map文件来实现映射。 在NFS服务器和客户之间进行用户映射 ? #cat /etc/nfs.map uid 0-100 #squash all remote uids in the 0-100 range gid 0-100 #squash all remote gids in the 0-100 range uid 500 666 #map remote uid 500 to local uid 666 gid 500 777 #map remote gid 500 to local gid 777 NFS服务器 ?将修改后/etc/exports的变化让NFS进程知道 #exportfs #servie nfs reload ?检查rpc.mountd、rpc.rquotad、rpc.nfsd(这三个被称 为portmap-administered程序)是否运行正常 #rpcinfo –p ?查看、启动、停止、在引导时启动NFS服务 #service nfs status #service nfs start #service nfs stop #service nfs restart #chkconfig –level 345 nfs on NFS客户-挂载NFS文件系统 ?使用mount命令挂载NFS文件系统 #mount nfs.swnu.edu.cn:/www /localdir –t nfs ?使用/etc/fstab命令挂载NFS文件系统 修改/etc/fstab, 增加server:/www /localdir nfs rsize=8192,wsize=8192,timeo=14,intr NFS客户-挂载NFS文件系统 ?使用autofs挂载NFS文件系统 ?守护进程:automount ?要在客户/misc/myproject 挂载点上挂载服务器nfs.swnu.edu.cn 上的/www 目录: 修改/etc/auto.master 主配置文件 /misc /etc/auto.misc --timeout=60 修改/etc/auto.misc 从配置文件 myproject –rw,soft,intr,rsize=8192,wsize=8192 nfs.swnu.edu.cn:/www ?重启autofs服务: #service autofs reload #service autofs restart chkconfig ? chkconfig命令可以用来激活和停运服务。由xinetd 管理的服务 会立即被chkconfig 影响。对其它服务的改变在使用chkconfig 之后不会立即生效,必须使用service daemon stop 命令来停止 个别服务。 ? #chkconfig --list 显示一个系统服务列表,以及它们在运行级别 0 到6 中已被启动(on)或停止(off)。在列表末端,你会看 到由xinetd 管理的服务部分。 ? # chkconfig --list finger 返回了下列输出: finger on ? #chkconfig --list anacron 返回了下列输出: anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off ? #chkconfig --level 345 nscd off 在运行级别3、4、5 中停运nscd 服务 ntsysv 工具 ? ntsysv 工具为激活或停运服务提供了简单的界面。 ?使用ntsysv 来启动或关闭由xinetd 管理的服务,配置 运行级别。按照默认设置,只有当前运行级别会被配 置。要配置不同的运行级别,使用--level 选项来指定 一个或多个运行级别。 ?譬如,命令ntsysv --level 345 配置运行级别3、4和5。 21.2 NIS服务器 ?NIS服务器:存放网络范围内与主机无关但却需要定 期更新的配置文件,如passwd和group文件。 ?NIS客户: ypbind/ypwhich/ypat/yppoll/ypmatch/yppasswd/ypset 21.3 Samba服务器 ?Samba 使用SMB 协议通过网络连接来共享文件和打 印机. 支持该协议的操作系统包括Microsoft Windows (通过它的Network Neighborhood)、OS/2、和 Linux。 ?Samba 会允许文件和打印机被你的网络中的所有系 统共享。 Samba配置文件 ? /etc/samba/smb.conf ? /etc/samba/smbpasswd ? /etc/samba/users /etc/samba/smb.conf 配置文件 ?以# ;开始的是注释行 ?以[ ]定义一个部分 [global] [homes] [printers] ?以“名称=值”定义配置参数 workgroup = mygroup /etc/samba/smb.conf 配置文件 ? [global] workgroup = mygroup server string = samba server printcap name = /etc/printcap load printers = yes printing = cups log file = /var/log/samba/%m.log max log size = 0 security = user # / share /server encrypt password = yes smb passwd file = /etc/samba/smbpasswd socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 dns proxy = yes /etc/samba/smb.conf 配置文件 ?[homes] comment = Home Directories browseable = no writable = yes create mod = 0664 directory mod = 0775 ? [printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = no printable = yes Samba客户 ? #smbclient //hostname/sharename –U username smb:\>? ?在Nautilus中输入: smb://user:passwd@servername/sharename/ Webmin管理工具 ?Webmin是一个基于Web的Unix系统管理工具。管理员 通过浏览器访问Webmin的各种管理功能并完成相应的 管理动作。目前Webmin支持绝大多数的Unix系统,这 些系统除了各种版本的Linux以为还包括:AIX、HP-UX、 Solaris、Unixware、Irix和FreeBSD等。 ?Webmin自带web服务器miniserver。 ?Web管理方式使得Webmin同时具有本地和远程管理的 能力。 ?插件式结构使得Webmin具有很强的扩展性和伸缩性。 目前Webmin提供的标准管理模块几乎涵盖了常见的 Unix管理,而且第三方的管理模块也被不断地被开发出 来。 ?访问控制和SSL支持为远程管理提供了足够的安全性。 ?国际化支持,提供多国语言版本,包括简体中文。 Webmin安装 ?1. 在www.webmin.com/webmin或其镜象站点,下载webmin,有tar.gz格式和 rpm格式等可选。(以下的安装以webmin-1.110.tar.gz为例) ?2. 安装Webmin需要先安装perl5.0.6或以上版本。如果目标系统上没有安装perl 的话,需要到http://www.cpan.org下载并安装{perl-for- linux},同时需要安装常 用的perl模块;如果你需要Webmin支持SSL,还需要安装OpenSSL和perl模块 Net::SSLeay。 ?3. 把webmin-1.110.tar.gz解包到你想安装Webmin的目录: tar vzxf webmin-1.110.tar.gz ?4. 进到该目录,并运行安装脚本setup.pl:  cd webmin-1.0.8   ./setup.pl ?5. 安装过程会询问Webmin配置文件目录、Log目录和系统的监听端口(缺省 是10000,可以自己修改),还会要求你设置管理员密码。安装脚本还会把 Webmin安装成系统的守护进程,在开启系统时自动启动。 ?6. 启动系统,访问http://localhost:10000,如果出现了Webmin的登录界面就说 明安装成功了。 21.4 Apache服务器 ?配置文件/etc/httpd/conf/httpd.conf ?使用「主菜单」=> 「系统设置」=> 「服务器设置」=> 「HTTP 服务器」配置工具来配置Apache HTTP 服务器的 一般步骤如下: 1.在「主」标签下配置基本设置。 2.点击「虚拟主机」标签来配置默认设置。 3.在「虚拟主机」标签下,配置默认的虚拟主机。 4.如果你想为不止一个URL 或虚拟主机提供服务,则添加额 外的虚拟主机。 5.在「服务器」标签下配置服务器设置。 6.在「性能微调」标签下配置连接设置。 7.把所有必要的文件复制到DocumentRoot 和cgi-bin 目录中。 8.退出程序并保存设置。 21.4 Apache服务器 MaxSpareSer vers MinSpareServersUserDirBindAddress AddLangua ge ClearModulelistAddModule LoadModule KeepAliveTi meout KeepAliveMaxKeepAliveRe quests MaxRequestPerCh ild TimeoutMaxClientsGroupCoreDumpDirecto ry UserPidFileLockFileServerAlias NameVitural Host VitualHostUnsetEnvPassEnv SetEnvHostnameLookupsLogLevelErrorLog LogFormatTransferLogErrorDocumentDirectoryIndex ListenServerAdminServerNameServerRoot 第22章网络安全 ? 22.1 防火墙 ? 22.2 防火墙配置 – 21.1.1 「主菜单」=> 「系统设置」=> 「安全级别」 – 21.1.2 Gnome Lokit安全工具箱 「主菜单」=> 「系统工具」=> 「更多系统工具」=> 「Lokkit」 ipchains Linux防火墙管理程序 在TCP消息中的ACK标志必须被置位,以指示对连接请求 或正在进行创建的连接的初始化响应.如果!-y没有给出,则 TCP标志不被检查. !-y 指定规则应用到的网络接口.若无,则规则用于所有接口 -i <interface> 指定规则应用到的IP协议.若无, ,则规则用于所有协 议.protocol可以是:tcp、udp、icmp和all.来自/etc/protocols中 的任何协议名和协议号都是可以的. -p <protocol> 在TCP消息中的SYN标志必须被置位,ACK标志必须清除, 以表明一个正在建立的连接请求.如果-y没有给出,则TCP标 志不被检查. -y -A 在链尾添加一条规则 -I 在链头插入一条规则 Chains 可为input或output或forward.若无,则规则用于所有 链 –A|I [chains] ipchains Linux防火墙管理程序 指明包的目的地址.如果没有指定目的地址,则表 示全是单点传送目的地址.如果指定某一端口或端 口范围,则此规则仅适用于这些端口;如果没有指 定端口,则规则适用所有端口. -d <address> [:<port>] 指定此规则对数据包的处理策略:ACCEPT或 DENY或REJECT.另外,forward链还能采用 MASQ(地址隐藏)策略. -j <policy> 当一包匹配此规则时,默认操作是在系统日志 /var/log/messages中写下一内核消息(KERN_INFO) -l 指明包的源地址.如果没有指定源地址,则表示全 是单点传送源地址.如果指定某一端口或端口范围, 则此规则仅适用于这些端口;如果没有指定端口, 则规则适用所有端口. -s <address> [:<port>] ipchains防火墙使用的符号常量 CLASS_E_RESERVED_NET = “224.0.0.0/5” BROADCAST_SRC = “0.0.0.0” CLASS_D_MULTICAST = “224.0.0.0/4” LOOPBACK = “127.0.0.0/8” MY_ISP = “my.isp.address.range” CLASS_A = “10.0.0.0/8” CLASS_B = “172.16.0.0/12” CLASS_B = “192.168.0.0/16” LOOPBACK_INTERFACE = “LO” IPADDR = “my.ip.address” EXTERNAL_INTERFACE = “eth0” ipchains防火墙使用的符号常量 UNPRIVPROTS = “1024:65535” BROADCAST_DEST = “255.255.255.255” PRIVPROTS = “0:1023” BROADCAST_SRC = “0.0.0.0” 22.3 OpenSSH ? OpenSSH是SSH (Secure SHell)协议的免费开源实现。 ? OpenSSH用安全、加密的网络连接工具代替了telnet、ftp、rlogin、rsh 和rcp 工具(telnet 和ftp 使用纯文本口令,并被明文发送)。 ? OpenSSH支持SSH 协议的版本1.3、1.5、和2。自从OpenSSH 的版 本2.9 以来,默认的协议是版本2,该协议默认使用RSA 钥匙。 ? OpenSSH工具将会增进系统安全性。所有使用OpenSSH 工具的通讯, 包括口令,都会被加密。 ? OpenSSH 自动把DISPLAY 变量转发给客户机器。换一句话说,如果 你在本地机器上运行X 窗口系统,并且使用ssh 命令登录到了远程机 器上,当你在远程机器上执行一个需要X 的程序时,它会显示在你的 本地机器上。如果你偏爱图形化系统管理工具,却不能够总是亲身访 问该服务器,这就会为你的工作大开方便之门。 22.3 OpenSSH ?安装好两个软件包:openssh openssh-server ?配置文件 服务器端配置文件/etc/ssh/sshd_config 客户端配置文件/etc/ssh/ssh_config 主机ID密钥文件/etc/ssh/ssh_host*key* ?守护进程sshd ?查看、启动、停止、在引导时启动sshd服务 #service sshd status #service sshd start #service sshd stop #service sshd restart #chkconfig –level 345 sshd on 22.3 OpenSSH ? Openssh客户 #ssh 202.202.104.104 #ssh username@202.202.104.104 #ssh –l username 202.202.104.104 #scp localfile username@202.202.104.104:/remotefilename #scp username@202.202.104.104:/remotefilename localfile #sftp username@202.202.104.104 生成钥匙对 ?如果你不想每次使用ssh、scp 或sftp 时都要输入口令来连接 远程机器,你可以生成一对授权钥匙。 ?钥匙必须为每个用户生成。 ?SSH 协议1 和2 共享~/.ssh/authorized_keys、 ~/.ssh/known_hosts 和/etc/ssh/ssh_known_hosts 文件。 ?从OpenSSH 版本3.0 开始,~/.ssh/authorized_keys2、 ~/.ssh/known_hosts2 和/etc/ssh_known_hosts2 就会过时。 ? Red Hat Linux 9 默认使用SSH 协议2 和RSA 钥匙。 为版本2 生成RSA 钥匙对 (1)#ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key(/root/.ssh/id_rsa): #回车,接受~/.ssh/id_rsa 的默认位置 Enter passphrase(empty for no passphrase): #输入一个与你的帐号口令不同的口令,再输入一次来确认。 The key fingerprint is: 63:e5:e2:31:12:8b:2c:79:1d:55:40:02:f2:e0:a5:4a username@hostname (2)公钥被写入~/.ssh/id_rsa.pub。密钥被写入~/.ssh/id_rsa。决不能把密钥出示 给任何人。 (3)使用chmod 755 ~/.ssh 命令改变你的.ssh 目录的许可权限。 (4)把~/.ssh/id_rsa.pub 的内容复制到你想连接的机器上的 ~/.ssh/authorized_keys 文件中。如果~/.ssh/authorized_keys 不存在,你可 以把~/.ssh/id_rsa.pub 文件更名拷贝为那个机器上的 ~/.ssh/authorized_keys 文件。 (5)配置ssh-agent 为版本2 生成DSA 钥匙对 (1)#ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key(/root/.ssh/id_dsa): #回车,接受~/.ssh/id_dsa的默认位置 Enter passphrase(empty for no passphrase): #输入一个与你的帐号口令不同的口令句,再输入一次来确认。 The key fingerprint is: 63:e5:e2:31:12:8b:2c:79:1d:55:40:02:f2:e0:a5:4a username@hostname (2)公钥被写入~/.ssh/id_dsa.pub。密钥被写入~/.ssh/id_dsa。决不能把密钥出 示给任何人。 (3)使用chmod 755 ~/.ssh 命令改变你的.ssh 目录的许可权限。 (4)把~/.ssh/id_dsa.pub 的内容复制到你想连接的机器上的 ~/.ssh/authorized_keys 文件中。如果~/.ssh/authorized_keys 不存在,你可 以把~/.ssh/id_dsa.pub 文件更名拷贝为那个机器上的 ~/.ssh/authorized_keys 文件。 (5)配置ssh-agent 为版本1 生成RSA 钥匙对 (1)#ssh-keygen -t rsa1 Generating public/private rsa1 key pair. Enter file in which to save the key(/root/.ssh/identity): #回车,接受~/.ssh/identity 的默认位置 Enter passphrase(empty for no passphrase): #输入一个与你的帐号口令不同的口令,再输入一次来确认。 The key fingerprint is: 63:e5:e2:31:12:8b:2c:79:1d:55:40:02:f2:e0:a5:4a username@hostname (2)公钥被写入~/.ssh/identity.pub。密钥被写入~/.ssh/identity。决不能把密钥出 示给任何人。 (3)使用chmod 755 ~/.ssh和chmod 644 ~/.ssh/identity.pub 命令改变你的.ssh 目 录的许可权限。 (4)把~/.ssh/identity.pub 的内容复制到你想连接的机器上的 ~/.ssh/authorized_keys 文件中。如果~/.ssh/authorized_keys 不存在,你可 以把~/.ssh/identity.pub 文件更名拷贝为那个机器上的 ~/.ssh/authorized_keys 文件。 (5)配置ssh-agent 在Gnome中配置ssh-agent (1)安装openssh-askpass-gnome 软件包 (2)「主菜单」(在面板上)=> 「首选项」=> 「更多首选项」 => 「会话」。然后点击「启动程序」标签。点击「增加」, 在「启动命令」文本字段内输入/usr/bin/ssh-add。把它的优 先级设为比任何现存命令都高的数字以确保它最后才执行。 ssh-add 的优先级数字最好是70 或更高。优先级数字越高, 优先级越低。如果你列出了其它程序,该程序的优先级应该 最低。点击「关闭」来退出该程序。 (3)注销后再登录进GNOME;换一句话说,重新启动X 服务器。 在GNOME 启动后,一个提示你输入口令句的对话框就会 出现。输入要求的口令句。如果你把DSA 和RSA 两者都配 置了,你会被提示两者都输入。从现在起,你就不会被ssh、 scp 或sftp 提示输入口令了。 在命令行中配置ssh-agent (1) 在shell 提示下,键入下面的命令: #exec /usr/bin/ssh-agent $SHELL (2) 然后,键入下面的命令: #ssh-add (3) 输入你的口令。如果你配置了不止一个钥匙对,你会被提示 输入每个口令 (4) 当你注销后,口令句就会被忘记。你必须在每次登录到虚拟 控制台或打开终端窗口时都执行这两条命令 22.4 ftpd ? Wu-ftpd ?ProFTPD ? vsftpd (Very Secure ftpd) 22.4 Wu-ftpd ?下载wu-ftpd-2.6.2-11.72.1.i386.src.rpm ?安装 #cp wu-ftpd-2.6.2-11.72.1.i386.rpm /usr/src/redhat/SRPMS #rpm –i wu-ftpd-2.6.2-11.72.1.i386.src.rpm # cd /usr/src/redhat/SPECS #rpmbuild –ba wu-ftpd.spec #cd/usr/src/redhat/RPMS #rpm –Uvh wu-ftpd-2.6.2-11.72.1.i386.rpm ?配置文件 /etc/ftpaccess /etc/ftpconversions /etc/ftphosts /etc/ftpusers /etc/ftpgroups /var/log/xferlog 22.4 Wu-ftpd ?FTP服务器管理工具 #ftpshut [-d min] [-l min] now [“message”] #ftpshut [-d min] [-l min] +60 [“message”] #ftpshut [-d min] [-l min] 0830 [“message”] #ftpwho #ftpcount #ftprestart 22.4 vsftpd ?安装vsftpd-1.1.3-8.i386.rpm ?启停服务 #/etc/rc.d/init.d/vsftpd start #/etc/rc.d/init.d/vsftpd restart #/etc/rc.d/init.d/vsftpd stop ?配置文件 /etc/vsftpd.ftpusers //指定哪些用户帐号不能访问ftp服务器 /etc/vsftpd.user_list //本文件中的用户帐号默认情况下也不能访问ftp 服务器,除非vsftpd.conf中设置userlist_enable=no才允许 /etc/vsftpd/vsftpd.conf //用户登录控制、用户权限控制、超时设置、 服务器功能选项、服务器性能选项、服务器响应消息等。 22.5 sendmail ?安装sendmail-8.12.8-4.i386.rpm ?启停服务 #/etc/rc.d/init.d/sendmail start #/etc/rc.d/init.d/sendmail restart #/etc/rc.d/init.d/sendmail stop ?配置文件 /etc/mail/sendmail.cf //主配置文件 /etc/mail/sendmail.mc //macro config模板文件,可由它导出sendmail.cf #cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.bak #m4 /etc/mail/sendmail.mc > /etc/mail/sendmai.cf 22.5 sendmail支持POP和IMAP功能 ?安装POP和IMAP服务器imap-2001a-18.i386.rpm ? #vi /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 确保这些服务前面没有# ?修改/etc/xinetd.d/ipop3文件, 将disable=yes改为disable=no ?修改/etc/xinetd.d/imap文件, 将disable=yes改为disable=no ?重新启动xinetd程序来读取新的配置文件 #/etc/rc.d/init.d/xinetd.reload 超级服务器xinetd ?RH 9用xinetd.conf代替原来的inetd.conf,并且直接使用了firewall 服务 ? xinetd(eXtended InterNET services daemon)对inetd功能进行了扩展, 其背景和细节可访问www.xinetd.org 超级服务器xinetd ?xinetd的默认配置文件是/etc/xinetd.conf,以一个脚本的形式将 inetd中每一行指定的服务扩展为一个/etc/xinetd.d/下的配置文件, 其文件格式为: service service-name { Socket_type = xxx; //TCP/IP socket type,such as stream,dgram,raw,.... protocol = xxx; //服务使用的协议 Server = xxx; //服务daemon的完整路径 Server_args = xxx; //服务的参数 Port = xxx; //指定服务的端口号 Wait = xxx; //是否阻塞服务,即单线程或多线程 User = xxx; //服务进程的uid Group = xxx; //gid REUSE = xxx; //可重用标志 Disabled = yes/no; //是否禁用 ….. } 22.6 DNS客户 ?配置文件/etc/resolv.conf #Default Domain domain redhat.com #Default search list search redhat.com #First name server nameserver 202.202.96.33 nameserver 202.202.96.34 ?配置文件/etc/hosts 211.83.25.77 test.redhat.com test 127.0.0.1 localhost localhost ?配置文件/etc/host.conf order hosts,bind 22.6 BIND ?安装bind-9.2.1-16.i386.rpm ?守护进程named ?启停服务 #service named start #service named restart #service named stop ?配置文件: /etc/named.conf 主配置文件 /var/named 目录Zone配置文件 22.6 BIND ? BIND(Berkeley Internet Name Domain) ?配置工具redhat-config-bind 配置基本的BIND Server Zone ? Bind Configuration Tool allows you to add a forward master zone(正向主区), a reverse master zone(逆向主区), and a slave zone(从区). DNS数据库与UNIX文件系统之比较 DNS与UNIX文件系统表示法比较 DNS 的 别 名 指 向 一 个 正 式 主 机 名 DNS 中 命 名 冲 突 问 题 的 解 决 DNS命名空间结构 域名与目录名之比较 一个主机在多个域中 同时具有IP与数据的域名 DLUT负责维护域dlut.edu.cn 域(domain)与区域(zone) DNS 查 询 过 程 递归查找:DNS解析过程 In-addr.arpa 反 向 域