本文档说明如何使用cable-modem dhcp-proxy nat命令。此命令的主要功能是使用互联网提供商的DHCP服务器提供的IP地址配置网络地址转换(NAT)地址池。
有关详细信息,请参阅“Cable IOS CMTS Commands(Cable IOS CMTS命令)”中的cable-modem dhcp-proxy。
注意:请注意Cisco Bug ID CSCdt32356(仅注册客户)(仅限注册客户),已在Cisco IOS®软件版本12.2及更高版本中修复。使用cable-modem dhcp-proxy nat pool-name cable interface命令的动态NAT无法正常运行。IP地址或子网掩码和默认网关分配不正确(如果没有)。输入命令后,分配给NAT池的地址不响应地址解析协议(ARP)。 创建的IP NAT池来自电缆调制解调器范围,而不是用户驻地设备(CPE)范围,因此它在NAT池中放置不可路由的IP地址。请注意,此问题出现在多个电缆调制解调器(尤其是12.1(5)T)的Cisco IOS软件版本中。建议您在uBR924上使用Cisco IOS软件版本系列12.2,并将版本12.2T、12.3及更高版本系列用于uBR905、uBR925和CVA调制解调器。有关其他信息,请参阅Cisco Bug ID CSCdt32356(仅限注册客户)。
注意:另请注意以下注意事项:
由于uBR904平台不支持Cisco IOS软件版本12.1(1)T,因此无法在此平台上配置cable-modem dhcp-proxy命令。
要在uBR924上启用dhcp-proxy功能,通常建议您使用Cisco IOS软件版本12.2(6j)。
对于CVA122,该命令记录为cable dhcp-proxy nat。此命令与uBR900系列电缆调制解调器上的cable-modem dhcp-proxy nat命令相同。
从CVA122中,可以看到以下输出:
Router(config)# interface cable 0 Router(config-if)# cable? cable-modem
本文档的读者应掌握以下这些主题的相关知识:
基本了解网络地址转换及其使用原因
有线数据服务接口规范(DOCSIS)1.0协议
Cisco IOS软件命令行界面
下表显示了支持每个Cisco电缆调制解调器平台此命令的Cisco IOS软件版本:
引入cable-modem dhcp-proxy命令的版本 | Platform |
---|---|
12.1(1)T | uBR924 |
12.1(3)XL | uBR905 |
12.2(2)XA | uBR925 |
12.1(5)XU1 | CVA122 |
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
使用动态NAT时,在路由器收到需要转换的流量之前,NAT转换表中不存在转换。动态转换有一个超时期,在超时期后,将从转换表中清除这些转换。但是,使用静态NAT时,只要配置静态NAT命令,转换就存在于NAT转换表中,并且这些转换将保留在转换表中,直到删除静态NAT命令或命令。
确定电缆调制解调器中是否配置了动态NAT的最简单方法是在电缆调制解调器配置中搜索以下命令:
ip nat inside source list 100 interface cable-modem0 overload
通过将NAT源指向访问列表,您将动态构建NAT转换表。cable-modem dhcp-proxy nat命令使用此动态NAT功能。
使用cable-modem dhcp-proxy nat命令时,用于NAT池的地址会从有线运营商的DHCP服务器自动分配。
使用此选项时,请包括以下NAT配置命令:
ip nat inside interface — 用于将以太网接口配置为“内部”接口。
ip nat outside interface — 用于将电缆接口配置为“外部”接口。
overload — 使用IP NAT全局配置命令指定此选项,因为由cable-modem dhcp-proxy nat命令创建的NAT池仅包含一个IP地址。
使用cable-modem dhcp-proxy nat命令配置路由器后,请重新启动路由器。在DOCSIS调配过程中,路由器发送DHCP客户端请求以获取电缆接口的IP地址。然后,路由器使用以太网接口的MAC地址向DHCP服务器发送代理DHCP请求。DHCP服务器回复路由器分配给动态配置的环回接口的第二个IP地址,该接口指向仅包含一个地址的动态配置的NAT池。
有关在DHCP处理后自动添加到配置中的信息,请参阅本文档中的配置输出。
要配置NAT以便动态创建池,请在路由器上发出以下命令。请记住,要配置NAT,路由器必须处于路由模式。
Router# config t Enter configuration commands, one per line. End with CNTL/Z. Router(config)# interface ethernet 0 Router(config-if)# ip address 192.168.1.1 255.255.255.0 !--- Assign an IP address to interface Ethernet 0. Router(config-if)# no bridge-group 59 !--- Remove bridging so that you can configure for routing. Router(config-if)# no bridge-group 59 spanning !--- Remove bridging spanning. Router(config-if)# ip nat inside !--- Enable NAT inside for the Ethernet interface. Router(config-if)# exit Router(config)# Router(config)# interface cable 0 Router(config-if)# no bridge-group 59 !--- Remove bridging so that you can configure for routing. Router(config-if)# no bridge-group 59 spanning !--- Remove bridging spanning. Router(config-if)# no cable compliant bridge !--- Remove bridging so that you can configure for routing. Router(config-if)# ip nat outside !--- Enable NAT outside for the cable interface. Router(config-if)# cable-modem dhcp-proxy nat TEST_POOL !--- Define dhcp-proxy nat for the TEST_POOL pool. Router(config-if)# exit Router(config)# Router(config)# ip routing !--- Enable routing. Router(config)# ip nat inside source list 1 pool TEST_POOL overload !--- Configure dynamic NAT. Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255 !--- Define interesting traffic for NAT.
配置如下所示:
router# show run Building configuration... Current configuration : 953 bytes ! version 12.2 no service single-slot-reload-enable no service pad service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname router ! logging rate-limit console 10 except errors ! ip subnet-zero no ip finger ! ip audit notify log ip audit PO max-events 100 no ip dhcp-client network-discovery ! interface Ethernet0 ip address 192.168.1.1 255.255.255.0 ip nat inside no ip mroute-cache ! interface cable-modem0 ip nat outside no ip mroute-cache no cable-modem compliant bridge cable-modem dhcp-proxy nat TEST_POOL ! ip nat inside source list 1 pool TEST_POOL overload ip classless no ip http server no ip http cable-monitor ! access-list 1 permit 192.168.1.0 0.0.0.255 snmp-server packetsize 4096 snmp-server manager ! voice-port 0 input gain -2 output attenuation 0 ! voice-port 1 input gain -2 output attenuation 0 ! ! line con 0 transport input none line vty 0 4 login ! end router#
粗体命令是您输入的命令;其他是违约。请注意,此时尚未创建NAT池。需要重新加载电缆调制解调器,或者需要通过发出shut命令后接no shut命令来重置电缆接口。
router# reload Proceed with reload? [confirm] 133.CABLEMODEM.CISCO: 00:06:16: %SYS-5-RELOAD: Reload requested System Bootstrap, Version 12.0(6r)T3, RELEASE SOFTWARE (fc1) Copyright (c) 1999 by Cisco Systems, Inc. UBR924 platform with 16384 Kbytes of main memory program load complete, entry point: 0x80010000, size: 0x398070 Self decompressing the image : ################################# ################################################################ ################################################################ ################################################################ ################################################################ ################################################################ ########################################################## [OK] !--- Output suppressed. Press RETURN to get started!
注意:在配置输出中,在DHCP处理后自动添加到配置的信息会带有注释。
本文档中使用uBR7114和uBR924作为示例。安装在它们上的Cisco IOS软件版本分别为12.1(5)EC1和12.1(3a)T4。下图显示了使用的连接和IP地址。
图 1:使用cable dhcp-proxy nat命令在配置中使用的图
uBR924 — 使用服务提供商的DHCP服务器提供的IP地址配置NAT地址池 |
---|
router# show run Building configuration... Current configuration : 1273 bytes ! ! Last configuration change at 13:12:52 - Tue Feb 29 2000 ! version 12.2 no service single-slot-reload-enable no service pad service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname router ! logging rate-limit console 10 except errors ! clock timezone - -8 ip subnet-zero no ip finger ! ip audit notify log ip audit PO max-events 100 no ip dhcp-client network-discovery ! ! interface Loopback0 ip address 111.111.111.8 255.255.255.255 !--- Lookback interface added automatically by DHCP configuration. ! interface Ethernet0 ip address 192.168.1.1 255.255.255.0 ip nat inside no ip mroute-cache ! interface cable-modem0 ip nat outside no ip mroute-cache no cable-modem compliant bridge cable-modem dhcp-proxy nat TEST_POOL cable-modem boot admin 2 cable-modem boot oper 5 cable-modem downstream saved channel 525000000 37 1 ! ip nat pool TEST_POOL 111.111.111.8 111.111.111.8 netmask 255.255.255.0 !--- NAT pool added automatically by DHCP configuration. ip nat inside source list 1 pool TEST_POOL overload ip classless no ip http server no ip http cable-monitor ! access-list 1 permit 192.168.1.0 0.0.0.255 snmp-server packetsize 4096 snmp-server manager ! voice-port 0 input gain -2 output attenuation 0 ! voice-port 1 input gain -2 output attenuation 0 ! ! line con 0 transport input none line vty 0 4 login ! end |
本节介绍如何使用show命令输出来验证电缆调制解调器的配置。
命令输出解释程序工具(仅限注册用户)支持某些 show 命令,使用此工具可以查看对 show 命令输出的分析。
发出show arp命令以显示ARP表中的条目。
router# show arp Protocol Address Age (min) Hardware Addr Type Interface Internet 111.111.111.111 56 0002.b9ff.8c1c ARPA cable-modem0 Internet 10.4.1.1 59 0002.b9ff.8c1c ARPA cable-modem0 !--- IP address of the interface cable 1/0 !--- of the cable modem termination system (CMTS). Internet 192.168.1.1 - 0030.1976.771a ARPA Ethernet0 Internet 192.168.1.5 34 00a0.243c.eff5 ARPA Ethernet0 !--- IP address of the PC behind the cable modem. Internet 10.4.1.114 - 0030.1976.771b ARPA cable-modem0
电缆调制解调器后面的PC静态配置了IP地址192.168.1.5。但是,使电缆调制解调器成为DHCP服务器非常容易,该服务器会为其LAN主机动态分配IP地址;使用此配置:
ip dhcp excluded-address 192.168.1.1
ip dhcp pool pool name
network 192.168.1.0 255.255.255.0
default-router 192.168.1.1
要测试NAT是否工作,请从电缆调制解调器后面连接的PC发出ping命令,尝试到达电缆接口。
如果查看NAT转换表,可以看到转换成功。
router# show ip nat translations Pro Inside global Inside local Outside local Outside global icmp 111.111.111.8:512 192.168.1.5:512 10.4.1.114:512 10.4.1.114:512
有关详细信息,请参阅“Cable IOS CMTS Commands(Cable IOS CMTS命令)”中的cable-modem dhcp-proxy。