Chinaunix首页 | 论坛 | 博客
  • 博客访问: 491191
  • 博文数量: 484
  • 博客积分: 10145
  • 博客等级: 上将
  • 技术积分: 5805
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 18:34
文章分类

全部博文(484)

文章存档

2011年(52)

2010年(107)

2009年(287)

2008年(38)

我的朋友

分类: LINUX

2009-08-21 09:31:12

一 安装DHCP服务器

1.先查看系统是否安装DHcp

#rpm -qa|grep dhcp

2.安装RPM包,如果是Rea Hat LInux9安装包在第二章光盘,挂在了光驱后可用查找命令找DHCP包

#find /mnt/cdrom/ -name "dhcp"

3.查看find命令搜出来的文件路径进行安装

#rpm -ivh/mnt/cdrom/RedHat/RPMS/dhcp*/dhcpd*(根据自己实际文件路径)

4.安装完成后复制配置文件范本到/etc/dhcpd.conf,也可以手工编写

#cp /usr/share/doc/dhcp-*/dhcp.conf.sample/dev/dhcpd.conf

5.修改配置文件/etc/dhcpd.conf,相关参数以下说明

ddns-update-style interim;

#配置使用过渡性 DHCP-DNS互动更新模式

ignore client-updates;

#忽略客户端更新

subnet 192.168.0.0 netmask 255.255.255.0{

#设置子网声明

#--default getway

optionrouters 192.168.0.1

#设置缺省网管位192.168.0.1

option subnet-mask 255.255.255.0

#设置客户端的子网掩码

option nis-domain"domain.org"

#为客户设置NIS域

option domain-name"domain.org"

#位客户设置域名

option domain-name0servers 192.168.1.1

#为客户设置域名服务器

option time-offset-18000;#Eastern Standard Time

#设置偏移时间

#option ntp-server 192.1668.1.1

#设置NTP服务器

option netbios-name-servers192.168.1.1

设置wins服务器

#--selects point-to-point node(default is hybrid) Don't change this unless
  # -- you understand Netbios very well
  # option netbios-node-type 2;
  #设置netbios节点类型
  range dynamic-bootp 192.168.0.128 192.168.0.255;
  #设置动态的地址池。
  default-lease-time 21600;
  #设置缺省的地址租期(单位为秒,默认为6小时)。
  max-lease-time 43200;
  #设置客户端最长的地址租期(单位为秒,默认为12小时)
  # we want the nameserver to appear at a fixed address
  #设置保留IP给指定客户机,
  host ns {
  next-server marvin.redhat.com;
  #设置由于定义服务器从引导文件中装入的主机名,用于无盘站。
  hardware ethernet 12:34:56:78:AB:CD;
  指定dhcp客户的mac地址
  fixed-address 207.175.42.254;
  给指定的mac地址分配ip
  }
  }

6.设定后启动DHCPD服务

#service dhcpd start

7.查看服务器分配IP情况

#cat /var/lib/dhcpd/dhcpd.leases

 

二.Linux客户端自动获取IP

方法1.修改/etc/sysconfig/network-scriptes/ifcfg-eth0 文件

  应该包含这几行

  DEVICE=eth0

  BOOTPROTO=dhcp

  ONBOOT=yes

方法2.运行setup或netconfig命令进入图形介面修改network config TCP/IP设置

    把Use ddynamic IP (BOOTP/DHCP)选择即可

三、Linux DHCP网络故障排除事例

一天在网络中部署了一台SuSE Linux 9.1 DHCP服务器。DHCP就是动态主机配置协议,这个协议

用于向计算机自动提供IP地址,子网掩码和路由信息。 软件在服务器和客户机安装过程都很简单

。但是网络中的客户机(使用操作系统:Mandrake Linux 9.0、SuSE Linux 9.1)却没办法取得

IP地址。根据经验可能是Linux DHCP服务器没有办法接收来自255.255.255.255的DHCP客户机的

Request 封包。使用ifconfig -a命令查询服务器网卡设置:

  [root@www cao]# ifconfig

  eth0   Link encap:Ethernet HWaddr 00:50:FC:56:75:F5

  inet addr:192.168.1.4 Bcast:192.168.1.255 Mask:255.255.255.0

  UP BROADCAST RUNNING MTU:1500 Metric:1

  RX packets:0 errors:0 dropped:0 overruns:0 frame:0

  TX packets:4 errors:0 dropped:0 overruns:0 carrier:0

  collisions:0 txqueuelen:100

  RX bytes:0 (0.0 b) TX bytes:240 (240.0 b)

  Interrupt:10 Base address:0x2000

  ……

  果然上面没有发现MULTICAST设置,为什么系统需要具有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: Unknown host 的错误信息,先修改文件:/etc/hosts, 加

入一行:

  255.255.255.255 dhcp

  存盘后再使用命令:(也可以把这行加入到/etc/rc.d/rc.local开机运行)

  route add -host 255.255.255.255 dev eth0

  为了保存设置,在文件/etc/sysconfig/static-routes, 加入 一行:

  eth0 host 255.255.255.255

  服务器重新开机就会自动设定路由表(routing table)。然后使用ifconfig查询命令,检

查发现使用SuSE Linux 9.1系统的客户机工作正常,而使用Mandrake Linux 9.0客户机还是没有

获得IP地址。经过参考Linux工具书以及和Linux社区的朋友探讨,发现问题出在Mandrake Linux

9.0客户机使用的DHCP客户端程序和DHCP服务器不兼容上。

  故障排除方法:使用rpm命令卸载Mandrake Linux 9.0客户机使用的缺省 DHCP客户端程序:

dhclient;安装其他和DHCP服务器兼容的客户端程序:dhcpcd。

  # /etc/rc.d/init.d/network stop

  #rpm -e dhclient

  #rpm -ivh dhcpcd-1.3.22pl4-2mdk.i586.rpm

  # /etc/rc.d/init.d/network start

  网络和新的DHCP 客户机,数秒之后再一次启动。使用ifconfig 命令查看每个Mandrake

Linux 9.0 客户机已经分配到一个IP地址。 在网络中为那么每台计算机设置IP地址比较麻烦,

利用DHCP,这些事都迎刃而解。DHCP服务器可以自动分配IP地址,但是有些时候服务器和客户端

有不兼容的情况,此时就必须更换客户端程序,Linux提供了四种DHCP客户端程序:pump,

dhclient, dhcp xd, 和dhcpcd。了解不同Linux发行版本的客户端程序对于Linux网管员工作是

重要的。

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