! interface Ethernet0/0 ip address 172.16.187.3 255.255.255.0 no ip directed-broadcast
! interface Ethernet0/1 ip address 172.16.39.3 255.255.255.0 no ip directed-broadcast ! interface Ethernet3/0 ip address 172.16.79.3 255.255.255.0 no ip directed-broadcast ip policy route-map net-10 ! router eigrp 1 network 172.16.0.0 ! access-list 110 permit ip 10.0.0.0 0.255.255.255 172.16.36.0 0.0.0.255 access-list 111 permit ip 10.0.0.0 0.255.255.255 any
! route-map net-10 permit 10 match ip address 111 set interface Ethernet0/1 ! route-map net-10 permit 20 ! end
我們可以這樣測試我們所做的配置。在名為Cisco-1的路由器10.1.1.1上發送ping命令到Internet上的一個主機(這里就是192.1.1.1主機)。要查看名為Internet Router的路由器上的情況,我們在特權命令模式下執行debug ip packet 101 detail命令。(其中,在此路由器上有access-list 101 permit icmp any any配置命令)。下面是輸出結果: Results of ping from Cisco-1 to 192.1.1.1/internet taken from Internet_Router: Pakcet never makes it to Internet_Router 正如您所看到的:數據包沒有到達Internet_Router路由器。下面的在Cisco WAN路由器上的debug命令給出了原因:
Debug commands run from Cisco_WAN_Router: "debug ip policy" 2d15h: IP: s=10.1.1.1 (Ethernet3/0), d=192.1.1.1, len 100, policy match 2d15h: IP: route map net-10, item 10, permit 2d15h: IP: s=10.1.1.1 (Ethernet3/0), d=192.1.1.1 (Ethernet0/1), len 100, policy routed 2d15h: IP: Ethernet3/0 to Ethernet0/1 192.1.1.1 這里,數據包確實匹配了net-10策略圖中的第一條規則。但為什么還是沒有達到預期的目的呢?用"debug arp"來看一下。 "debug arp" 2d15h: IP ARP: sent req src 172.16.39.3 0010.7bcf.5b02, dst 192.1.1.1 0000.0000.0000 Ethernet0/1 2d15h: IP ARP rep filtered src 192.1.1.1 00e0.b064.243d, dst 172.16.39.3 0010.7bcf.5b02 wrong cable, interface Ethernet0/1 debug arp的輸出給出了原因。路由器努力完成它被指示要做的動作,而且試圖把數據包發向Ethernet0/1接口,但失敗了。這要求路由器為目的地址192.1.1.1執行地址解析協議操作,當執行該任務時,路由器知道了目的地址不處于該接口。接下來,路由器發生封裝錯誤。所以,最后數據包不能到達192.1.1.1。 我們怎樣避免這個問題呢?修改路由圖使防火墻地址為下一跳。 Config changed on Cisco_WAN_Router: ! route-map net-10 permit 10 match ip address 111 set ip next-hop 172.16.39.2 ! 修改后,在Internet Router上運行同樣的命令:debug ip packet 101 detail。這時,數據包可以按配置前進。我們也能看到數據包被防火墻翻譯成了172.16.255.1。192.1.1.1主機的回應:
Results of ping from Cisco_1 to 192.1.1.1/internet taken from Internet_Router: 2d15h: IP: s=172.16.255.1 (Ethernet1), d=192.1.1.1 (Serial0), g=192.1.1.1, len 100, forward 2d15h: ICMP type=8, code=0 2d15h: 2d15h: IP: s=192.1.1.1 (Serial0), d=172.16.255.1 (Ethernet1), g=172.16.20.2, len 100, forward 2d15h: ICMP type=0, code=0 2d15h: 在Cisco WAN路由器上執行debug ip policy命令后,我們可以看到數據包被傳遞到了防火墻,172.16.39.2:
Debug commands run from Cisco_WAN_Router: "debug ip policy" 2d15h: IP: s=10.1.1.1 (Ethernet3/0), d=192.1.1.1, len 100, policy match 2d15h: IP: route map net-10, item 20, permit 2d15h: IP: s=10.1.1.1 (Ethernet3/0), d=192.1.1.1 (Ethernet0/1), len 100, policy routed 2d15h: IP: Ethernet3/0 to Ethernet0/1 172.16.39.2