ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:22.69KB ,
资源ID:5336043      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5336043.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Linux下配置完整安全的DHCP服务器课程论文.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Linux下配置完整安全的DHCP服务器课程论文.docx

1、Linux下配置完整安全的DHCP服务器课程论文湖南农业大学课程论文学 院:信息科学技术学院 班 级:2011级网络1班姓 名: 张运 学 号:201141633201课程论文题目:Linux下配置完整安全的DHCP服务器课程名称:LINUX评阅成绩:评阅意见:成绩评定教师签名:日期: 年 月 日Linux下配置完整安全的DHCP服务器详解 摘要 随着互联网的普及,人们的工作、学习和生活与网络联系愈来越紧密,搭建不同的网络,如企业网、校园网和城区网等。网络管理是大型计算机网络成功的关键因素,利用DHCP服务已经显得相当流行,动态主机分配协议的运用也显得越来越重要。在实际的操作过程中,构建DHC

2、P服务器也越来越常见。而采用DHCP技术动态的为主机配置参数,可以有效解决目前IP地址资源不足和用户的移动性等问题,并能极大地减轻大型网络管理员的工作量,减少手工网络配置的错误,有利于快速的搭建一个大型网络或修改其他网络配置。构建DHCP服务器需要一个稳定的操作系统和服务器软件。 Fedora Linux操作系统经过一段时间发展已经成为一个主要的Linux发行版本,越来越多的企业和个人开始采用它来进行工作,学习和娱乐。同时,Fedora中附带的DHCP服务也是目前Internet上最受欢迎的动态IP地址分配服务器。本文以Redhat Linux 9.0为例,介绍如何建立一个完整和安全的DHCP

3、服务器。关键词:DHCP(动态主机配置协议) ,Fedora,Linux操作系统,网络配置前言 DHCP是动态主机配置协议。这个协议用于向计算机自动提供IP地址,子网掩码和路由信息。网络管理员通常会分配某个范围的IP地址来分发给局域网上的客户机。当设备接入这个局域网时,它们会向 DHCP 服务器请求一个 IP 地址。然后DHCP服务器为每个请求的设备分配一个地址,直到分配完该范围内的所有 IP 地址为止。已经分配的IP地址必须定时地延长借用期。这个延期的过程称作leasing,确保了当客户机设备在正常地释放IP地址之前突然从网络断开时被分配的地址可以归还给服务器。本文以Redhat Linux

4、 9.0为例,介绍如何建立一个完整和安全的DHCP服务器。 一、建立DHCP服务器配置文件 可以使用Redhat Linux 9.0自身携带rpm包安装。安装结束后, DHCP 端口监督程序 dhcpd配置文件是/etc目录中的名为dhcpd.conf的文件。下面手工建立/etc/dhcpd.conf文件。/etc/dhcpd.conf通常包括三部分:parameters、declarations 、option。 1.DHCP配置文件中的parameters(参数):表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户。主要内容见表1参 数解 释ddns-update-style

5、配置DHCP-DNS 互动更新模式。default-lease-time指定确省租赁时间的长度,单位是秒。max-lease-time指定最大租赁时间长度,单位是秒。hardware指定网卡接口类型和MAC地址。server-name通知DHCP客户服务器名称。get-lease-hostnames flag检查客户端使用的IP地址。fixed-address ip分配给客户端一个固定的地址。authritative拒绝不正确的IP地址的要求。2. DHCP配置文件中的declarations (声明):用来描述网络布局、提供客户的IP地址等。主要内容见表2:声 明解 释shared-netw

6、ork用来告知是否一些子网络分享相同网络。subnet描述一个IP地址是否属于该子网。range 起始IP 终止IP提供动态分配IP 的范围。host 主机名称参考特别的主机。group为一组参数提供声明。allow unknown-clients;deny unknown-client是否动态分配IP给未知的使用者。allow bootp;deny bootp是否响应激活查询。allow booting;deny booting是否响应使用者查询。filename开始启动文件的名称,应用于无盘工作站。next-server设置服务器从引导文件中装如主机名,应用于无盘工作站。3. DHCP配置

7、文件中的option(选项):用来配置DHCP可选参数,全部用option关键字作为开始,主要内容包括见表3:选 项解 释subnet-mask为客户端设定子网掩码。domain-name为客户端指明DNS名字。domain-name-servers为客户端指明DNS服务器IP地址。host-name为客户端指定主机名称。routers为客户端设定默认网关。broadcast-address为客户端设定广播地址。ntp-server为客户端设定网络时间服务器IP地址。timeoffset为客户端设定和格林威治时间的偏移时间,单位是秒。注意:如果客户端使用的是视窗操作系统,不要选择host-na

8、me选项,即不要为其指定主机名称。 下面是一个笔者使用的DHCP配置文件,这是一个类网络,共126个IP地址可以分配的例子。读者可以复制后使用,注意红色部分是必须要修改的。 ddns-update-style interim; ignore client-updates;subnet 192.168.1.0 netmask 255.255.255.0 option routers 192.168.1.254; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option domain-name-

9、servers 192.168.1.3; option domain-name ;#DNS名称# option domain-name-servers 192.168.1.3; option time-offset -18000; range dynamic-bootp 192.168.1.128 192.168.1.255; default-lease-time 21600; max-lease-time 43200; host ns hardware ethernet 52:54:AB:34:5B:09;#运行DHCP的网络接口的MAC地址# fixed-address 192.168.1

10、.9; 二、建立客户租约文件 运行DHCP服务器还需要一个名为 dhcpd.leases 的文件,保持所有已经分发出去的 IP 地址。在Redhat Linux 发行版本中,该文件位于 /var/lib/dhcp/ 目录中。如果您通过 RPM 安装 ISC DHCP,那么该目录应该已经存在。dhcpd.leases的文件格式为: Leases address statement一个典型的文件内容如下: lease 192.168.1.255 #DHCP服务器分配的IP地址# starts 1 2005/05/02 03:02:26; # lease 开始租约时间# ends 1 2005/05

11、/02 09:02:26; # lease 结束租约时间# binding state active; next binding state free; hardware ethernet 00:00:e8:a0:25:86; #客户机网卡MAC地址# uid %content%01%content%00%content%00350240%206; #用来验证客户机的UID标示# client-hostname cjh1; #客户机名称#注意lease 开始租约时间和lease 结束租约时间是格林威治标准时间(GMT),不是本地时间。 第一次运行DHCP服务器时dhcpd.leases是一个空

12、文件,也不用手工建立。如果不是通过 RPM 安装 ISC DHCP,或者 dhcpd 已经安装,那么您应该试着确定 dhcpd 将其 lease 文件写到何处,并确保该文件存在。也可以手工建立一个空文件: #touch /var/lib/dhcp/dhcpd.leases三、启动和检查DHCP服务器 使用命令启动DHCP服务器: #service dhcpd start使用ps命令检查dhcpd进程: #ps -ef | grep dhcpdroot 2402 1 0 14:25 ? 00:00:00 /usr/sbin/dhcpdroot 2764 2725 0 14:29 pts/2 00

13、:00:00 grep dhcpd使用检查dhcpd运行的端口: # netstat -nutap | grep dhcpdudp 0 0 0.0.0.0:67 0.0.0.0:* 2402/dhcpd四、配置DHCP客户端 通常网管员使用选择手工配置 DHCP 客户,需要修改 /etc/sysconfig/network 文件来启用联网;并修改 /etc/sysconfig/network-scripts 目录中每个网络设备的配置文件。在该目录中,每个设备都有一个叫做 ifcfg-eth? 的配置文件,eth?是网络设备的名称。 如eth0等。如果你想在引导时启动联网,NETWORKING

14、变量必须 被设为 yes。 除了此处之外/etc/sysconfig/network 文件应该包含以下行: NETWORKING=yesDEVICE=eth0BOOTPROTO=dhcpONBOOT=yes五、DHCP配置常见错误排除 通常配置DHCP 服务器很容易,不过,在这里有一些技巧可以帮助您避免出现问题。对服务器而言,要确保网卡正常工作,并具备广播功能。对客户机而言,还要确保客户机的网卡正常工作。最后,要考虑网络的拓扑,并考虑客户机向 DHCP 服务器发出的广播消息是否会受到阻碍。另外如果dhcpd进程没有启动,那么可以浏览 syslog 消息文件来确定是哪里出了问题。这个消息文件通常

15、是 /var/log/messages。 典型故障: 1.DHCP服务器配置完成,没有语法错误。但是网络中的客户机却没办法取得IP地址。 通常是Linux DHCP服务器沒有办法接收來自255.255.255.255 的 DHCP 客户机的Request 封包造成的。一般是Linux DHCP服务器的网卡没有设置具有MULTICAST功能。为了让dhcpd(dhcp程序的守护进程)能够正常的和DHCP客户机沟通,dhcpd必须传送封包到255.255.255.255这个IP地址,但是有些Linux系统里255.255.255.255这个IP地址被用来做为监听区域子网域(local subnet

16、)广播的 IP地址,所以需要在路由表(routing table)里加入255.255.255.255以激活MULTICAST功能; 使用命令: route add -host 255.255.255.255 dev eth0如果报告错误消息:255.255.255.255:Unkown host 那么请先修改/etc/hosts加入一行: 255.255.255.255 dhcp 2. DHCP客户端程序和DHCP服务器不兼容 由于Linux有许多发现版本,不同版本使用DHCP客户端程序和DHCP服务器也不相同。Linux提供了四种DHCP客户端程序:pump, dhclient, dhcp

17、xd, 和dhcpcd。了解不同Linux发行版本的服务器端和客户端程序对于常见错误排除是必要的。笔者曾经遇到过使用SuSE Linux 9.1 DHCP服务器和使用Mandrake Linux 9.0客户机不兼容的情况。此时就必须更换客户端程序。方法是先停止客户机的网络服务,卸载原程序,安装和服务器端兼容程序。附表:主要Linux发行版使用的DHCP客户端。发行版本缺省 DHCP客户端可选 DHCP 客户端DHCP客户端启动脚本附加配置文件Red Hat Linux 9.0dhclient无/sbin/ifup/etc/sysconfig/network/etc/sysconfig/netw

18、ork-scripts/ifcfg-eth0Debian Linux 3.0dhclient无/sbin/ifup/etc/network/interfaces/etc/dhclient.confMandrake Linux 9.1dhclientdhcpcd, dhcpxd, pump/sbin/ifup/etc/sysconfig/network/etc/sysconfig/network-scripts/ifcfg-eth0/etc/dhclient-eth0.confSuSE Linux 9.1dhcpcddhclient/sbin/ifup-dhcp/etc/sysconfig/ne

19、twork/dhcp/etc/sysconfig/network/ifcfg-eth0六、DHCP服务器的安全 1. 在指定网络接口启动DHCP服务器 如果你的Linux系统连接了不止一个网络界面,但是你只想让 DHCP 服务器启动其中之一,你可以配置 DHCP 服务器只在那个设备上启动。在 /etc/sysconfig/dhcpd 中,把界面的名称添加到 DHCPDARGS 的列表中: DHCPDARGS=eth0或者直接使用命令: Echo DHCPDARGS=eth0 /etc/ sysconfig/dhcpd这样对于带有两个网卡的防火墙机器,更加安全:一个网卡可以被配置成 DHCP 客

20、户来从互联网上检索 IP 地址;另一个网卡可以被用作防火墙之后的内部网络的 DHCP 服务器。仅指定连接到内部网络的网卡使系统更加安全,因为用户无法通过互联网来连接它的守护进程。 2. 让DHCP服务器在监牢中运行 所谓监牢就是指通过chroot机制来更改某个软件运行时所能看到的根目录,即将某软件运行限制在指定目录中,保证该软件只能对该目录及其子目录的文件有所动作,从而保证整个服务器的安全。这样即使出现被破坏或被侵入,所受的损失也较小。 将软件chroot化的一个问题是该软件运行时需要的所有程序、配置文件和库文件都必须事先安装到chroot目录中,通常称这个目录为chroot jail(chr

21、oot监牢)。如果要在监牢中运行dhcpd,而事实上根本看不到文件系统中那个真正的目录。因此需要事先创建目录,并将dhcpd复制到其中。同时dhcpd需要几个库文件,可以使用ldd(library Dependency Display缩写)命令,ldd作用是显示一个可执行程序必须使用的共享库。 ldd dhcpd libc.so.6 = /lib/tls/libc.so.6 (0x42000000) /lib/ld-linux.so.2 = /lib/ld-linux.so.2 (0x40000000)style=font-family:宋体这意味着还需要在监牢中创建lib目录,并将库文件复制

22、到其中。手工完成这一工作是非常麻烦的,此时可以用jail软件包来帮助简化chroot监牢建立的过程。 (1)Jail软件的编译和安装 Jail官方网站是: ,最新版本:1.9a。 #Wget . il/jail_1.9a.tar.gz #tar xzvf jail.tar.gz; cd jail/src#make; make install(2)用jail创建监牢 jail软件包提供了几个Perl脚本作为其核心命令,包括mkjailenv、addjailuser和addjailsw。 mkjailenv:创建chroot监牢目录,并且从真实文件系统中拷贝基本的软件环境。addjailsw:从真

23、实文件系统中拷贝二进制可执行文件及其相关的其它文件(包括库文件、辅助性文件和设备文件)到该监牢中。addjailuser:创建新的chroot监牢用户。 首先停止目前dhcpd服务,然后建立chroot目录: #/sbin/service dhcpd start#mkjailenv /chroot/mkjailenvA component of Jail (version 1.9 for linux)http:/www.gsyc.inf.uc3m.es/assman/jail/Juan M. Casillas Making chrooted environment into /chroot D

24、oing preinstall() Doing special_devices() Doing gen_template_password() Doing postinstall()Done.下面的例子展示为监牢添加dhcpd程序的过程: # addjailsw /chroot/ -P /usr/sbin/dhcpdaddjailswA component of Jail (version 1.9 for linux)http:/www.gsyc.inf.uc3m.es/assman/jail/Juan M. Casillas Guessing dhcpd args(0)Warning: fi

25、le /chroot/lib/tls/libc.so.6 exists. Overwritting itWarning: file /chroot/lib/ld-linux.so.2 exists. Overwritting itDone.不用在意那些警告信息,因为jail会调用ldd检查dhcpd用到的库文件。而几乎所有基于共享库的二进制可执行文件都需要上述的几个库文件。接下来将dhcpd的相关文件拷贝到监牢中: # mkdir -p /chroot/dhcp/etc# cp /etc/dhcpd.conf /chroot/dhcp/etc/# mkdir -p /chroot/dhcp/v

26、ar/state/dhcp# touch /chroot/dhcp/var/state/dhcp/dhcp.leases重新启动dhcpd: rootwww root# /chroot/usr/sbin/dhcpd使用ps命令检查dhcpd进程: #ps -ef | grep dhcpdroot 2402 1 0 14:25 ? 00:00:00 /chroot/usr/sbin/dhcpd root 2764 2725 0 14:29 pts/2 00:00:00 grep dhcpd注意此时进程名称已经改变,使用检查dhcpd运行的端口: # netstat -nutap | grep d

27、hcpdudp 0 0 0.0.0.0:67 0.0.0.0:* 2402/dhcpd端口号没有改变。现在dhcpd已经成功运行在监牢中。到此为止一个这样,一个完整和安全的 DHCP服务器就完成了。参考文献 1linux公共服务技术支持中心M.北京市机械工业出版社.2009.09; 2(美)Christopher Negus,(美)Thomas Weeks.linux.操作.北京市电子工业出版社.M2005.06 3蒋德吉,古力多.linux完全使用指南.重庆市重庆出版社.M19994汤荷美.linux基础教程,操作系统基础.M北京市清华大学出版社.20015陈向阳Linux实用大全。科学出版社

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1