1.05k likes | 1.23k Views
中小型网络组建技术. 项目三 构建Linux下的网络服务器. 项目三 构建 Linux 下的网络服务器. Linux 与网络管理. 任务 1. 与 Windows 的资源共享. 任务 2. 任务 2. 构建 DHCP 服务器. 任务 3. 任务 3. 构建DNS服务器. 任务 4. 构建 Web 服务器. 任务 5. 任务 5. 构建 FTP 服务器. 任务 6. 任务 6. 构建E-mail服务器. 任务 7. 任务 1 Linux 与网络管理. 一、任务分析
E N D
中小型网络组建技术 项目三 构建Linux下的网络服务器
项目三 构建Linux下的网络服务器 Linux与网络管理 任务1 与Windows的资源共享 任务2 任务2 构建DHCP服务器 任务3 任务3 构建DNS服务器 任务4 构建Web服务器 任务5 任务5 构建FTP服务器 任务6 任务6 构建E-mail服务器 任务7
任务1 Linux与网络管理 一、任务分析 • Linux作为网络服务器的平台,主要使用的是字符界面,配置过程比Windows平台下的图形界面配置要复杂,需要熟悉Linux的基本操作命令,熟悉与网络相关的基本配置文件的作用与功能,熟悉Linux下基本网络管理命令。 • 本任务将学习后续任务中将要用到的Linux系统的一些基本知识和基本操作,为后续的任务打下基础。
任务1 Linux与网络管理 二、相关知识 (一)熟悉Linux的发行版本 • Slackware • RedHat • 桌面版RedHat Linux • Fedora • 企业版RedHat Enterprise Linux • Debian • Suse • ……
二、相关知识 (二)RedHat9.0 Linux的基本管理命令 1.vi文本编辑器 • 一般模式 • 编辑模式 • 命令模
二、相关知识 (二)RedHat9.0 Linux的基本管理命令 2.文件和目录 • 支持的文件系统 • 相对路径 • 绝对路径
二、相关知识 (二)RedHat9.0 Linux的基本管理命令 2.文件和目录 • ls命令 • cp命令 • mv命令 • rm命令 • chmod命令 • chown命令 • useradd命令
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 1.主机地址设置文件:/etc/hosts • Linux系统默认的通信协议是TCP/IP,而TCP/IP网络上的每台主机都是以IP地址来代表它的位置。 • 易记域名地址的出现。 • TCP/IP网络用中介机制来进行IP地址与易记域名地址之间进行转换。 • 使用DNS,它在名称解析的功能上较强 • 使用主机名文件/etc/hosts,它的设置简单
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 1.主机地址设置文件:/etc/hosts • /etc/hosts文件进行名称解析的步骤: • 客户端在终端窗口或是浏览器等程序中输入目标主机名称后,系统会自动到/etc/hosts文件查询是否有目标主机的记录。 • 若是在/etc/hosts文件中包含目标主机的记录,则可找出该主机的IP地址。 • 工作站利用找出的主机IP地址,直接对此主机进行通信。 • 若是/etc/hosts文件没有包含目标主机的记录,则此次连接会失败,并且停止指令或程序的运行。
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 1.主机地址设置文件:/etc/hosts • /etc/hosts文件进行名称解析的过程: 图3-1利用/etc/hosts文件进行名称解析的流程
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 1.主机地址设置文件:/etc/hosts • /etc/hosts文件举例: • # Do not remove the following line, or various programs • # that require network functionality will fail. • 127.0.0.1 localhost.localdomain localhost #缺省安装 • 202.218.22.34 ns1.pyp.edu.cn #用户加入 • 202.218.22.36 ns2.pyp.edu.cn #用户加入
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 2.网络服务数据文件:/etc/services • /etc/services是专为各种不同网络服务而准备的数据文件,在这个文件中包含Internet服务名称、使用的连接端口号(Port)与通信协议等信息。它允许使用连接端口号与通信协议来对应服务的名称,有一些程序必须使用这个文件以执行特定的功能。
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 2.网络服务数据文件:/etc/services • /etc/services文件的部分内容举例: • ftp-data 20/tcp • ftp-data 20/udp • # 21 is registered to ftp, but also used by fsp • ftp 21/tcp • ftp 21/udp fsp fspd • ssh 22/tcp # SSH Remote Login Protocol • ssh 22/udp # SSH Remote Login Protocol • telnet 23/tcp • telnet 23/udp
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 3.xinetd配置文件:/etc/xinetd.config • xinetd是Linux中一个非常重要的守护进程,它负责接受来自Internet客户端的请求,并且将客户端的请求传送至正确的服务程序,这样处理的优点在于由xinetd负责监听来自网络上的需求信息,而服务程序因为有xinetd帮助监听来自客户端的请求,所以他们不需要在每次启动时就加载大量的程序,这可避免系统资源的浪费。
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 3.xinetd配置文件:/etc/xinetd.config • /etc/xinetd.config文件的部分内容: • #Simple configuration file for xinetd • #Some defaults,and include /etc/xinetd.d/ • defaults • { • instances =60 #同时运行的最大进程数 • log_type =SYSLOG authpriv #设置日子文件的保存位置 • log_on_success =HOST PID #表示成功连接时记录的信息 • log_on_failure =HOST RECORD #表示连接失败时记录的信息 • cps =25 30 #表示限制外部至内部网络的连接速度 • } • Includedir /etc/xinetd.d #指定所有使用xinetd服务的守护进程设置文件所在目录
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 3.xinetd配置文件:/etc/xinetd.config • 每次修改xinetd或是任何一个看守进程的服务设置后,记得要重新启动xinetd才可使设置生效,启动命令如下: • /etc/rc.d/init.d/xinetd restart
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 4.访问允许/禁止配置文件:/etc/hosts.allow和/etc/hosts.deny • 除了可以将来自客户端的请求转送至指定的服务程序外,xinetd还具备另一种功能,那就是可以集中式地管理客户端连接。 • 当xinetd接受来自客户端的服务请求后,它会先检查/etc/hosts.allow文件中是否允许此客户端的访问,若是允许则会将此请求转送至指定的服务程序,同时忽略/etc/hosts.deny的检查。若在/etc/hosts.allow文件中没有此客户端可被允许的记录,接着xinetd会继续检查/etc/hosts.deny文件的内容,如果该客户端的数据出现在此文件中,则此请求会被拒绝,但若是没有出现,由此客户端的请求仍会被转送至指定的服务程序
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 4.访问允许/禁止配置文件:/etc/hosts.allow和/etc/hosts.deny • 处理客户端请求的审核流程: 图3-2处理客户端请求的审核流程
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 4.访问允许/禁止配置文件:/etc/hosts.allow和/etc/hosts.deny • 应用举例: • 通常会将需要提供服务的客户端记录在/etc/hosts.allow中,而在/etc/hosts.deny只写入简单的一行: • ALL:ALL
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 5.网络状态设置文件:/etc/sysconfig/network • /etc/sysconfig/network是TCP/IP网络的重要设置文件,它可以设置系统默认的网络参数。 • 例如: • NETWORKING=yes # 表示开启Linux服务器的网络功能 • HOSTNAME=localhost.localdomain # 表示此台Linux的主机名称 • GATEWAY=192.168.2.1 # 本机使用的网关IP地址
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 5.网络状态设置文件:/etc/sysconfig/network • network文件可以包含以下参数: • FORWARD_IPV4:设置此台服务器是否允许转送来自客户端的IPv4封包,若允许转送应加入FORWARD_IPV4=true; • DOMAINNAME:此台服务器所属的域名称; • GATEWAYDEV:连接网关的设备,通常设eth0表示以网卡当作网络连接设备,若是拨号用户则设为ppp0。
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 6.主机搜寻设置文件:/etc/host.conf • 对主机名的解析是先通过/etc/hosts文件还是由DNS解析,是由文件/etc/host.conf来设置的,因此在这个文件中可以设置主机名称解析的顺序,其默认的内容如下所示: • order hosts,bind • 表示在进行解析时先使用/etc/hosts文件,然后才使用DNS。 • 其他参数
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 7.DNS服务器搜寻顺序设置文件:/etc/resolv.conf • /etc/resolv.conf文件的主要作用是用来设置DNS的相关选项,其常用的设置选项有3项: • nameserver:设置名称服务器的IP地址,此处所谓的名称服务器就是指DNS,最多可设置3个nameserver,而每个DNS的记录需自成一行,主机进行名称解析时会先查询记录中的第一台nameserver,如果无法成功解析,则会继续询问下一台nameserver。
二、相关知识 (三)RedHat9.0 Linux网络相关的配置文件 7.DNS服务器搜寻顺序设置文件:/etc/resolv.conf • /etc/resolv.conf文件的主要作用是用来设置DNS的相关选项,其常用的设置选项有3项: • domain:指定主机所在的域名称。 • search:在此处可以使用空格键来分隔多个域名称,作用是在进行名称解析工作时,系统会自动将此处设置的域名称,自动加在欲查询的主机名称之后,可以加入最多6个域名称。例如在此设置3个不同的域名称:name1.com name2.com name3.com,当要查询的名称为host1时,则系统会依次查询host1.name1.com,host1.name2.com,host1.name3.com。
二、相关知识 (四)RedHat9.0 Linux的基本网络管理命令 1.启动网络:network • /etc/rc.d/init.d/network是Linux系统中用来启动网络功能的Shell Script,在正常的状况下,每次开机都会自动启动,每当修改了系统中的网络状态,应该重新启动网络,而不需要重启系统。 • 命令格式: • # /etc/rc.d/init.d/network restart
二、相关知识 (四)RedHat9.0 Linux的基本网络管理命令 2.设置网卡状态:ifconfig命令 • ifconfig的参数非常多,其调用格式是: • ifconfig interface [[-net|-host] address [parameters]]
二、相关知识 (四)RedHat9.0 Linux的基本网络管理命令 2.设置网卡状态:ifconfig命令 • ifconfig命令使用的例子: • 配置eth0的IP地址,同时激活该设备: • #ifconfig eth0 192.168.1.18 netmask 255.255.255.0 up • 停用指定的网络接口设备eth0: • #ifconfig eth0 down • 查看指定的网络接口设备eth0的配置,系统显示以太网接口eth0的配置信息: • #ifconfig eth0
二、相关知识 (四)RedHat9.0 Linux的基本网络管理命令 2.设置网卡状态:ifconfig命令 • ifconfig命令使用的例子: • 查看所有的网络接口配置: • #ifconfig
二、相关知识 (四)RedHat9.0 Linux的基本网络管理命令 3.显示网络统计信息:netstat命令 • n e t s t a t是一个非常有用的工具,通常它可以完成以下功能: • (1)显示网络接口状态信息: • 在随- i标记一起使用时,netstat将显示网络接口的当前配置状态。除此以外,如果调用时还带上- a选项,它还将输出内核中所有接口,并不只是当前配置的接口。 • #netstat -i
二、相关知识 (四)RedHat9.0 Linux的基本网络管理命令 3.显示网络统计信息:netstat命令 • (2)显示内核路由表信息: • 在随- r标记一起调用netstat时,将显示内核路由表,- n选项令netstat以点分十进制的形式输出IP地址,而不是象征性的主机名和网络名。 • netstat输出结果中,第二列是路由条目所指的网关,如果没有使用网关,就会出现一个星号;第三列是路由的概述,用于为具体的IP地址找出最恰当的路由时;第四列显示了不同的标记,其中:G表示路由将采用网关,U表示准备使用的接口处于“活动”状态,H表示通过该路由,只能抵达一台主机,如回送接口的路由器条目127.0.0.1就如此,D表示路由表的条目是由ICMP重定向消息生成的,M表示路由表条目已被ICMP重定向消息修改。 • 命令格式:netstate -nr或者netstate -r
二、相关知识 (四)RedHat9.0 Linux的基本网络管理命令 3.显示网络统计信息:netstat命令 • (3)显示TCP/IP传输协议的连接状态: • netstat支持用于显示活动或被动套接字的选项集,选项- t、- u、- w和- x分别表示TCP、UDP、RAW和UNIX套接字连接。如果加-a标记,还会显示出等待连接,就是处于监听模式的套接字,这样可得到一份服务器清单,当前运行于系统中的所有服务器都会列入其中。 • 例如:netstat –ta。
二、相关知识 (四)RedHat9.0 Linux的基本网络管理命令 4.侦测主机连接:ping命令 • 最基本的查找并排除网络故障的工具是ping命令,ping发出数据包到另一个主机并等待回复。 • ping使用ICMP(网际控制报文协议)协议发出数据包到远程网络的主机,然后根据远方主机的响应消息来判断网络的情况。 • ping命令的最常用的方法是在命令后跟上主机名或地址,命令使用的格式为:ping 主机名或主机域名。 • 因为ping命令会持续地发送ICMP数据包,直到用Ctrl+C中断ping命令为止,所以为了避免这种情况,可以在ping命令中加上-c+发送的数据包数这个参数来设置传送数据包的次数。 • # ping -c 6 www.163.com
二、相关知识 (四)RedHat9.0 Linux的基本网络管理命令 5.显示数据包经过历程:traceroute命令 • traceroute是TCP/IP查找并排除故障的主要工具。它不断用更大的TTL值发送UDP数据包并探测数据经过的网关的ICMP回应,最后能够得到数据包从源主机到目标主机的路由信息。
二、相关知识 (四)RedHat9.0 Linux的基本网络管理命令 5.显示数据包经过历程:traceroute命令 • traceroute的工作过程为: • traceroute首先发送TTL为1的数据包,数据包到达一个网关,如果数据已经到达目标主机,它的任务完成了;如果不是目标主机,网关将TTL的值减1,此时的TTL为0,网关删除数据包并返还一个数据包声明此事, • 如果并没有到达目标主机,发送端将TTL递增1并发送另一个数据包,这一次第一个网关将TTL减1并将数据包传送到下一个网关,这个网关将做同样的事:确认是否为目标主机并递减TTL。 • 这个过程将一直进行直到到达目标主机或TTL到达它的最大值,不管发生了什么,traceroute程序都会探测到回复数据包。
二、相关知识 (四)RedHat9.0 Linux的基本网络管理命令 5.显示数据包经过历程:traceroute命令 • traceroute通常使用和ping一样的方式,将目标地址作为命令参。 • traceroute www.163.com
二、相关知识 (四)RedHat9.0 Linux的基本网络管理命令 6.arp命令 • arp命令可以用来配置并查看arp缓存中的内容,下面是几种使用arp命令的例子: • 查看arp缓存: • # arp • 添加一个IP地址和MAC地址的对应记录: • # arp -s 192.168.33.18 00:60:08:27:CE:B3 • 删除一个IP地址和MAC地址对应的缓存记录: • # arp -d 192.168.33.18
三、任务实施 【任务场景】 • 要使用Red Hat Linux9.0构建网络服务,首先必须熟悉Red Hat Linux9.0中的基本网络配置文件,熟练掌握Red Hat Linux9.0中的基本网络管理命令,才能够在使用Red Hat Linux9.0构建各种网络服务时熟练使用这些配置文件和网络管理命令检查与验证各种构建的网络服务,才能保证能够正确配置各种网络服务。图3-3 网络连接拓扑 【施工拓扑】 【施工设备】 • 计算机(2台);二层交换机(1台);网络线(若干根);RedHat9.0 Linux(1套)。
三、任务实施 【操作步骤】 1 按照网络拓扑图建立网络工作环境 2 安装Red Hat Linux9.0 3 使用基本网络管理命令 4 查看并编辑基本网络配置文件
任务2 与Windows的资源共享 一、任务分析 • 某公司采用Linux操作系统组建了公司的网络服务,有部分职员办公时使用Linux操作系统,但是也有部分职员使用Windows操作系统,为了使得使用Windows操作系统和使用Linux操作系统的职员之间能共相互共享资源,要求让Windows主机和Linux主机之间能够相互访问。
任务2 与Windows的资源共享 二、相关知识 (一)SMB协议简介 • 在NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统,这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block,服务信息块)协议。SMB协议是一个高层协议,它提供了在网络上的不同计算机之间共享文件、打印机和不同通信资料的方法,这个协议被Microsoft用于它们Lan Manager和Windows NT服务器系统中,实现不同计算机之间共享打印机、串行口和通信对象。
二、相关知识 二、相关知识 (一)SMB协议简介 • SMB使用NetBIOS API实现面向连接的协议,该协议为Windows客户程序和服务提供了一个通过虚电路按照请求—响应方式进行通信的机制。SMB的工作原理就是让NetBIOS与SMB协议运行在TCP/IP上,并且使用NetBIOS的名字解析让Linux主机可以在Windows的网上邻居中被看到,从而和Windows 9X/NT/2000进行相互沟通,共享文件和打印机。因此,为了让Windows和Linux计算机相集成,最好的办法即是在Linux计算机中安装支持SMB协议的软件,这样Windows客户不需要更改设置,就能如同使用Windows NT服务器一样,使用Linux计算机上的资源。
二、相关知识 (二)Samba协议 • Samba是用来实现SMB的一种软件,是一组软件包。它的工作原理也是让NetBIOS和SMB这两个协议运行于TCP/IP通信协议之上,并且使用Windows的NETBEUI协议让Linux计算机可以在网络邻居上被Windows 计算机看到。 • Samba协议是在TCP/IP上实现的,它是Windows网络文件和打印共享的基础,负责处理和使用远程文件和资源。在缺省情况下,Windows工作站上的Microsoft Client使用服务消息块(SMB)协议,正是由于Samba的存在,使得Windows和Linux可以集成并互相通信。
二、相关知识 (二)Samba协议 • Samba的核心是两个守护进程smbd和nmbd程序,服务器启动到停止期间持续运行,smbd监听139 TCP端口,nmbd监听137和138 UDP端口。smbd和nmbd使用的全部配置信息都保存在smb.conf文件中。smb.conf向smbd和nmbd两个守护进程说明输出什么,共享输出给谁以及如何进行输出以便共享。Smbd进程的作用是处理到来的SMB数据包,为使用该软件包的资源与Linux进行协商,nmbd进程使其他主机能浏览Linux服务器。
二、相关知识 (二)Samba协议 • 1.Samba软件的功能和应用环境 • (1)Samba软件的功能 • ① 共享Linux文件系统给Windows系统。 • ② 共享Windows文件系统给Linux主机。 • ③ 共享Linux打印机给windows主机。 • ④ 共享Windows打印机给Linux主机。 • ⑤ 支持Windows客户使用网上邻居浏览网络。 • ⑥ 支持SSL安全套接层协议。 • ⑦ 支持Windows域控制器和Windows成员服务器对使用Samba资源的用户进行认证。 • ⑧ 支持WINS名字服务器解析以及浏览。
二、相关知识 (二)Samba协议 • 1.Samba软件的功能和应用环境 • (2)Samba的应用环境 • 图3-4所示是一个简单的使用Samba服务器的网络结构图。 图3-4使用Samba服务器的网络结构图
二、相关知识 (二)Samba协议 • 2.安装Samba组件 • (1)安装Samba组件 • 完全安装Red Hat Linux 9.0,则系统会默认安装Samba组件。 • 没有安装过Samba软件包
二、相关知识 (二)Samba协议 • 2.安装Samba组件 • (2)RedHat9.0 Linux中Samba的配置文件 • 安装完成Samba组件后,在/etc/samba目录中有一些与samba相关的文件,其中最重要的是smb.conf配置文件,其常用的有以下选项: • //全局设置参数 • //定义该Samba服务器所在的工作组或者域 • //设置Samba服务器名称,通过网络邻居访问的时候可以在备注里面看见这个内容,而且还可以使用samba设定的变量。 • //设置允许访问的网络和主机IP • hosts allow = 网络或者主机
二、相关知识 (二)Samba协议 • 2.安装Samba组件 • (2)RedHat9.0 Linux中Samba的配置文件 • //设置打印机配置文件的路径 • //允许共享打印机 • //设置打印系统类型 • //定义游客账号,而且需要把这个账号加入/etc/passwd,不然它就用缺省的nobody • //设置日志文件LogFileName的路径(一般是用/var/log/samba/%m.log) • //定义日志文件的大小为size(单位是KB,如果是0的话就不限大小) • //设置Samba的安全级别,按从低到高分为四级:share,user,server,domain • //设置是否对密码进行加密
二、相关知识 (二)Samba协议 • 2.安装Samba组件 • (2)RedHat9.0 Linux中Samba的配置文件 • //设置存放samba用户密码的文件smbPasswordFile(一般是/etc/samba/smbpasswd)。 • //设置Samba用户账号和Linux系统账号是否同步,一般同步,选项为yes。 • //设置本地口令程序。 • //控制smbd和/usr/bin/passwd之间的会话,用以对用户密码进行改变。 • //当用户要求更改密码时使用PAM而不是用passwd program参数所指定的本地口令程序/usr/bin/passwd。 • //当认证用户时,服从PAM的管理限制。 • //当samba编译的时候支持SSL的时候,需要指定SSL的证书的位置。 • //指定用户映射文件(一般是/etc/samba/smbusers),在这个文件里面指定一行root = administrator admin时,客户机的用户是admin或者administrator连接时会被当作用户root看待。
二、相关知识 (二)Samba协议 • 2.安装Samba组件 • (2)RedHat9.0 Linux中Samba的配置文件 • //设置服务器和客户之间会话的Socket选项。 • //是否为客户做DNS查询,选项为no时,不为客户做DNS查询。 • //如果有多个网络接口,就必须在这里指定。 • //指定浏览列表同步信息从哪里取得,从host(例如192.168.3.25)还是整个子网取得。 • //设置每个用户的主目录共享 • [homes] • comment = Home Directories • browseable = no • writable =yes • valid users = %S • create mode = 0664 • directory mode = 0775 • //设置全部打印机共享