linux操作系统课程设计任务书.doc
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datelinux操作系统课程设计任务书网页设计与优化课程设计任务书Linux操作系统课程设计任务书 一、设计题目: 某公司包括一个园区网络和一个分支机构,网络拓扑图如下图所示。在园区网络中,大约有500名员工,分支机构大约有100名员工,此外还有一些SOHO员工及出差人员。假定你是该公司的网络管理员,现在公司的网络要进行规划和实施。现有条件如下:公司已租借了一个公网的IP地址100.100.100.10,和ISP提供的一个公网DNS服务器的IP地址100.100.100.200。该公司申请的域名为。园区网络和分支机构使用192.168.0.0网络,并进行必要的子网划分。二、课程设计目的: 本课程设计模拟实际企业需求,配合Linux网络操作系统课程内容,旨在通过整周实训将学生所学的Linux系统管理基本概念,网络服务器的搭建与管理技术糅合在一起,增强学生Linux服务器管理的综合能力,同时锻炼学生的思维能力和合作能力,并达到以下目的:1. 掌握一个较完整的企业应用服务器的搭建方法;2. 掌握企业应用服务器系统性能的调整方法;3. 掌握企业应用服务器常见故障的排除方法;4. 提高学生系统建设与管理能力的同时,增强学生的系统分析能力。在实训过程中,要求学生熟悉一个企业应用服务器建设的基本流程,熟练Linux系统管理知识,能够利用所学知识完成综合系统设计和实现。假设环境如下:网络拓扑示意图1. 根据上面的网络拓扑示意图,采用两台Linux虚拟机充当内网服务器, Windows主机A充当外网中的VPN客户机,Windows主机B充当内网工作站。这4台主机共同组成一个模拟的完整企业局域网。2. 在实训过程中,每2台计算机(2位同学)为一组,每台计算机上构建1台Linux虚拟机。按照企业需求(实训需求)分别在两台Linux虚拟机上实现DHCP、DNS等各项服务功能。Windows主机上进行相应各项服务测试。3. 网络域名为(xingming指小组某成员的姓名拼音)4. 上述4台主机所担当的角色作用及IP地址如上面的网络拓扑示意图,其中zhuhao表示你的分组号, dhcp表示该IP地址从DHCP服务器获取。三、 设计任务每班以四至五人为一组,采用自由分组、推选组长的形式,由班级学习委员将分组情况报到指导教师处,每小组均完成课程任务设计书所要求完成的任务。四、时间安排:课程名称班级周次星期节次时间实验室Linux操作系统课设网工10012全周下午2013.5.27-2013.6.7东8401Linux操作系统课设网工10022全周下午2013.5.27-2013.6.7东8403五、课程设计内容: 假设某企业局域网有自己的域名(此处xingming为姓名拼音),其内网地址为192.168.zuhao.0/24(此处zuhao为分组号)。根据上面的网络拓扑结构示意图,在Linux虚拟机A和Linux虚拟机B上分别实现如下功能:1. Linux虚拟机A做网关主机,配置防火墙及NAT、VPN服务。2. Linux虚拟机B做内网应用服务器,实现DHCP服务、Samba服务、DNSF服务、Web服务、FTP服务。任务一:配置Linux虚拟机A。Linux虚拟机A上配置两块网卡,网卡eth0的IP地址为192.168.1.XXX(XXX为学号+100)。网卡eth1的IP地址为192.168.zuhao.10(zuhao为组号)。任务二:在企业局域网中实现DHCP功能,要求:(1) 为本网络中的主机分配IP地址,并设置子网掩码、网关地址和DNS服务器地址;(2) 为Windows主机B动态分配IP地址;任务三:在局域网中实现DNS功能,要求能解析以下域名:Web服务器(:192.168.zuhao.20,别名)FTP服务器(:192.168.zuhao.20)邮件服务器(:192.168.zuhao.20)财务部(:192.168.zuhao.20)销售部(:192.168.zuhao.20)宣传部(:192.168.zuhao.20)。任务四:为企业建立FTP服务器(),要求:(1) 创建www(网站)、xs(销售)、xc(宣传)、cw(财务)、jl(经理)、qt(其他)六个用户,不允许登录linux系统。(2) 创建xxx组,将www、xs、xc、cw、jl五个用户的私有组设置成xxx组。(3) www、xs、xc、cw四个用户的主目录分别为/home/html/www、/home/html/xs、/home/html/xc、/home/html/cw。(4) www、xs、xc、cw、qt五个用户被锁定在自己的主目录中。(5) www、xs、xc、cw、jl五个用户在自己的主目录中能上传下载及删除文件。(6) qt用户在自己的主目录中能上传下载但不能删除文件。(7) 匿名用户在自己的主目录上只能下载文件。任务五:为企业内部建立WEB站点(一台机器4站点),要求能通过浏览器访问(IP为192.168.zuhao.20),的网站。要求:(1) ,站点的网页根目录分别为/home/html/www、/home/html/xs、/home/html/xc、/home/html/cw。(2) 网站只允许企业内部网中的主机访问。(3) 网站只允许企业内部网中的主机访问,且创建cw、jl等http账号,需要通过用户名和密码认证才能访问该网站中的网页。任务六:安装架设SAMBA服务器,实现linux和windows资源共享。要求: (1) 访问linux服务器时审查用户帐号和密码。 (2) 在Linux虚拟机B上创建一个/tmp目录,为所有用户提供共享,且可以读写。(3) 在Linux虚拟机B上创建一个私人目录/cwpri,只有cw用户有可读写的共享访问权限,其他用户不可以共享访问。(4) 在Linux虚拟机B上创建一个/xxx目录,允许xxx组用户向目录中写入,其他用户只能访问,但不可以写入。 任务七:在Linux虚拟机A上配置NAT。具体要求:(1) 隐蔽内部网络结构,保证内网主机可以通过合法IP地址192.168.1.xuehao连接到Internet,使用包括WWW、FTP等Internet上的服务。任务八:搭建VPN服务器,为外网用户提供访问内网服务器及共享资源的安全途径。实验过程(含步骤)任务1. 搭建实训环境步骤1: 在Linux虚拟机B配置网络参数。# vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=noneONBOOT=yes#HWADDR=00:0C:29:B1:AC:77(注:删除或注释掉该行)IPADDR=192.168.zuhao.20NETMASK=255.255.255.0# vi /etc/resolv.confnameserver ? 重启网络服务:# service named restart步骤2: 在Linux虚拟机A未启动状态下为Linux虚拟机A增加一块网卡。步骤3: 按网络拓扑示意图来配置Linux虚拟机A # vi /etc/sysconfig/network-scripts/ifcfg-eth0# vi /etc/sysconfig/network-scripts/ifcfg-eth1u Linux虚拟机A的IP地址:网卡eth0的IP地址为192.168.1.XXX(XXX为学号+100),网关为192.168.1.254。网卡eth1的IP地址为192.168.zuhao.10(zuhao为组号)。任务2. 在企业局域网中实现DHCP功能,要求:(1) 为本网络中的主机分配IP地址,并设置子网掩码、网关地址和DNS服务器地址;(2) 为Windows主机B动态分配IP地址;步骤1: 在Linux虚拟机B上检查并安装dhcp包。(2) 查看是否安装了DHCP# rpm qa |grep dhcp(3) 安装DHCP# eject# mount /media/cdrom# cd /media/cdrom/RedHat/RPMS# rpm ivh dhcp-3.0.1-12_EL.i386.rpm# cd步骤2: 由模板文件复制生成所需的DHCP服务配置文件# cp /usr/share/doc/dhcp-3.0.1/dpchd.conf.sample /etc/dhcpd.conf步骤3: 用vi编辑/etc/dhcpd.conf。# vi /etc/dhcpd.conf 内容如下:ddns-update-style interim;ignore client-updates;subnet 192.168.zuhao.0 netmask 255.255.255.0 option routers 192.168.zuhao.10;option subnet-mask 255.255.255.0;option domain-name-servers 192.168.zuhao.10;range 192.168.zuhao.151 192.168.zuhao.200;default-lease-time 21600;max-lease-time 43200;# we want the nameserver to appear at a fixed address步骤4: 在DHCP服务器上,用ifconfig观察结果,是否子网卡的广播地址设置正确:如:192.168.zuhao.255。若不正确,请修改网络配置。步骤5: 在DHCP服务器上,启动dhcpd服务。# service dhcpd restart注意:若不能启动,观察/var/log/message.步骤6: 在DHCP客户机即主机B和Windows主机B上,修改网络参数为自动获取。在Windows中使用下面命令查看和重新获取IP地址。C:>ipconfig 查看IP地址C:>ipconfig /release 释放IP 地址C:>ipconfig /renew 重新获取IP地址步骤7: 观测Windows主机B能否获取到正确的网络参数,并记录下整个过程。任务3. 在局域网中实现DNS功能,要求能解析以下域名:Web服务器(:192.168.zuhao.20,别名)FTP服务器(:192.168.zuhao.20)邮件服务器(:192.168.zuhao.20)销售部(:192.168.zuhao.20)宣传部(:192.168.zuhao.20)。财务部(:192.168.zuhao.20)步骤1: 在Linux虚拟机B上检查并安装DNS所需的必要软件包# rpm qa|grep bind# rpm qa|grep caching根据结果,安装还没有安装的软件,从安装盘里找出第4张安装盘,执行下列步骤:# eject# mount /media/cdrom# cd /media/cdrom/RedHat/RPMS# rpm ivh bind-9.2.2.P3-9.i386.rpm# rpm ivh bind-utils-9.2.2.P3-9.i386.rpm# cd下面软件包在第1张安装光盘上。首先换光盘,接着执行下面的命令# eject# mount /media/cdrom# cd /media/cdrom/RedHat/RPMS# rpm -ivh caching-nameserver-7.2-10.noarch.rpm# cd;eject步骤2: 在DNS服务器(Linux虚拟机A)上编辑/etc/named.conf文件,添加区声明# vi /etc/named.conf zone “” IN type master;file “.zone”;步骤3: 分别从localhost.zone复制生成文件/var/named/.zone。# cd /var/named# cp localhost.zone .zone# vi .zone在该区文件中添加内容如下:IN NS INMX10 mailwww IN A 192.168.zuhao.20ftp IN A 192.168.zuhao.20mail IN A 192.168.zuhao.20xs IN A 192.168.zuhao.20xc IN A 192.168.zuhao.20cw IN A 192.168.zuhao.20webINCNAME www注:在正向区文件中,将$ORIGIN所在的行删除掉。步骤4: 重启DNS服务:# service named restart步骤5: 在Linux虚拟机B上测试:# host l# ping 步骤6: 查错:如果不能正确解析,可以到日志/var/log/messages里查看错误提示信息。也可以执行下面的命令查看有无错误提示。# named-checkconf# named-checkzone /var/name/任务4. 为企业建立FTP服务器(),要求:(1) 创建www(网站)、xs(销售)、xc(宣传)、cw(财务)、jl(经理)、qt(其他)六个用户,不允许登录linux系统。(2) 创建xxx组,将www、xs、xc、cw、jl五个用户的私有组设置成xxx组。(3) www、xs、xc、cw四个用户的主目录分别为/home/html/www、/home/html/xs、/home/html/xc、/home/html/cw。(4) www、xs、xc、cw、qt五个用户被锁定在自己的主目录中。(5) www、xs、xc、cw、jl五个用户在自己的主目录中能上传下载及删除文件。(6) qt用户在自己的主目录中能上传下载但不能删除文件。(7) 匿名用户在自己的主目录上只能下载文件。步骤1: 在Linux虚拟机B上检查并安装FTP服务所需的软件包# rpm qa|grep vsftpd如果没有安装vsftpd软件包,从安装盘里找出第1张安装盘,执行下列步骤:# eject# mount /media/cdrom# cd /media/cdrom/RedHat/RPMS# rpm ivh vsftpd-1.2.0-5.i386.rpm# cd步骤2: 创建FTP账号# mkdir /home/html# groupadd xxx# useradd www -g xxx -d ? -s ?# passwd www# useradd xs -g xxx -d ? -s ?# passwd xs# useradd xc -g xxx -d ? -s ?# passwd xc# useradd cw -g xxx -d ? -s ?# passwd cw# useradd jl -g xxx# passwd jl# useradd qt# passwd qt步骤3: 修改用户FTP主目录权限# chmod 755 /home/html/*# chmod 755 /home/qt步骤4: 编辑FTP服务器配置文件# vi /etc/vsftpd/vsftpd.conf其内容包括如下4部分:(1) 全局设置write_enable=?(注:允许所有用户进行写操作)anonymous_enable=?(注:允许匿名用户访问FTP服务)local_enable=?(注:允许本地用户访问FTP服务)pasv_enable=?(注:启动被动工作模式)local_umask=022 (注:设定本地用户创建文件和目录的访问权限属性)user_config_dir=/etc/vsftpd/userconf(注:用户自定义配置文件存放目录)(2) 指定用户锁定在自己的FTP根目录中chroot_local_user=? (注:是否允许本地用户离开自己的根目录)chroot_list_enable=? (注:是否启用允许本地用户离开根目录的文件)注意:在vsftpd.conf配置文件中进行参数设置时,“=”两边不允许有空格。上述两者结合在一起,所有未在/etc/vsftpd.chroot_list文件中列出的用户将被锁定自己的主目录中。步骤5: 在/etc/vsftpd.chroot_list文件中设置允许离开用户主目录的用户,一个名字一行。# vi /etc/vsftpd.chroot_list将用户jl添加到该文件中jl(注:一个名字一行)步骤6: FTP用户进行自定义设置(1) 用户自定义配置文件存放目录# mkdir /etc/vsftpd/userconf# cd /etc/vsftpd/userconf(2) 创建用户www的自定义配置文件,并编辑它# vi www编辑内容如下:guest_enable=YES(注:允许虚拟用户)guest_username=www(注:设置虚拟用户名称)anon_world_readable_only=NO (注:匿名用户访问时不需要三类人员都具有r权限anon_upload_enable=YES(注:允许匿名用户上传文件)anon_mkdir_write_enable=YES(注:允许匿名用户创建目录)anon_other_write_enable=YES(注:允许匿名用户具有删除文件权限)anon_umask=022 (注:设置匿名用户上传文件的默认权限为755)(3) 将www的自定义配置文件作为模版复制成其他用户的自定义配置文件# cp www xs# cp www xc# cp www cw# cp www jl(4) 然后修改xs、xc、cw、jl四个用户的配置文件,将中间的guest_username设置为对应的用户名(5) 复制生成qt用户的自定义配置文件,并编辑它# cp www qt# vi qt其中修改guest_username=qtanon_other_write_enable=NO步骤7: 检验:从Windows主机中访问VSFTP服务器在Windows主机B中打开一个资源管理器,在地址栏中输入ftp:/192.168.zuhao.20。一一验证各个设置部分是否正确。任务5. 为企业内部网建立WEB站点(一台机器4站点),要求能通过浏览器访问(IP为192.168.zuhao.20),的网站。要求:(1) ,站点的网页根目录分别为/home/html/www、/home/html/xs、/home/html/xc、/home/html/cw。(2) 网站只允许企业内部网中的主机访问。(3) 网站只允许企业内部网中的主机访问,且创建cw、jl等http账号,需要通过用户名和密码认证才能访问该网站中的网页。步骤1: 安装Apache软件包。(1) 查看系统是否已经安装Apache软件包。# rpm -qa | grep httpd(2) 如果没有安装则执行下面的步骤进行安装(软件包文件在第2张Linux安装光盘中):# eject# mount /media/cdrom/# cd /media/cdrom/RedHat/RPMS/# rpm ivh httpd-2.0.47-10.i386.rpm# rpm ivh httpd-manual-2.0.47-10.i386.rpm# cd;eject步骤2: 编辑Apache服务器的配置文件httpd.conf,在其中定义4个虚拟主机# vi /etc/httpd/conf/httpd.conf在文件末尾增加如下内容:NameVirtualHost 192.168.zuhao.20<VirtualHost192.168.zuhao.20>DocumentRoot?ServerName</VirtualHost><VirtualHost192.168.zuhao.20>DocumentRoot?ServerName</VirtualHost><VirtualHost192.168.zuhao.20>DocumentRoot/home/html/xcServerName?</VirtualHost><VirtualHost192.168.zuhao.20>DocumentRoot/home/html/cwServerName?</VirtualHost><Directory/home/html/xc>order ?deny from allallow from 192.168.zuhao.0/24</Directory><Directory/home/html/cw>order deny,allowdeny from allallow from ?AuthName “Give your name and password"AuthType BasicRequire valid-userAuthUserFile /home/html/users</Directory>步骤3: 创建用户文件及用户名和密码# htpasswd -c /home/html/users jl# htpasswd /home/html/users cw步骤4: 向各个站点中上传网页文件。步骤5: 重启httpd服务# service httpd restart步骤6: 在Windows主机B中进行验证在Windows主机B中的浏览器地址栏上输入,检查结果是否正确。任务6. 安装架设SAMBA服务器,实现linux和windows资源共享。要求: (1) 访问共享目录时审查用户帐号和密码。 (2) 在Linux虚拟机B上创建一个/tmp目录,为所有用户提供共享,且可以读写。 (3) 在Linux虚拟机B上创建一个私人目录/cwpri,只有cw用户有可读写的共享访问权限,其他用户不可以共享访问。(4) 在Linux虚拟机B上创建一个/xxx目录,允许xxx组用户向目录中写入,其他用户只能访问,但不可以写入。步骤1: 安装Samba软件包(1) 查看Linux虚拟机B是否已经安装Samba软件包# rpm -qa | grep samba(2) 如果没有安装则执行下面的步骤进行安装(软件包文件在第2张Linux安装光盘中):# eject# mount /media/cdrom/# cd /media/cdrom/RedHat/RPMS/# rpm -ivh samba-common-3.0.0-15.i386.rpm# rpm -ivh samba-client-3.0.0-15.i386.rpm# rpm -ivh samba-3.0.0-15.i386.rpm# cd;eject步骤2: 在Linux虚拟机B上创建共享目录,并设置其权限。# mkdir /cwpri# chown cw /cwpri# chmod 700 /cwpri# mkdir /xxx# chown :xxx /xxx# chmod 775步骤3: 编辑smb.conf 文件# vi /etc/samba/smb.conf内容如下在global段完成:workgroup = smbgrp(注:设置工作组名称)Security = user (注:设置安全级别)在smb.conf文件末尾添加三个共享目录的定义段publicpath = /tmp/(注:指定共享目录路径)comment = share(777)read only = no(注:允许有效用户可读写的访问目录)guest ok = yescreate mode = 0664(注:创建文件时的默认权限)xxxpath = /xxxcomment = xxx group(775)guest ok = yesread only = nowrite list = xxx(注:指定对共享资源有读写权的组)cwpripath = /cwpricomment = cws directory(700)public = noread only = novalid users = cw(注:指定可以访问的有效用户ua)步骤4: 添加Samba账号,Samba服务器要求合法的Samba用户必须先是一个Linux用户# smbpasswd -a www# smbpasswd -a xs# smbpasswd -a xc# smbpasswd -a cw# smbpasswd -a jl# smbpasswd -a qt步骤5: 测试samba配置文件的设置# testparm步骤6: 重新启动samba服务器 # service smb restart步骤7: 在Windows的网上邻居中以不同的Samba账号访问上述共享资源,看是否和要求相符合任务7. 在Linux虚拟机A上配置NAT。具体要求:(1) 隐蔽内部网络结构,保证内网主机可以通过合法IP地址192.168.1.xuehao连接到Internet,使用包括WWW、FTP等Internet上的服务。步骤1: 修改内核参数# echo 1 > /proc/sys/net/ipv4/ip_forward或者编辑/etc/sysctl.conf文件# vi /etc/sysctl.conf修改如下参数值net.ipv4.ip_forward = 1修改完成后重启网络服务,使内核参数变化# service network restart步骤2: 设置SNAT策略,使得内网中的主机可以访问外网主机的WWW和FTP服务。# iptables -t nat -A POSTROUTING -s 192.168.zuhao.0/24 -o eth1 -j SNAT -to-source 192.168.1.xuehao步骤3: 保存iptables设置# service iptables save任务8. 搭建VPN服务器,为外网用户提供访问内网服务器及共享资源的安全途径。步骤1: 编辑/etc/pptpd.conf文件,设置虚拟专用连接的地址池。步骤2: 编辑/etc/pptpd/chap-secrets文件,设置远程登陆VPN客户端拨入时所使用的用户名、密码和分配给该用户的IP地址。步骤3: 设置/etc/ppp/options-pptpd文件。rootRHEL4 # grep -v "#" /etc/ppp/options.pptpd name pptpd /相当于身份验证时的域,一定要和/etc/ppp/chap-secrets中的内容对应refuse-pap /拒绝pap身份验证refuse-chap /拒绝chap身份验证refuse-mschap /拒绝mschap身份验证require-mschap-v2 /采用mschap-v2身份验证方式require-mppe-128 /在采用mschap-v2身份验证方式时要使用MPPE进行加密ms-dns 192.168.0.9 /给客户端分配DNS服务器地址ms-wins 192.168.1.1 /给客户端分配WINS服务器地址proxyarp /启动ARP代理步骤4: 启动Linux的路由转发功能。步骤5: 启动VPN服务器。步骤6: 设置VPN服务器穿透防火墙。步骤7: VPN客户端的设置。(1)在桌面上右击【网上邻居】并从弹出的快捷菜单中点击【属性】,接着在弹出的窗口中点击【新建连接】,打开【网络连接向导】对话框,如图所示。(2)单击“下一步”,在该对话框中选择网络的连接类型为“通过Internet连接到专用网络”,如图所示。(3)单击“下一步”,选择VPN客户端接入Internet网络的连接方式。在此选择“不拨初始连接”,如图所示。(4)单击“下一步”,设置VPN服务器的地址,在此输入VPN服务器的IP地址或主机名,然后单击“下一步”,如图所示。(5)单击“下一步”,设置是否允许所有用户使用此连接,在此我们选择“所有用户使用此连接”,如图所示。(6)单击“下一步”,打开“完成网络连接向导”在此设置此虚拟连接的名称,在此输入“jnrp-vpn”,如图所示。单击完成按钮,即可完成该向导。(7)在下图所示的对话框中输入登录VPN服务器的用户名和密码,单击“连接按钮”,这时客户端就开始与VPN服务器建立连接,完成用户名和密码的核对,网络注册等工作。分别如图16-9和16-10所示。(8)在连接成功之后在VPN客户端利用ipconfig命令可以看到多了一个ppp连接,如图所示。六、工作要求: 每个小组独立完成以上所有的任务。每个小组需在课设最后给老师演示所有搭建的环境,并获得老师的认可。课设结束时,学生需要提供以下资料:1、各子任务完成情况。2、课设报告。按学院课设报告标准格式,完成课设报告,要求给出各步骤的具体结果,并对结果作出分析解释。3、每个学生的课设报告不得雷同。七、成绩核定标准:1. 作为一门课程单独考核。2. 实训成绩由三部分组成:(1) 实训表现及考勤(占20%)(2) 各任务完成情况(占40%)(3) 总项目集成完成情况及实习报告撰写情况(占40)。3. 任务及总项目完成情况当场验收考核。实训报告在整周实训结束后立即上交。附:凡是上机未到者,每次扣除5分。上机时间内,做与本课程设计无关事情者,予以警告。屡教不改者当次上机视为旷课。处理办法见第条。上机时间内,无正当理由离开实验室长达半小时者,当次上机视为旷课。处理办法见第条。课程设计整个过程中,如果请假超过5次,即5次上机未能前来者,请速去系办公室办理缓考事宜。八、主要参考资料 1 汪荣斌. Linux操作系统教程. 机械工业出版社; 第1版 (2007年1月1日) 2 毛德操,胡希明, Linux内核源代码情景分析. 浙江大学出版社, 2001-