Chinaunix首页 | 论坛 | 博客
  • 博客访问: 114526
  • 博文数量: 40
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-02 15:41
文章分类

全部博文(40)

文章存档

2009年(40)

我的朋友
最近访客

分类: 系统运维

2009-06-12 09:40:57

六、相关FAQ

设置DHCP客户端

1.在Linux下配置DHCP客户端

配置DHCP客户端的第1步是确定内核能够识别网卡,多数网卡会在安装过程中被识别,系统会为该网卡配置恰当的内核模块。如果在安装后添加了一块网卡,Kudzu应该会识别它,并提示为其配置相应的内核模块。通常网管员选择手工配置DHCP客户端,需要修改/etc/sysconfig/network文件来启用联网;修改/etc/sysconfig/network-scripts目录中每个网络设备的配置文件,在该目录中的每种设备都有一个叫做“ifcfg-eth的配置文件。eth?是网络设备的名称,如eth0等。如果想在引导时启动联网,NETWORKING变量必须被设为yes。除此之外,/etc/sysconfig/network文件应该包含以下行:

 

NETWORKING=yes

DEVICE=eth0

BOOTPROTO=dhcp

ONBOOT=yes

 

每种需要配置使用DHCP的设备都需要一个配置文件。其他网络脚本包括的选项如下。

1DHCP_HOSTNAME:只有当DHCP服务器在接收IP地址前需要客户端指定主机名时才使用该选项。

2PEERDNS=取值为如下之一。

yes:使用来自服务器的信息来修改/etc/resolv.conf。若使用DHCP,那么yes是默认值。

no:不要修改/etc/resolv.conf

3SRCADDR=

是用于输出包的指定源IP地址。

4USERCTL=取值为如下之一。

 yes:允许非根用户控制该设备。

no:不允许非根用户控制该设备。

2.在Windows下设置DHCP客户端

  Windows 2000Windows XP的配置方法相同,DHCP客户端的配置很简单。只需要在控制面板中双击网络连接图标,然后在如图8-1所示的本地连接属性对话框中选择“Internet协议(TCP/IP属性。

常规选项卡中选择自动获取IP地址自动获取DNS服务器地址单选按钮。

3.测试端口监督程序

  现在应该已经可以将一个客户机接入到网络中,并通过DHCP请求一个IP地址。要通过Windows客户端测试,在DOS提示符下执行以下操作。  1)清除适配器可能已经拥有的IP地址信息,执行命令:

ipconfig /release

2)向DHCP服务器请求一个新的IP地址,执行命令:

ipconfig /renew

显示从DHCP服务器获得的信息,应该会看到Primary WINS ServerDNS ServersConnection-specific DNS Suffix域都获得了dhcpd.conf文件中提供的数据:

ipconfig /all

 

管理DHCP服务器

/etc/dhcpd.conf通常包括3个部分,即parametersdeclarationsoption,共40多个参数,可以使用Gdhcpd管理监控DHCP服务器。

Gdhcpd是一个在GNOMEKDE桌面环境下的DHCP管理工具,基本上能实现命令行模式下的所有功能。由于DHCP是一个非常复杂的协议,所以配置工作也是比较麻烦的。

  Gdhcpd是一套在GTK+图形界面下开发并用于帮助管理员在桌面环境下完成DHCP设置工作的DHCP前端程序。通过Gdhcpd,网络管理员可以管理DHCP,包括启动及停止DHCP服务器的服务。也可以直接修改配置文件,或决定系统重新启动的时间。几乎所有与DHCP相关的功能都能使用Gdhcpd直接完成。

  1.下载安装

  #Wget linux/gdhcpd/gdhcpd-0.2.9.tar.gz">

  2.系统要求

  硬件要求为中央处理器兼容Intel X86处理器,PentiumII 400以上,64 MB(推荐128 MB)内存,150 MB以上硬盘空间,显示内存4 MB。软件要求为内核版本基于2.4或以上,GNOME 1.2以上。桌面分辨率至少为640×480,桌面颜色至少65 000色(16位元)。

  3.安装前的准备工作

  安装过程中需要编译,因此需要GCC2.96以上)、Qt2.0以上)和GTK2.0支持,需要使用RPM来确认:

rpm -qa | grep gccrpm -qa | grep qtrpm -qa | grep gtk

  4.在命令行下安装软件

命令如下:

gunzip  gdhcpd-0.2.9.tar.gz

tar vxf gdhcpd-0.2.9.tar

cd gdhcpd-0.2.9

./configuremakemake install

  5.运行软件

执行一个终端运行命令“/usr/sbin/gdhcpd”,显示Scopes设置界面,如图所示。


Scopes
设置界面

 

在这个界面中可以设置/etc/dhcpd.confparametersdeclarationsoption。在Single hosts界面中可以设置HostnameHardware address等,


 Single hosts
设置界面

 

 

DHCP的应用环境是哪些?

      DHCP主要应用在以下两个应用环境,一个就是局域网中存在大量主机,第二种就是局域网中存在比较多的移动办公设备。

dhcp 服务 不能跨网段 只能用于 内网使用 不能放到外网

如果用虚拟机来模拟,需要关掉虚拟的dhcp

在一个网段里 不允许 2台的 dhcp 服务器 否则会冲突 没法正常使用

DHCP可以和路由器以及DHCP中继代理一起工作,即跨路由获取IP地址

DHCP服务器本身必须使用静态IP的配置

DHCP客户重新启动后仍然能够保留它原来的配置参数

 

IP Alias 设置 DHCP

在某些场合中﹐我们或许会运用到 IP Alias 来连接网络。这时候﹐我们还可以为 alias 所在的网络提供 DHCP 服务呢﹗不过﹐要留意一点是﹕您只能为一块界面提供一个 sub-net 的服务﹐就算界面上面捆绑了好几个 alias 也一样。

设置也是蛮简单的啦﹕

alias 所在的网络设置好。

然后将 /etc/dhcpd.conf 原本关于原有 IP 所在的 subnet 取消。

只留下 alias 所在网络的 range 就可以了。

     在我的测试中﹐/etc/dhcpd.conf 不是最重要的﹐关机还是要确定 ip alias 已经成功激活﹐而且 routing 一定要设置好。

关于客户有双网卡的问题

    我们在“网络基础”中已经知道﹕在 DHCP 运作的初期﹐client 是使用广播方式来查询 DHCP 信息的。问题是我这里有两块网卡﹐DHCP 要响应 client 的查询时很难判断出要传到哪个网络中去﹐因为一开始的时候 client 端还没分配到 IP 地址﹐所以我在我的 /etc/hosts 中增加了这样一行﹕

 

255.255.255.255 all-ones all-ones

 

 

客户端无法获取IP地址

  DHCP服务器配置完成且没有语法错误,但是网络中的客户端却无法取得IP地址。这通常是由于Linux DHCP服务器无法接收来自255.255.255.255DHCP客户端的request封包造成的,一般是Linux DHCP服务器的网卡没有设置MULTICAST功能。为了让dhcpddhcp程序的守护进程)能够正常地和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.255Unkown host

那么修改/etc/hosts,加入如下行:

255.255.255.255 dhcp

 

当然﹐我还在 /etc/rc.d/rc.local 中增加了这样的叙述﹕

 

# Lines added by netman,

# for enabling DHCP routing on multi-nics environement:

echo "Adding IP routing for DHCP server..."

route add -host 255.255.255.255 dev eth0

route add -host 255.255.255.255 dev eth1

 

这样﹐当机器激活的时候﹐DHCP 的路由就设置好了。然而看来现在新版的 linux 似乎无需再担心这个问题了﹐假如您发现 DHCP 未能成功提供服务的话﹐再考虑使用这个办法吧。

 

debug模式运行DHCP服务器

执行命令如下:

#dhcpd -d

  该命令指明dhcpd将出错信息记录到标准的错误描述器,记录的信息将根据/etc/syslog.conf文件的配置保存在指定的文件中。例如,在/etc/syslog.conf文件中要指定记录debug信息:

logalldebuginformationinto/var/log/dameon.log

dameon.=debug/var/log/dameon.log

 

DHCP客户端程序和DHCP服务器不兼容

  由于Linux有许多发行版本,不同版本使用的DHCP客户端和DHCP服务器程序也不相同。Linux提供了4DHCP客户端程序,即pumpdhclientdhcpxddhcpcd。了解不同Linux发行版本的服务器端和客户端程序对于排除常见错误是必要的,如果使用SuSE Linux 9.1 DHCP服务器和使用Mandrake Linux 9.0客户端不兼容的情况,则必须更换客户端程序。方法是停止客户端的网络服务,卸载原程序,然后安装和服务器端兼容的程序。表8-4所示为主要Linux发行版本使用的DHCP客户端。

主要Linux发行版本使用的DHCP客户端

发行版本

默认DHCP客户端

可选DHCP客户端

DHCP客户端启动脚本

附加配置文件

RHEL 4.0

dhclient

/sbin/ifup

/etc/sysconfig/network

/etc/sysconfig/network-scripts/ifcfg-eth0

Debian Linux 3.0

dhclient

/sbin/ifup

/etc/network/interfaces

/etc/dhclient.conf

Mandrake Linux 9.1

dhclient

dhcpcddhcpxdpump

/sbin/ifup

/etc/sysconfig/network

/etc/sysconfig/network-scripts/ifcfg-eth0

/etc/dhclient-eth0.conf

SuSE Linux 9.1

dhcpcd

dhclient

/sbin/ifup-dhcp

/etc/sysconfig/network/dhcp

/etc/sysconfig/network/ifcfg-eth0

 

阅读(912) | 评论(0) | 转发(0) |
0

上一篇:五、高级话题

下一篇:参考资料

给主人留下些什么吧!~~