dhcp - 复制

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

LINUX下DHCP配置C++1-1DHCP概述●DHCP:DynamicHostConfigurationProtocol,implementedviadhcpd●dhcpdprovidesservicestobothDHCPandBOOTPIPv4clientsC++1-2dhcp的工作流程1(1)DHCP服务器发现阶段。DHCP客户机向广播地址255.255.255.255发送DHCPDiscover消息。(2)DHCP服务器响应阶段。DHCP服务器从尚未出租的IP地址池中选择一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCPoffer提供信息。(3)IP地址选择阶段。DHCP客户机选择某个DHCP服务器提供的IP地址,以广播方式回答一个DHCPrequest请求信息.C++1-3dhcp的工作流程1(4)IP地址确认阶段。服务器回应包含它所提供的IP地址和其他设置的DHCPack确认信息。然后客户机将其与TCP/IP协议与网卡绑定。(5)客户机重新登录。再次发送前次分配的IP地址的DHCPRequest请求请求信息,DHCP服务器检查是否可以继续让客户机使用,然后发回DHCPack确认信息或者DHCPnck否认信息。如果IP已不能用,客户机需从(1)开始重新申请。(6)更新租约。IP地址租借期限到了,如果DHCP客户机要延长其租约,必须更新。DHCP客户机启动时和IP租约期限过一半时,都会向服务器发送更新期IP租约的信息。C++1-4dhcp概述Type:SystemV-managedservicePackage:dhcpDaemon:/usr/sbin/dhcpdScript:/etc/init.d/dhcpdPorts:67(bootps),68(bootpc)Configuration:/etc/dhcpd.conf,/var/lib/dhcpd/dhcpd.leasesRelated:dhclient,dhcpv6_client,dhcpv6C++1-5DHCP服务器安装#rpm-qadhcp*#mount/mnt/cdrom#cd/mnt/cdrom/RedHat/RPMS#rpm-ivhdhcp-3.0.l-12_EL#rpm-ivhdhcpv6-0.10-8.i386.rpm#rpm-ivhdhcp-devel-3.0.1#cd#ejectC++1-6DHCP服务器安装#yuminstalldhcpyum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。#yumupdatedhcp更新指定程序包#yumlistdhcp显示指定程序包安装情况#yumremovedhcp删除程序包C++1-7dhcp服务器启动#servicedhcpdstart#pstree|grepdhcpd#ntsysv选中dhcpd,下次启动时自动启动C++1-8dhcp服务器监测#ps-ef|grepdhcpd#netstat-nutap|grepdhcpd#servicedhcpdstatusdhcpd(pid2688)isrunning...#tail-n10/var/log/messagesC++1-9dhcp服务器简单配置#copy/usr/share/doc/dhcp-3.0.l/dhcp.conf.sample/etc/dhcpd.conf对服务器而言,要确保网卡正常工作,并具备广播功能。对客户机而言,还要确保客户机的网卡正常工作。最后,要考虑网络的拓扑,并考虑客户机向DHCP服务器发出的广播消息是否会受到阻碍。C++1-10dhcp服务器简单配置/etc/dhcpd.conf通常包括三部分:parameters、declarations、option。DHCP配置文件中的parameters(参数):表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户。ddns-update-style配置DHCP-DNS互动更新模式。default-lease-time指定确省租赁时间的长度,单位是秒。max-lease-time指定最大租赁时间长度,单位是秒。hardware指定网卡接口类型和MAC地址。server-name通知DHCP客户服务器名称。get-lease-hostnamesflag检查客户端使用的IP地址。fixed-addressip分配给客户端一个固定的地址。authoritative拒绝不正确的IP地址的要求。C++1-11dhcp服务器简单配置DHCP配置文件中的declarations(声明):用来描述网络布局、提供客户的IP地址等。shared-network用来告知是否一些子网络分享相同网络。subnet描述一个IP地址是否属于该子网。range起始IP终止IP提供动态分配IP的范围。host主机名称参考特别的主机。group为一组参数提供声明。allowunknown-clients;denyunknown-client是否动态分配IP给未知的使用者。allowbootp;denybootp是否响应激活查询。allowbooting;denybooting是否响应使用者查询。filename开始启动文件的名称(无盘工作站)next-server设置服务器从引导文件中装如主机名(无盘工作站)C++1-12dhcp服务器简单配置DHCP配置文件中的option(选项):用来配置DHCP可选参数,全部用option关键字作为开始subnet-mask为客户端设定子网掩码。domain-name为客户端指明DNS名字。domain-name-servers为客户端指明DNS服务器IP地址。host-name为客户端指定主机名称。(视窗系统不要选此项)routers为客户端设定默认网关。broadcast-address为客户端设定广播地址。ntp-server为客户端设定网络时间服务器IP地址。time-offset为客户端设定和格林威治时间的偏移时间,单位是秒。C++1-13dhcpd.conf简单例子ddns-update-styleinterim;ignoreclient-updates;subnet192.168.1.0netmask255.255.255.0{optionrouters192.168.1.254;optionsubnet-mask255.255.255.0;optionbroadcast-address192.168.1.255;optiontime-offset-18000;rangedynamic-bootp192.168.1.128192.168.1.255;default-lease-time21600;max-lease-time43200;hostns{hardwareethernet52:54:AB:34:5B:09;#运行DHCP的网络接口的MAC地址#fixed-address192.168.1.9;}}C++1-14dhcpd.conf配置检测servicedhcpdconfigtestdhcpd3-t-cf/etc/dhcpd.confC++1-15dhcpd.leases运行DHCP服务器还需要一个名为dhcpd.leases的文件,保持所有已经分发出去的IP地址。注意:dhcpd.leases的时间记录采用GMT(格林威治)时间,而不是本地时区的时间,要查看GMT时间用date–u。/var/lib/dhcp/dhcpd.leases(如果没有touch)简单例子:lease192.168.3.201{starts42005/08/1818:13:45;ends42005/08/1818:15:52;hardwareethernet00:e0:4c:40:f2:c0;uid01:00:e0:4c:40:f2:c0;client-hostnamewjh;}C++1-16配置linuxDHCP客户端/etc/sysconfig/network文件应该包含以下行:NETWORKING=yes/etc/sysconfig/network-scripts/ifcfg-eth0文件应该包含以下几行:DEVICE=eth0BOOTPROTO=dhcpONBOOT=yesC++1-17windows客户端C++1-18windows客户端C++1-19windows客户端如果不能得到地址检查dhcpclient服务开启情况C++1-20dhcp常见问题11.DHCP服务器配置完成,没有语法错误。但网络中的客户机却无法取得IP地址。通常是LinuxDHCP服务器没有办法接收来自255.255.255.255的DHCP客户机的Request封包造成的。需要在路由表(routingtable)里加入255.255.255.255以激活MULTICAST功能;使用命令:routeadd-host255.255.255.255deveth0如果报告错误消息:255.255.255.255:Unkownhost那么请先修改/etc/hosts加入一行:255.255.255.255dhcpC++1-21dhcp常见问题22.DHCP客户端程序和DHCP服务器不兼容Linux提供了四种DHCP客户端程序:pump,dhclient,dhcpxd,和dhcpcd。发行版本/缺省DHCP客户端/可选DHCP客户端/DHCP客户端启动脚本/附加配置文件RHL9.0dhclient无/sbin/ifup/etc/sysconfig/network/etc/sysconfig/network-scripts/ifcfg-eth0C++1-22为指定的网络接口启动DHCP服务器echo“DHCPDARGS=eth?”/etc/sysconfig/dhcpdeth?为网络接口,例如:eth0,eth1,eth0:1……

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功