Chinaunix首页 | 论坛 | 博客
  • 博客访问: 191501
  • 博文数量: 18
  • 博客积分: 2713
  • 博客等级: 少校
  • 技术积分: 546
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-20 22:29
个人简介

记录学习与生活的点滴…

文章分类

全部博文(18)

文章存档

2013年(2)

2012年(2)

2011年(6)

2009年(1)

2008年(7)

我的朋友

分类: LINUX

2011-12-01 20:54:30

要想系统的学好,没有什么好的办法,就是反复练习,熟能生巧,没有第二个办法了。

DHCP是进行动态主机配置的网络协议。

我是通过yum直接进行安装dhcp软件的,这个软件很小只有几百K。
安装之后可运行rpm -ql dhcp来查看安装的目录和程序有哪些。在安装目录里有一个范例文件(/usr/share/doc/dhcp-3.0.5/dhcpd.conf.example),可将其复制到/etc/dhcpd.conf,这样就可省去很多麻烦事。

现在来看看dhcpd.conf这个文件:

一个例子,配置文件内容如下
ddns-update-style interim;         #定义所支持的DNS动态更新类型(必选)
ignore client-updates;            #忽略客户机更新DNS记录
allow bootp;
subnet 192.168.0.0 netmask 255.255.255.0{ #定义作用域(IP子网)
  range 192.168.0.11 192.168.0.200;     #定义作用域(IP子网)范围
  option routers 192.168.0.1;          #为客户端指定网关
  option subnet-mask 255.255.255.0;     #为客户端指定子网掩码
  option domain-name “dpgroup.net”;    #为客户端指定DNS域名
  option domain-name-servers 166.111.8.28,202.106.196.115;  #为客户端指定DNS服务器的IP地址
  option broadcast-address 192.168.0.255;  #为客户端指定广播地址
  default-lease-time 86400;         #指定默认的租约期限
  max-lease-time 172800;           #指定最大租约期限
  host node4{                #为某台客户机定义保留地址
    hardware Ethernet 00:03:FF:25:5d:a3; #客户机的网卡物理地址
    fixed-address 192.168.0.27;      #分配给客户机的一个固定IP地址
    filename "vmlinux";
    option root-path "/usr/src/toshiba/target";
  }
}
4、启动和停止DHCP服务

①启动

/etc/init.d/dhcpd start或service dhcpd start

②重新启动

/etc/init.d/dhcpd restart或service dhcpd restart

③停止

/etc/init.d/dhcpd stop或service dhcp stop

④开机自动启动
进ntsysv找到dhcpd,在前面打上*号即可

DHCP (Dynamic Host Configuration Protocol) 动态主机配置协议
·为在同一网络的主机自动分配动态IP
·[root@book named]# /sbin/ifconfig -a eth0 | grep MULTICAST    #查看内核是否支持多播
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
·为使用DHCP服务器能满足某些挑剔的DHCP客户机,应在路由表中加入一个到地址255.255.255.255的路由。

·DHCP服务器必须能将数据包送到255.255.255.255的IP地址上,但Linux本身又将该地址作为本地子网的广播地

---------------------------------------------------------------------------------------------------------

/etc/dhcpd.conf通常包括三部分:parameters、declarations 、option。

1.DHCP配置文件中的parameters(参数):表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户

   参 数                                解 释 
ddns-update-style               配置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地址等

声 明                                                 解 释 
shared-network                              用来告知是否一些子网络分享相同网络。 
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配置文件中的option(选项):用来配置DHCP可选参数,全部用option关键字作为开始

选 项                              解 释 
subnet-mask           为客户端设定子网掩码。 
domain-name           为客户端指明DNS名字。 
domain-name-servers   为客户端指明DNS服务器IP地址。 
host-name             为客户端指定主机名称。 
routers               为客户端设定默认网关。 
broadcast-address     为客户端设定广播地址。 
ntp-server            为客户端设定网络时间服务器IP地址。 
time-offset          为客户端设定和格林威治时间的偏移时间,单位是秒。

注意:如果客户端使用的是视窗操作系统,不要选择"host-name"选项,即不要为其指定主机名称

三、启动和检查DHCP服务器

使用命令启动DHCP服务器:

#service dhcpd start 

使用ps命令检查dhcpd进程:

#ps -ef | grep dhcpd
root      2402     1 0 14:25 ?        00:00:00 /usr/sbin/dhcpd
root      2764 2725 0 14:29 pts/2    00:00:00 grep dhcpd 

使用检查dhcpd运行的端口:

# netstat -nutap | grep dhcpd
udp   0 0 0.0.0.0:67         0.0.0.0:*              24783/dhcpd

DHCP配置常见错误排除

  通常配置DHCP 服务器很容易,不过,在这里有一些技巧可以帮助您避免出现问题。对服务器而言,要确保网卡正常工作,并具备广播功能。对客户机而言,还要确保客户机的网卡 正常工作。最后,要考虑网络的拓扑,并考虑客户机向 DHCP 服务器发出的广播消息是否会受到阻碍。另外如果dhcpd进程没有启动,那么可以浏览 syslog 消息文件来确定是哪里出了问题。这个消息文件通常是 /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)广播的 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

--------------------------------------------------------------------------------------------------------------------------------

DHCP服务器的安全


1. 在指定网络接口启动DHCP服务器

  如果你的Linux系统连接了不止一个网络界面,但是你只想让 DHCP 服务器启动其中之一,你可以配置 DHCP 服务器只在那个设备上启动。在 /etc/sysconfig/dhcpd 中,把界面的名称添加到 DHCPDARGS 的列表中:

DHCPDARGS=eth0


或者直接使用命令:

Echo "DHCPDARGS=eth0" >> /etc/ sysconfig/dhcpd 

这样对于带有两个网卡的防火墙机器,更加安全:一个网卡可以被配置成 DHCP 客户来从互联网上检索 IP 地址;另一个网卡可以被用作防火墙之后的内部网络的 DHCP 服务器。仅指定连接到内部网络的网卡使系统更加安全,因为用户无法通过互联网来连接它的守护进程。

阅读(854) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~