DHCP
中继原理及配置
应用场合:
当一个网络中的主机数目较大时,手工分配 IP 不仅麻烦而且容易出错。 DHCP 服务的出现大大方便了主机 IP 地址的分配。现在的企业组网时,根据实际需要来划分 vlan ,成了必不可少的一个步骤。如何让一个 DHCP 服务器同时为多个网段提供服务,就是我们所要讨论的问题。
DHCP 中继原理:
DHCP 客户使用 IP 广播来寻找同一网段上的 DHCP 服务器。当服务器和客户段处在不同网段,即被路由器分割开来时,路由器是不会转发这样广播包的。因此可能需要在每个网段上设置一个 DHCP 服务器,虽然 DHCP 只消耗很小的一部分资源的,但多个 DHCP 服务器,毕竟要带来管理上的不方便。 DHCP 中继的使用使得一个 DHCP 服务器同时为多个网段服务成为可能。
为了让路由器可以帮助转发广播请求数据包,使用 ip help-address 命令。通过使用该命令,路由器可以配置为接受广播请求,然后将其以单播方式转发个指定 IP 地址。缺省情况下 ip help-address 转发以下 8 种 UDP 服务:
1.Time 2.Tacacs 3.DNS 4.BOOTP/DHCP 服务器
5. BOOTP/DHCP 客户 6.TFTP 7.NetBios 名称服务 8. NetBios 数据报服务
在 DHCP 广播情况下,客户在本地网段广播一个 DHCP 发现分组。网关获得这个分组,如果配置了帮助地址,就将 DHCP 分组转发到特定地址。
DCHP 中继配置
第一步:查看设备是否支持 IOS DHCP Server 功能
一般的 Cisco 路由器或访问服务器,以及少部分安装有路由交换模块或多层交换功能卡的交换机都具有 IOS DHCP Server 功能。如果还没有确认你的设备是否具备这一功能,那么,你可以按如下方法在命令行界面( CLI )下进行快速检测,步骤如下:
router>enable
Password:
router#conf t
router(config)#ip dhcp ?
如果出现的是下面的信息,那么很遗憾,你的设备不支持 IOS DHCP Server 功能: % Unrecognized command
否则,恭喜你,你的设置支持 DHCP 功能。
第二步: DHCP 服务器端配置(此处用路由器来当 DHCPserver.PC 机上配置类似):
route(config)#ip dhcp pool vlan10 // 配置一个地址池, vlan10 是地址池的名称,
route(dhcp-config)#network 192.168.10.0 255.255.255.0 // 动态分配的地址段
route(dhcp-config)#default-router 192.168.10.254 // 网关地址
route(dhcp-config)#dns-server x.x.x.x // 为客户机配置 DNS 服务器
route(dhcp-config)#lease 1 // 地址租用期为 1 天
route(dhcp-config)#exit
route(config)#ip dhcp excluded-address 192.168.10.1 // 该地址不被分配
route(config)#ip dhcp excluded-address 192.168.10.254 // 该地址不被分配
route(config)#ip dhcp pool vlan20 // 配置地址池 vlan20 , vlan30 地址池配置类似
route(dhcp-config)#network 192.168.20.0 255.255.255.0// 动态分配的地址段
route(dhcp-config)#default-router 192.168.20.254 // 网关地址
route(dhcp-config)#dns-server x.x.x.x // 为客户机配置 DNS 服务器
route(dhcp-config)#lease 1 // 地址租用期为 1 天
route(dhcp-config)#exit
route(config)#ip dhcp excluded-address 192.168.20.254 // 该地址不被分配
Tips : DHCP 是根据源地址段进行地址分配的。
第三步:使用路由器 5300 做单臂路由时的 DHCP 配置:
int f0
no ip address
no shut
exit
int f0.10 //vlan10
ip address 192.168.10.254 255.255.255.0 //vlan 网关
ip help-address 192.168.10.1 //DHCP 服务器地址
no shut
exit
int f0.20 //vlan20 ,多个网段类似
ip address 192.168.20.254 //vlan 网关
ip help-address 192.168.10.1 // 以单播的形式发往该 DHCP 服务器地址
no shut
exit
使用多层交换机( 3550 )的 DHCP 配置
int vlan 10
ip address 192.168.10.254 255.255.255.0 //vlan10 网关
ip help-address 192.168.10.1 //DHCP 服务器地址
no shut
exit
int vlan 20
ip address 192.168.20.254 255.255.255.0 //vlan10 网关
ip help-address 192.168.10.1 //DHCP 服务器地址
no shut
exit
题外话:
除了 IOS DHCP Server 外, DHCP 服务器还有很多种。例如 Windows 2000 或 LINUX 的 DHCP 服务器。但不论你采用何种 DHCP 服务器,在 VLAN 上的设置都是一样的,唯一的区别就在于一个是在路由器上设置,一个是在 PC 服务器上设置。在 PC 服务器上设置 DHCP 服务器比较容易,从这一点上看好像用 PC 服务器作 DHCP 服务器更具优越性,但如果从稳定性和功能上看,这些 DHCP 服务器是没办法和路由器相比的。毕竟,确保每天 24 小时的稳定运行才是大型网络重要的任务,因此,在大型网络中还是采用路由器作 DHCP 服务器较为稳妥。
跨子网使用 DHCP 服务器 (PC 版本 )
为了提高网络的安全性,规模稍大的局域网通常要划分为多个子网。但 DHCP 服务器只能为本子网的机器提供服务,每个子网都配置 DHCP 服务器又会造成浪费。如何让一台 DHCP 服务器能同时为多个子网提供 TCP/IP 配置服务呢?
笔者以所管理的两个子网 A 、 B 为例,子网 A 中配置了一台 DHCP 服务器,子网 B 中没有 DHCP 服务器,下面在子网 B 进行如下配置操作:
1 . 配置路由
在子网 B 中选择一台 Windows 2003 机器,将其配置成路由器,用来连接 A 、 B 两个子网 ( 此时该服务器同时属于两个子网 ) 。进入 “ 控制面板 → 管理工具 ” ,运行 “ 路由和远程访问 ” 工具,右键点击本地服务器,选择 “ 配置并启用路由及远程访问 ” ,弹出安装向导对话框,选择 “ 自定义配置 ” ,点击 “ 下一步 ” 后,选择 “LAN 路由 ” ,最后点击 “ 完成 ” 。
2 . 配置中继代理
在路由和远程访问窗口中,展开 “ 本地服务器 → IP 路由选择 → 常规 ” ,右键点击 “ 常规 ” ,选择 “ 新增路由协议 ” ,接着在新路由协议窗口中选择 “DHCP 中继代理程序 ” ,点击 “ 确定 ” 按钮。
右键点击 DHCP 中继代理程序,选择 “ 属性 ” ,弹出 “DHCP 中继代理程序属性 ” 对话框,在 “ 常规 ” 标签页的 “ 服务器地址 ” 栏中输入子网 A 的 DHCP 服务器的 IP 地址,然后点击 “ 添加 ” 按钮,最后点击 “ 确定 ” 即可。
右键再次点击 DHCP 中继代理程序,选择 “ 新增接口 ” ,弹出 DHCP 中继代理程序的新接口对话框,在 “ 接口 ” 框中选中可以访问子网 A 的那个接口,也就是连接子网 A 的网卡,点击 “ 确定 ” 按钮。接着在弹出的 “DHCP 中继站属性 ” 对话框中,确保选中 “ 中继 DHCP 数据包 ” 后,就启用了它的中继功能,最后点击 “ 确定 ” 按钮。完成以上配置,子网 B 的客户机就可以使用子网 A 的 DHCP 服务器了。
提示:中继代理是为不在同一子网中的 DHCP 客户机和 DHCP 服务器之间中转 DHCP/BOOTP 消息的小程序,下面把这台 Windows 2003 机器配置成 DHCP 中继代理服务器。这样当子网 B 的客户机发出请求时,中继代理就把这个请求转发给子网 A 的 DHCP 服务器,接着再把 DHCP 服务器返回的 TCP/IP 配置信息转发给子网 B 的客户机。
应用场合:
当一个网络中的主机数目较大时,手工分配 IP 不仅麻烦而且容易出错。 DHCP 服务的出现大大方便了主机 IP 地址的分配。现在的企业组网时,根据实际需要来划分 vlan ,成了必不可少的一个步骤。如何让一个 DHCP 服务器同时为多个网段提供服务,就是我们所要讨论的问题。
DHCP 中继原理:
DHCP 客户使用 IP 广播来寻找同一网段上的 DHCP 服务器。当服务器和客户段处在不同网段,即被路由器分割开来时,路由器是不会转发这样广播包的。因此可能需要在每个网段上设置一个 DHCP 服务器,虽然 DHCP 只消耗很小的一部分资源的,但多个 DHCP 服务器,毕竟要带来管理上的不方便。 DHCP 中继的使用使得一个 DHCP 服务器同时为多个网段服务成为可能。
为了让路由器可以帮助转发广播请求数据包,使用 ip help-address 命令。通过使用该命令,路由器可以配置为接受广播请求,然后将其以单播方式转发个指定 IP 地址。缺省情况下 ip help-address 转发以下 8 种 UDP 服务:
1.Time 2.Tacacs 3.DNS 4.BOOTP/DHCP 服务器
5. BOOTP/DHCP 客户 6.TFTP 7.NetBios 名称服务 8. NetBios 数据报服务
在 DHCP 广播情况下,客户在本地网段广播一个 DHCP 发现分组。网关获得这个分组,如果配置了帮助地址,就将 DHCP 分组转发到特定地址。
DCHP 中继配置
第一步:查看设备是否支持 IOS DHCP Server 功能
一般的 Cisco 路由器或访问服务器,以及少部分安装有路由交换模块或多层交换功能卡的交换机都具有 IOS DHCP Server 功能。如果还没有确认你的设备是否具备这一功能,那么,你可以按如下方法在命令行界面( CLI )下进行快速检测,步骤如下:
router>enable
Password:
router#conf t
router(config)#ip dhcp ?
如果出现的是下面的信息,那么很遗憾,你的设备不支持 IOS DHCP Server 功能: % Unrecognized command
否则,恭喜你,你的设置支持 DHCP 功能。
第二步: DHCP 服务器端配置(此处用路由器来当 DHCPserver.PC 机上配置类似):
route(config)#ip dhcp pool vlan10 // 配置一个地址池, vlan10 是地址池的名称,
route(dhcp-config)#network 192.168.10.0 255.255.255.0 // 动态分配的地址段
route(dhcp-config)#default-router 192.168.10.254 // 网关地址
route(dhcp-config)#dns-server x.x.x.x // 为客户机配置 DNS 服务器
route(dhcp-config)#lease 1 // 地址租用期为 1 天
route(dhcp-config)#exit
route(config)#ip dhcp excluded-address 192.168.10.1 // 该地址不被分配
route(config)#ip dhcp excluded-address 192.168.10.254 // 该地址不被分配
route(config)#ip dhcp pool vlan20 // 配置地址池 vlan20 , vlan30 地址池配置类似
route(dhcp-config)#network 192.168.20.0 255.255.255.0// 动态分配的地址段
route(dhcp-config)#default-router 192.168.20.254 // 网关地址
route(dhcp-config)#dns-server x.x.x.x // 为客户机配置 DNS 服务器
route(dhcp-config)#lease 1 // 地址租用期为 1 天
route(dhcp-config)#exit
route(config)#ip dhcp excluded-address 192.168.20.254 // 该地址不被分配
Tips : DHCP 是根据源地址段进行地址分配的。
第三步:使用路由器 5300 做单臂路由时的 DHCP 配置:
int f0
no ip address
no shut
exit
int f0.10 //vlan10
ip address 192.168.10.254 255.255.255.0 //vlan 网关
ip help-address 192.168.10.1 //DHCP 服务器地址
no shut
exit
int f0.20 //vlan20 ,多个网段类似
ip address 192.168.20.254 //vlan 网关
ip help-address 192.168.10.1 // 以单播的形式发往该 DHCP 服务器地址
no shut
exit
使用多层交换机( 3550 )的 DHCP 配置
int vlan 10
ip address 192.168.10.254 255.255.255.0 //vlan10 网关
ip help-address 192.168.10.1 //DHCP 服务器地址
no shut
exit
int vlan 20
ip address 192.168.20.254 255.255.255.0 //vlan10 网关
ip help-address 192.168.10.1 //DHCP 服务器地址
no shut
exit
题外话:
除了 IOS DHCP Server 外, DHCP 服务器还有很多种。例如 Windows 2000 或 LINUX 的 DHCP 服务器。但不论你采用何种 DHCP 服务器,在 VLAN 上的设置都是一样的,唯一的区别就在于一个是在路由器上设置,一个是在 PC 服务器上设置。在 PC 服务器上设置 DHCP 服务器比较容易,从这一点上看好像用 PC 服务器作 DHCP 服务器更具优越性,但如果从稳定性和功能上看,这些 DHCP 服务器是没办法和路由器相比的。毕竟,确保每天 24 小时的稳定运行才是大型网络重要的任务,因此,在大型网络中还是采用路由器作 DHCP 服务器较为稳妥。
跨子网使用 DHCP 服务器 (PC 版本 )
为了提高网络的安全性,规模稍大的局域网通常要划分为多个子网。但 DHCP 服务器只能为本子网的机器提供服务,每个子网都配置 DHCP 服务器又会造成浪费。如何让一台 DHCP 服务器能同时为多个子网提供 TCP/IP 配置服务呢?
笔者以所管理的两个子网 A 、 B 为例,子网 A 中配置了一台 DHCP 服务器,子网 B 中没有 DHCP 服务器,下面在子网 B 进行如下配置操作:
1 . 配置路由
在子网 B 中选择一台 Windows 2003 机器,将其配置成路由器,用来连接 A 、 B 两个子网 ( 此时该服务器同时属于两个子网 ) 。进入 “ 控制面板 → 管理工具 ” ,运行 “ 路由和远程访问 ” 工具,右键点击本地服务器,选择 “ 配置并启用路由及远程访问 ” ,弹出安装向导对话框,选择 “ 自定义配置 ” ,点击 “ 下一步 ” 后,选择 “LAN 路由 ” ,最后点击 “ 完成 ” 。
2 . 配置中继代理
在路由和远程访问窗口中,展开 “ 本地服务器 → IP 路由选择 → 常规 ” ,右键点击 “ 常规 ” ,选择 “ 新增路由协议 ” ,接着在新路由协议窗口中选择 “DHCP 中继代理程序 ” ,点击 “ 确定 ” 按钮。
右键点击 DHCP 中继代理程序,选择 “ 属性 ” ,弹出 “DHCP 中继代理程序属性 ” 对话框,在 “ 常规 ” 标签页的 “ 服务器地址 ” 栏中输入子网 A 的 DHCP 服务器的 IP 地址,然后点击 “ 添加 ” 按钮,最后点击 “ 确定 ” 即可。
右键再次点击 DHCP 中继代理程序,选择 “ 新增接口 ” ,弹出 DHCP 中继代理程序的新接口对话框,在 “ 接口 ” 框中选中可以访问子网 A 的那个接口,也就是连接子网 A 的网卡,点击 “ 确定 ” 按钮。接着在弹出的 “DHCP 中继站属性 ” 对话框中,确保选中 “ 中继 DHCP 数据包 ” 后,就启用了它的中继功能,最后点击 “ 确定 ” 按钮。完成以上配置,子网 B 的客户机就可以使用子网 A 的 DHCP 服务器了。
提示:中继代理是为不在同一子网中的 DHCP 客户机和 DHCP 服务器之间中转 DHCP/BOOTP 消息的小程序,下面把这台 Windows 2003 机器配置成 DHCP 中继代理服务器。这样当子网 B 的客户机发出请求时,中继代理就把这个请求转发给子网 A 的 DHCP 服务器,接着再把 DHCP 服务器返回的 TCP/IP 配置信息转发给子网 B 的客户机。