目录
DHCP
DHCP 简介
手工配置IP: 网络管理员为路由器、服务器以及物理位置与逻辑位置均不会的发生变化的网络设备分配静态的 IP 地址。
动态配置IP: 网络设备的物理位置和逻辑位置经常会发生变化,管理员无法及时地为其分配新的 IP 地址。
DHCP 的运作
(1)手动分配:管理员为客户端指定预分配的 IP 地址,DHCP 只是将该IP 地址传达给设备。
(2)自动分配:DHCP 从可用地址池中选择静态 IP 地址,自动将它永久性地分配给设备。不存在租期问题,地址是永久性地分配给设备。
(3)动态分配:DHCP 自动动态地从地址池中分配或出租 IP 地址,使用期限为服务器选择的一段有限时间,或者直到客户端告知 DHCP 服务器其不再需要该地址为止。
DHCPDISCOVER
客户端广播 DHCPDISCOVER 消息。DHCPDISCOVER 消息找到网络上的 DHCP 服务器。
它使用第 2 层和第 3 层广播地址与服务器通信。
DHCPOFFER
当 DHCP 服务器会找到一个可供租用的 IP 地址,创建一个包含请求方主机 MAC 地址和所出租的 IP 地址的 ARP 条目,并使用 DHCPOFFER 消息传送绑定提供报文。
DHCPOFFER 消息作为单播发送,服务器的第 2 层 MAC地址为源地址,客户端的第 2 层地址为目的地址。
DHCPREQUEST
客户端的 DHCPREQUEST 消息要求在 IP 地址分配后检验其有效性。此消息提供错误检查,确保地址分配仍然有效。DHCPREQUEST 还用作发给选定服务器的绑定接受通知,并隐式拒绝其它服务器提供的绑定提供信息。
DHCPREQUEST 消息以广播的形式发送,将绑定提供接受情况告知此DHCP 服务器和任何其它 DHCP 服务器。
DHCPACK
收到 DHCPREQUEST 消息后,服务器检验租用信息,为客户端租用创建新的 ARP 条目,并用单播 DHCPACK 消息予以回复。
BOOTP 与 与 DHCP
DHCP 消息格式
DHCP 的功能比 BOOTP 丰富,因此增加了 DHCP 选项字段。与旧的 BOOTP 客户端通信时,DHCP 选项字段会被忽略。
DHCP 的发现方法
DHCP 的提供方法
配置 DHCP 服务器
步骤1(排除IP地址). 定义 DHCP 在分配地址时的排除范围。这些地址通常是保留供路由器接口、交换机管理 IP 地址、服务器和本地网络打印机使用的静态地址。
步骤2(配置DHCP池). 使用 ip dhcp pool 命令创建 DHCP 池。
步骤 3(具体任务). 配置地址池的具体信息。
ip dhcp pool 命令创建具有特定名称的地址池,并使路由器进入 DHCP配置模式
要排除特定地址,请使用 ip dhcp excluded-address 命令。
可以使用 dns-server 命令配置 DHCP 客户端可使用的 DNS 服务器 IP地址。
其它参数包括配置 DHCP 租用的期限。默认设置是一天,但是可以使用lease 命令更改此值。
在支持 DHCP 服务器的各版本 Cisco IOS 软件上,默认启用 DHCP 服务。
要禁用此服务,请使用 no service dhcp 命令。
使用 service dhcp 全局配置命令可重新启用 DHCP 服务过程。如果没有配置参数,启用服务将不会有效果。
检验 DHCP
要检验 DHCP 的运作,请使用 show ip dhcp binding 命令。此命令显示DHCP 服务已提供的全部 IP 地址与 MAC 地址绑定列表。
要检验路由器正在接收或发送消息,请使用 show ip dhcp serverstatistics 命令。此命令显示关于已发送和接收的 DHCP 消息数量的计数信息。
ipconfig /all 命令显示 PC 上的 TCP/IP 配置参数。
另一个用来查看多地址池的有用命令是 show ip dhcp pool命令。
配置 DHCP 客户端
路由器可以做为DHCP的客户端,要将以太网接口配置为DHCP 客户端,必须使用 ip address dhcp 命令进行配置。
DHCP 中继
PC1 试图从位于 192.168.11.5 的 DHCP 服务器获取 IP 地址。
这一情形中,路由器 R1 未被配置成 DHCP 服务器。
器 要将路由器 R1 配置成 DHCP 中继代理,需要使用 ip helper-address接口配置命令配置离客户端最近的接口。
此命令把对关键服务的广播请求转发给所配置的地址。
请在接收广播的接口上配置 IP 帮助地址。
DHCP 配置故障排除
故障排除任务 1 :解决 IP 地址冲突
故障排除任务 2 :检验物理连通性
故障排除任务 3 :使用静态 IP 地址配置客户端工作站以测试网络连通性
故障排除任务 4 :检验交换机端口配置(STP Portfast 和其它命令)
故障排除任务 5 :辨别 DHCP 客户端在 DHCP 服务器所处的子网或VLAN 上是否能获得 IP 地址 server?
检验路由器 DHCP/BOOTP 中继配置
步骤 1. 检验 ip helper-address 命令是配置在正确的接口上。它必须存在于包含 DHCP 客户端工作站的 LAN 的入站接口上,并且必须指向正确的 DHCP 服务器。
步骤 2. 确认没有配置全局配置命令 no service dhcp。此命令会禁用路由器上的所有 DHCP 服务器和中继功能。
使用 debug 命令检查路由器是否接收 DHCP 请求
debug ip packet detail 100
debug ip dhcp server events
利用NAT扩展网络
公用和私有IP 编址
所有公有 Internet 地址都必须在所属地域的相应 Internet 注册管理机构 (RIR) 注册。
与公有 IP 地址不同,私有 IP 地址是保留的数值块,任何人均可以使用。
何谓 NAT?
NAT 就像大办公室中的前台接待员。客户拨打您办公室的总机号码,这是客户知道的唯一号码。
NAT 有很多用途,但最主要的用途是让网络能使用私有 IP 地址以节省 IP 地址。NAT 将不可路由的私有内部地址转换成可路由的公有地址。NAT 还能在一定程度上增加网络的私密性和安全性,因为它对外部网络隐藏了内部 IP 地址。
R2 执行 NAT 过程,将主机的内部私有地址转换为公有、外部、可路由的地址。
内部本地地址 — 是 通常不是 RIR 或服务器提供商分配的 IP 地址,极有可能是
RFC 1918 私有地址。图中,IP 地址 192.168.10.10 被分配给内部网络上的机 主机 PC1。 。
内部全局地址 — 出 当内部主机流量流出 NAT 路由器时分配给内部主机的有效自公有地址。当来自 PC1 的流量发往 Web 服务器 209.165.201.1 时,路由器R2 必须进行地址转换。本例中,PC1 的内部全局地址使用 IP 地址209.165.200.226。 。
外部全局地址 — 给 分配给 Internet 上主机的可达 IP 地址。例如,Web 服务器达 的可达 IP 地址为 209.165.201.1。
外部本地地址 — 地 分配给外部网络上主机的本地 IP 地址。大多数情况下,此地址与外部设备的外部全局地址相同。
NAT 如何工作?
内部主机 (192.168.10.10) 希望与外部 Web 服务器 (209.165.201.1) 通信。它发送数据包给配置了 NAT 的网络边界网关 R2。
R2 读取数据包的目的 IP 地址,并检查数据包是否符合规定的转换标准。
R2 有一个 ACL,它确定内部网络中可进行转换的有效主机。因此,R2 将内部本地 IP 地址转换成内部全局 IP 地址,本例中为 209.165.200.226。它将此本地与全局地址映射关系存储在 NAT 表中
路由器将数据包发送到目的地。
当 Web 服务器回应时,数据包回到 R2 的全局地址(209.165.200.226)。
R2 参考 NAT 表,发现这是原先转换的 IP 地址。因此,它将内部全局地址转换成内部本地地址,然后将数据包转发给 IP地址为 192.168.10.10 的 PC1。
如果它没有找到映射关系,数据包将被丢弃。
NAT 转换有两种类型
动态 NAT:使用公有地址池,并以先到先得的原则分配这些地址。当具有私有 IP 地址的主机请求访问 Internet 时,动态 NAT 从地址池中选择一个未被其它主机占用的 IP 地址。
静态 NAT :使用本地地址与全局地址的一对一映射,这些映射保持不变。静态 NAT 对于必须具有一致的地址、可从 Internet 访问的 Web 服务器或主机特别有用。这些内部主机可能是企业服务器或网络设备 。
NAT 过载
NAT 过载(有时称为端口地址转换或 PAT)将多个私有 IP 地址映射到一个或少数几个公有 IP 地址。因为每个私有地址也会用端口号加以跟踪。
大多数家用路由器就是这样工作的。
当 NAT 处理各数据包时,它使用端口号(本例中为 1331 和1555)来识别发起数据包的客户端。
NAT 过载将 SA 变成客户端的内部全局 IP 地址,同样会附加端口号。
下一可用端口
NAT 过载会尝试保留源端口号。
但是,如果此源端口已被使用,NAT 过载会从适当的端口组0-511、512-1023 或 1024-65535 开始分配第一个可用端口号。当没有端口可用时,如果配置了一个以上的外部 IP 地址,则 NAT 过载将会使用下一 IP 地址,再次尝试分配原先的源端口。
NAT 与 NAT 过载之间的区别
NAT 一般只按公有 IP 地址与私有 IP 地址之间的一对一对应关系转换 IP 地址。NAT 过载则会同时修改发送者的私有 IP 地址和端口号。NAT 过载选择对公有网络上主机可见的端口号。
NAT 将传入的数据包路由给其内部目的地时,将以公有网络上主机给出的传入源 IP 地址为依据。利用 NAT 过载,一般只需一个或极少的几个公有IP 地址。
使用 NAT 的利弊
配置静态 NAT
静态 NAT 为内部地址与外部地址的一对一映射。静态 NAT 允许外部设备发起与内部设备的连接。
首先需要定义要转换的地址,然后在适当的接口上配置 NAT。
配置动态 NAT
动态 NAT 则是将私有 IP 地址映射到公有地址。这些公有 IP 地址源自NAT 池。
动态 NAT 不是创建到单一 IP 地址的静态映射,而是使用内部全局地址池。
为单一公有 IP 地址配置 NAT 过载
仅有一个公有 IP 地址时,过载配置通常把该公有地址分配给连接到 ISP 的外部接口。所有内部地址离开该外部接口时,均被转换为该地址。
使用 interface 关键字来标识外部 IP 地址,因此没有定义 NAT池。利用 overload 关键字,可以将端口号添加到转换中。
为公有 IP 地址池配置 NAT 过载
当 ISP 提供了一个以上公有 IP 地址时,NAT 过载将使用地址池。这种配置与动态、一对一 NAT 配置的主要区别是前者使用了 overload 关键字。overload 关键字允许进行端口地址转换。
端口转发(有时也称为隧道)是将网络端口从一个网络节点转发到另一个网络节点的操作。
这种技术允许外部用户从外部网络通过启用 NAT 的路由器到达私有 IP 地址(LAN 内部)上的端口。
利用端口转发,Internet 上的用户能够使用 WAN 端口地址和相匹配的外部端口号来访问内部服务器。
当用户通过 Internet 发送这些类型的请求到您的 WAN 端口 IP地址时,路由器将这些请求转发到您的 LAN 上适当的服务器。
检验 NAT 和 NAT 过载
show ip nat translations 命令的输出显示NAT 分配的详细情况。在该命令中增加 verbose 可显示关于每个转换的附加信息,包括创建和使用条目的时间长短。
该命令显示所有已配置的静态转换和所有由流量创建的动态转换。
show ip nat statistics 命令显示以下信息:活动转换总数、NAT 配置参数、池中的地址数量以及已分配的地址数量。
为 转换条目默认超时时间为 24 小时,在全局配置模式下使用 ipnat translation timeout timeout_ seconds 命令可重新配置超时时间。
要在超时之前清除动态条目,请使用 clear ip nat translation 全局命令。
用 可以具体指定删除哪一转换,也可以使用 clear ip nat translation * 全局命令清除表中的全部转换,如本例所示
NAT 和 NAT 过载配置的故障排除
步骤 1. 根据配置,清楚地确定应该实现什么样的 NAT。这可能会揭示出配置问题。
步骤 2. 使用 show ip nat translations 命令检验转换表中转换条目是否正确。
步骤 3. 使用 clear 和 debug 命令检验 NAT 是否如预期一样工作。检查动态条目被清除后,是否又被重新创建出来。
步骤 4. 详细审查数据包传送情况,确认路由器具有移动数据包所需的正确路由信息。
使用 debug ip nat 命令显示关于被路由器转换的每个数据包的信息,检验 NAT 功能的运作。
IPv6
使用 IPV6 的原因
IPv4 地址空间提供大约 4,294,967,296 个唯一地址,但其中只有 37 亿地址是可分配的,因为 IPv4 编址系统将地址分为数类,并保留了供组播、测试和其它特殊目的使用的地址。
IP 地址数量萎缩有如下几方面原因:
人口、移动用户、交通工具、消费电子产品
IPv6 地址是一个 128 位的二进制数值,可表示为 32 个十六进制数字。
IPv6 地址数量非常巨大,即使为地球上的每一个人分配相当于个 整个 IPv4 Internet 地址空间的地址还绰绰有余。
IPv6 提供的许多增强功能,其中包括:
增强的 IP 编址、简化的报头、移动性和安全性、多种过渡方式
简单报头
IPv4 报头具有 20 个八位二进制数和 12 个基本报头字段,然后是选项字段和数据部分(通常是传输层数据段)。
IPv6 报头具有 40 个八位二进制数、三个 IPv4 基本报头字段和五个附加报头字段。
IPV6 编址
IPv6 地址表示方法
字段中的前导零可省略。
连续的零字段可用两个冒号 "::" 表示。
不特定地址写成 "::",因为它只包含零。
用使用 "::" 记法可大大缩小大多数地址的长度。地址解析程序通过分开地址的任何两个部分来确定缺少的零,并会补足这些零的 直到获得完整的 128 位地址。
IPv6 全球单播地址
全球单播地址通常由 48 位全球路由前缀和 16 位子网 ID 组成。各组织可用 以使用 16 位子网字段创建自己的本地编址架构。此字段允许组织使用最多 65,535 个子网。
目前的全球单播地址由 IANA 分配,使用的地址范围是从二进制值 001(2000::/3) 开始,它占全部 IPv6 地址空间的 1/8,是最大的一块分配地址。
IANA 将 2001::/16 范围内的 IPv6 地址空间分配给五家 RIR ***构(ARIN、RIPE、APNIC、LACNIC 和 AfriNIC)。
保留地址
IETF 保留了一部分 IPv6 地址空间供现在及将来的各种用途使用。保留的地址占全部 IPv6 地址空间的 1/256。一些其它类型 IPv6 地址就是来自这一地址块。
私有地址
IPv6 也将一块地址保留为私有地址。这些私有地址只是对特定链路或站点来说具有本地意义,因此绝不会路由到公司网络之外。私有地址的十六进制记法中第一个二进制八位数值为“FE”,后一个十六进制数字为 8 到 F 之间的值。
私有地址:又被分为一下两类
(1)本地站点地址 —与当今 IPv4 “私有地址”规定的地址相似。这些地址的使用范围是整个站点或组织。这些地址以“FEC”、“FED”、“FEE”或“FEF”开始。
(2)本地链路地址 — 不同于网络层使用的 IP 编址概念。这些地址的范围比本地站点地址要小,只涉及特定的物理链路(物理网络)。路由器根本不会使用本地链路地址转发数据报,甚至在组织内也不会,它们仅供特定物理网段上的本地通信使用。这些地址用于链路通信,例如自动地址配置、相邻设备发现和路由器发现等。许多 IPv6 路由协议也使用本地链路地址。本地链路地址以“FE”开始,第三个十六进制数字是“8”到“B”之间的值。因此,这些地址以“FE8”、“FE9”、“FEA”或“FEB”开始。
环回地址:与 IPv4 一样,IPv6 也提供了特殊环回地址以供测试使用,发送到此地址的数据报会环回到发送设备。不过,IPv6 中用于此功能的地址只有一个,而不是一个地址块。环回地址为 0:0:0:0:0:0:0:1,一般用零的压缩形式表示为“::1”。
不特定地址:它指主机本身,0:0:0:0:0:0:0:0
IPv6 地址管理
(1)手动接口 ID 指定
RouterX(config-if)#ipv6 address 2001:DB8:2222:7272::72/64
(2)EUI-64 接口 ID 指定
RouterX(config-if)#ipv6 address 2001:DB8:2222:7272::/64 eui-64
(3)无状态自动配置
自动配置功能可以自动配置 IPv6 地址。 这些设备能在网络中即插即用,帮助减少管理开销。
(4)DHCPv6 (全状态)
DHCP 服务器传递配置参数(例如 IPv6 地址)给 IPv6 节点。
EUI-64 接口 ID 指定
EUI-64 标准说明了如何将 IEEE 802 MAC 地址从 48 位扩展为 64 位,方法是在 MAC 地址的第 24 位处插入 16 位0xFFFE,从而创建唯一的 64 位接口标识符。
Cisco 路由器接口的 EUI-64 地址:
RouterX(config-if)#ipv6 address 2001:DB8:2222:7272::/64 eui-64
IPv6 过渡策略
从 IPv4 过渡时,并不要求同时升级所有节点。
(1)双协议栈:是一种集成方法,利用该方法,节点既能实施和连接 IPv4 网络,也能实施和连接 IPv6 网络。
(2)隧道:手动 IPv6-over-IPv4 隧道 — IPv6 数据包被封装在 IPv4 协议中。动态 6to4隧道 — 通过 IPv4 网络(通常是 Internet)自动建立各 IPv6 岛的连接。
(3)NAT- 协议转换 (NAT-PT) :IPv6 与 IPv4 之间进行协议转换的 NAT-PT。
Cisco IOS 双协议栈
双协议栈是一种集成方法,利用该方法,节点能同时连接 IPv4 与 IPv6 网络。每个节点均具有两个协议栈,配置在同一接口或多个接口上。
使用双协议栈集成 IPv6(节点同时具有 IPv4 与 IPv6 协议栈)是最常用的一种集成方法。
配置 IPv6 接口
在 Cisco IOS 路由器上使用 IPv6 需要使用全局配置命令 ipv6 unicast-routing。此命令启用 IPv6 数据报的转发。
接口要使用 IPv6 地址转发 IPv6 流量,必须使用 ipv6 addressIPv6-address [/prefix length] 接口命令加以配置。
IPv6 隧道
隧道技术面临着下面两个问题:
第一,如果 IPv4 报头不含有任何可选字段,最大传输单位 (MTU) 实际上将减少20 个八位二进制数。
第二,隧道网络故障往往难以排除。
隧道是中间集成与过渡技术,而不是最终解决方案。
手动配置的 IPv6 隧道
手动配置的隧道等效于 IPv4 主干网上两个 IPv6 域之间的永久链路。
管理员在隧道接口上手动配置静态 IPv6 地址,并将手动配置的静态 IPv4 地址指定给隧道源和隧道目的地。
IPv6 的路由考虑因素
与 IPv4 无类域间路由 (CIDR) 一样,IPv6 也使用最长前缀匹配路由。
RIPng 路由协议
在 Cisco 路由器上启用 IPv6
默认情况下,Cisco 路由器会禁用 IPv6 流量转发。要启用接口之间的 IPv6 流量转发,必须配置全局命令 ipv6 unicast-routing。
ipv6 address 命令可以配置全局 IPv6 地址。给接口指定地址时,会自动配置本地链路地址。必须指定完整的 128 位 IPv6地址,或者通过使用 eui-64 选项指定使用 64 位前缀
可以从接口的 EUI-64 标识符算出最右边的 64 位主机标识符。
也可以完整地指定整个 IPv6 地址,然后在接口配置模式下使用ipv6 addressipv6-address/prefix-length 命令指定路由器接口的地址。
Cisco IOS IPv6 域名解析
配置用于 IPv6 的 RIPng
使用 ipv6 unicast-routing 全局配置命令全局性地启用 IPv6
要在路由器上启用 RIPng 路由,请使用 ipv6 router ripname 全局配置命令。name 参数表示 RIP 进程。此后,在参与接口上配置 RIPng 时会用到此进程名称。
RIPng 不使用 network 命令来标示哪些接口应当运行 RIPng,而是在接口配置模式下使用 ipv6 ripname enable 命令在接口上启用 RIPng。name 参数必须与 ipv6 router rip 命令中的名称参数匹配。
检验用于 IPv6 的 RIPng 并排查故障
总结
DHCP 特点和好处
BOOTP与DHCP之间的差别
DHCP的运作
(1)DHCP DISCOVERY
(2)DHCP OFFER
(3)DHCP REQUEST
(4)DHCP ACK
配置DHCP
检验DHCP
DHCP故障排除
NAT与NAT过载的关键特征和运作过程
NAT的优缺点
配置NAT与NAT过载
配置端口转发
检验NAT的配置
NAT配置故障排除
IPv6 解决了IP地址短缺的问题
怎样分配IPV6地址
IPv4到IPv6 的过渡方案
配置RIPng for IPv6.
检验RIPng for IPv6.
RIPng for IPv6.故障排除