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

全部博文(40)

文章存档

2009年(40)

我的朋友
最近访客

分类: 系统运维

2009-06-12 09:36:34

五、高级话题

(一)超级作用域

我们提到过DHCP服务器决定分配IP地址租约的DHCP作用域的选择条件DHCP服务器不会使用不匹配网络接口主IP逻辑子网的DHCP作用域来为DHCP客户端的分配IP地址租约。而单个DHCP作用域只能包含一个固定的子网,如果网络中具有多个子网并且我想在DHCP服务器的某个网络接口上分配属于这些不同子网的IP地址租约,该怎么办呢?

答案就是超级作用域。超级作用域是由多个DHCP作用域组成的作用域,单个DHCP作用域只能包含一个固定的子网,而超级作用域可以包含多个DHCP作用域,从而包含多个子网。超级作用域主要用于解决以下问题:

·         当前单个DHCP作用域中的可用地址几乎耗尽,而且网络中将添加更多的计算机,需要添加额外的IP网络地址范围来扩展同一物理网段的地址空间;

·         DHCP客户端必须迁移到新作用域,例如重新规划IP网络编号,从现有的活动作用域中使用的地址范围迁移到使用另一IP网络地址范围的新作用域;

·         希望使用两个DHCP服务器在同一物理网段上管理分离的逻辑IP网络。

 

DHCP服务器按照和使用标准DHCP作用域相同的方式来使用超级作用域为DHCP客户端分配IP地址租约,但是,当DHCP服务器接收到DHCP客户端发送的租约请求时,只要超级作用域中的一个DHCP作用域匹配接收到租约请求的网络接口的网络ID,那么DHCP服务器将使用这个超级作用域中的所有可用IP地址为DHCP客户端分配IP地址租约。DHCP服务器会优先使用超级作用域中匹配接收到租约请求的网络接口的网络IDDHCP作用域来为DHCP客户端分配IP地址租约,如果此DHCP作用域中没有可用的IP地址,则使用超级作用域中其他具有可用IP地址的DHCP作用域,而不管此作用域的网络ID是否匹配接收到租约请求的网络接口的网络ID

实例举例:

公司IP地址是192.168.1.0/24网段,可以容纳254台机器,使用DHCP服务器建立一个192.168.0.0网段的作用域,动态管理IP地址;
但网络规模扩大到400台机器,一个C类网络就无法满足要求,这时可以再为DHCP服务器添加一个新的作用域,管理分配192.168.1.0网段的IP,为网络增加254个新地址,只需要一个网卡就可以了(通过为一个网卡建立2个虚拟网卡,一个物理网段 有2各逻辑网段)

更改配置文件

 

ddns-update-style interim;
ignore client-updates;

shared-network mylab    {     #
超级作用域名称为mylab
;option domain-name "test.com";  #
注释掉,环境里目前没有域
;option domain-name-servers 192.168.0.1     #
注释掉
default-lease-time 43200;
max-lease-time 86400;

subnet 192.168.0.1 netmask 255.255.255.0 {
option routers 192.168.0.1;
range dynamic-bootp 192.168.0.10 192.168.0.250;
}

subnet 192.168.1.1 netmask 255.255.255.0; {
option routers 192.168.1.1;
range dynamic-bootp 192.168.1.10 192.168.1.250;
}
}



关于超级作用域的疑问:

================================

DHCP的超级作用域是干嘛用的?我一直也想不通,如果说当有多个作用域的时候要把多个作用域放到一个超域中的话,我试过创建多个作用域而不创建超级作用域,也是可以正常工作的;如果说是为了无缝更改tcp/ip设置,但是超域中的作用域也没有优先于普通作用域啊,大家有这方面的经验没有?

================================

我来说一下我的看法
如果在每个物理网段(或者说广播域)只有一个逻辑网段(或者说IP段),这样就不需要用到超级作用域,只需要配置相应的几个作用于并且在三层设备上配置DHCP中继就可以了。
如果在一个物理网段配置多个逻辑网段,就需要超级作用域了。

================================

个人认为是一个超级作用可以同时提供并分配多个不同子网的ip地址资源供请求的客户机使用。
不知道有没有说清楚。

================================

有一点我不太明白,当创建多个作用域时,客户端怎么知道到哪个作用域去拿地址?

================================

个人认为:
超级作用域的作用一是为了解决分配多个网段分配地址的问题,二是为了客户机跨路由获取地址的问题,但这需要在路由上开启中继代理。
如果你的网络中只有一个路由器,并只有一个网段的话就用不到超级作用域的功能了

================================

在多路由网络中而且只有一台DHCP的话,可以用路由器的IP地址来控制客户端得到什么样的地址

使用超级作用域
超级作用域是运行 Windows Server 2003 DHCP 服务器的一种管理功能,您可以通过 DHCP 控制台创建和管理超级作用域。使用超级作用域,可以将多个作用域组合为单个管理实体。使用此功能,DHCP 服务器可以:
在使用多个逻辑 IP 网络的单个物理网段(如单个以太网的局域网段)上支持 DHCP 客户端。在每个物理子网或网络上使用多个逻辑 IP 网络时,这种配置通常被称为多网
支持位于 DHCP BOOTP 中继代理远端的远程 DHCP 客户端(而在中继代理远端上的网络使用多网配置)。
在多网配置中,可以使用 DHCP 超级作用域来组合并激活网络上使用的 IP 地址的单独作用域范围。通过这种方式,DHCP 服务器计算机可为单个物理网络上的客户端激活并提供来自多个作用域的租约。
超级作用域可以解决多网结构中的某种 DHCP 部署问题,包括以下情形:
当前活动作用域的可用地址池几乎已耗尽,而且需要向网络添加更多的计算机。最初的作用域包括指定地址类的单个 IP 网络的一段完全可寻址范围。需要使用另一个 IP 网络地址范围以扩展同一物理网段的地址空间。
在一段时间后客户端必须迁移到新作用域(例如,需要对当前 IP 网络进行重新编号,使其从现有的活动作用域中使用的地址范围迁移到包含另一 IP 网络地址范围的新作用域)。
您可能希望在同一物理网段上使用两个 DHCP 服务器以管理分离的逻辑 IP 网络。
这个讲的应该很清楚了吧 

(二)DHCP中继代理服务器

DHCP客户机通过广播消息获得DHCP服务器的响应后得到IP地址。但广播消息是不能跨越子网的。如果DHCP客户机和服务器在不同的子网内,客户机还能不能向服务器申请IP地址呢?这就要用到DHCP中继代理。

DHCP的转发代理(dhcrelay)允许把无DHCP服务器子网内的DHCPBOOTP请求转发给其他子网内的一台或多台DHCP服务器。当某个DHCP客户端请求信息时,DHCP转发代理把该请求转发给DHCP转发代理启动时所指定的一台DHCP服务器。当某台DHCP服务器返回一个回应时,该回应被广播或单播给发送最初请求的网络(代理与代理之间还是以单薄形式发送?)。

 

下面是一个关于DHCP的中继代理的实例:

     

1

配置dhcp服务器

 1)配置dhcp服务器在192.168.10.0/24这个网段的网卡的IP地址

/etc/sysconfig/network-scripts/ifcfg-eth0(如果在这个网段),编辑网络接口配置文件

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.10.2 

NETMASK=255.255.255.0

#指向这个网段的网关,这个网关可能是中继服务器?

GATEWAY=192.168.10.1    

 

重新启动服务

 

service network restart

 

2)安装dhcp软件

具体情况请看前面章节

3)编辑dhcpd.conf配置文件

    为需要进行动态分配的网段进行申明作用域,这里有3个作用域要进行申请动态分配。

  

ddns-update-style interim;

default-lease-time 60000;

max-lease-time 62000;

subnet 192.168.10.0 netmask 255.255.255.0{

    range 192.168.10.30 192.168.10.100;

    option subnet-mask 255.255.255.0;

    option routers 192.168.10.1;

}

subnet 192.168.20.0 netmask 255.255.255.0{

    range 192.168.20.100 192.168.20.156;

    option subnet-mask 255.255.255.0;

    option routers 192.168.20.1;

}

subnet 192.168.30.0 netmask 255.255.255.0{

    range 192.168.30.100 192.168.30.156;

    option subnet-mask 255.255.255.0;

    option routers 192.168.30.1;

}

 

要注意这些网关的配置,一定要指向配有中继的最终能到达DHCP的网关。比如192.168.30.0/24这个网段的报文虽然可以通过Router3到达dhcp,但是只要router3没有配置中继,其中option routers就不能指向router3

 

(4)    使用dpcpd脚本启动dhcpd服务程序

 

service dhcpd start

 

1、         配置dhcp 中继

中继代理计算机默认不转发DHCP客户机的请求,需要使用dhcrelay指定DHCP服务器的位置,格式如下:

 

dhcrelay DHCP服务器地址 #开启所有网络接口的dhcp中继功能

转发到指定的DHCP服务器

 

dhcrelay -I 网卡 DHCP服务器地址 #开启指定网络接口的DHCP中继功能

 

除非使用INTERFACES指令在/etc/sysconfig/dhcrelay文件中指定了接口,否则DHCP转发代理监听所有接口上的DHCP请求。要启动DHCP转发代理,使用命令:

service dhcrelay start

 

DHCP中继代理
cd /etc/sysconfig
vi dhcrelay
eth1
第一句话听广播的哪个网段,就选那个网卡,比如192.168.1.1192.168.0.2广播
就选这块网卡

下面的是DHCP服务器的IP

用命令也可以实现 dhcrelay -p 67 -i eth1 192.168.0.125

eth1是要获得IP的网段 192.168.0.125DHCP服务器的IP

然后配置所有的Dhcp中继。

(1)                配置router1 Dhcp中继

1 编辑router1网卡信息

1块网卡的配置文件

 

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.10.1 

NETMASK=255.255.255.0

 

2块网卡的配置文件

 

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.20.1 

NETMASK=255.255.255.0

       

重新启动服务

 

service network restart

 

2 安装dhcp软件

具体情况请看前面章节

注意:这里就没有必要配置其配置文件,因为它只起到中继转发的作用。

3 执行命令dhcrelay

 

dhcrelay 192.168.10.2

 

4  开启router的路由转发功能

如果没有开启router的路由转发功能,那么先开启

编辑/etc/sysctl.conf这个文件

 

net.ipv4.ip_forward=1

 

对于ipv6:

 

                             ??????

 

再执行

 

sysctl –p

 

执行上面这个命令让其生效

 

(2)                配置router2 Dhcp中继

1 编辑router2网卡信息

1块网卡的配置文件

 

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.20.2 

NETMASK=255.255.255.0

 

2块网卡的配置文件

 

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.30.1 

NETMASK=255.255.255.0

       

重新启动服务

 

service network restart

 

2 安装dhcp软件

具体情况请看前面章节

注意:这里就没有必要配置其配置文件,因为它只起到中继转发的作用。

3 执行命令dhcrelay

 

dhcrelay 192.168.10.2

 

4  开启router的路由转发功能

如果没有开启router的路由转发功能,那么先开启

编辑/etc/sysctl.conf这个文件

 

net.ipv4.ip_forward=1

对于ipv6:

 

                             ??????

 

再执行

 

sysctl -p

 

执行上面这个命令让其生效

(三)动态更新

 

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

上一篇:四、运行DHCP服务器

下一篇:六、相关FAQ

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