天天看點

CCNP實驗 1-2:在NAT中使用Access List 和Route Maps

【實驗目的】:

在本次實驗中,你需要使用網絡位址轉換(NAT)去允許内網路由器(PxR3 和 PxR4)從TFTP伺服器下載下傳配置檔案 

為了完成本次實驗,你需要完成下列任務:

建立在NAT中需要使用的通路控制清單

在NAT中使用ROUTE-MAPS執行分開的并發位址轉換。

連接配接到内部路由器到TFTP伺服器或者在邊界路由器使用适當的位址轉換

為内部路由器下載下傳配置檔案

【實驗拓撲】:

【指令清單】:

<b>指令</b>

<b>描述</b>

(config-if)#access-list 100 permit ip 10.1.x.0 0.0.0.255

指定需要NAT的流量内容

Clear ip nat translation *

清除NAT表中的所有位址轉換

Debug ip nat detail

即時跟蹤調試NAT資訊

(config-if)#ip nat inside

指定NAT中的内部接口和位址

(config)#ip nat inside source list 100 pool BBR

為NAT指定需要翻譯的内部位址範圍和所使用的位址池

(config)#ip nat inside source route-map TO-POD pool POD

指定NAT使用的ROUTE-MAP

(config-if)#ip nat outside

指定NAT中的外部接口和位址

(config)#ip nat pool BBR 192.168.x.1 192.168.x.254 netmask 255.255.255.0

建立一個NAT位址池

(config)#ip nat pool BBR 192.168.x.1 192.168.x.254 prefix-length 24

建立一個NAT位址池(子網路遮罩用字首長度進行指定)

Sho ip nat translations

顯示NAT位址轉換表

【實驗幫助】:

如果出現任何問題,可以向在值的輔導老師提出并請求提供幫助。

<b>【任務一】:連接配接到内部路由器PxR3和PxR4</b>

使用TELNET或者其他終端程式建立與路由器建立聯接。記住在本實驗中x是你的機架編号,y是你的路由器編号。

實驗過程:

第一步:連接配接路由器(PxR1和PxR2)。你的路由器現在應該沒有任何配置。如果有,請使用erase start指令删除配置,并使用reload指令重新開機路由器。

第二步:連接配接到你的内部路由器(PxR3和PxR4)。激活并配置設定IP位址到E0接口。路由器PxR3的E0口的IP位址應該是10.x.1.3/24,路由器PxR4的E0口的IP位址應該是10.x.1.4/24。

第三步:路由器PxR1的E0口IP位址為10.x.1.1路由器PxR2的E0口IP位址為10.x.2.2。請檢查邊界路由器(PxR1和PxR2)和内部路由器(PxR3和PxR4)的之間的連接配接性。你的測試結果應該如下表類似: 

router#ping 10.2.1.1

Type Escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.2.1.1, timeout is 2 seconds:

.!!!!

Success rate is 80 Percent(4/5), round-trip min/avg/max = 1/1/4 ms

<b>【任務二】:設定基于ACL的NAT</b>

在本次任務中,你将需要在邊界路由器(PxR1和PxR2)上配置一個單點對單點的使用通路控制清單(ACL)的NAT。這個使用ACL的NAT将内部路由器的以太網接口位址到TFTP伺服器的通信轉換成源位址為192.168.x.0/24或者192.168.xx.0/24的通信。在骨幹路由器1(BBR1)上有一條為192.168.x.0/24和192.168.xx.0/24的靜态路由。骨幹路由器除了本地的TFTP伺服器網10.254.0.0的路由條目外,沒有任何10.x.0.0的路由條目。

第四步:在PxR1和PxR2路由器上,相同的源位址應該在擴充通路控制清單100中被定義。ACL 100應該比對從邊界路由器以E0口發起的到TFTP伺服器的網通信。例如:PxR1應該比對通信源位址為10.x.1.0/24和PxR2應該比對通信源位址為10.x.2.0/24。這個ACL還必須附加的比對包的目的位址為10.254.0.0/24。

第五步:在PxR1和PxR2路由器上,使用ip nat pool指令創一個名為“BBR”位址池。路由器PxR1使用位址段192.168.x.0/24,路由器PxR2使用位址段192.168.xx..0/24。例如:P5R1使用位址段192.168.5.1-254和P5R2使用位址段192.168.55.1-254。

第六步:在路由器PxR1和PxR2上,使用ip nat inside source list指令去指定比對ACL100的包使用位址池BBR進行位址轉換。

第七步:在路由器PxR1和PxR2上,使用ip nat inside和ip nat outside指令定義内部接口和外部接口。因為資料包是從E0進入并被翻譯的,是以E0為内部接口,資料包是從S0口離開的,是以S0為外部接口。

第八步:在路由器PxR3和PxR4上,配置PxR1和PxR2為預設網關。這個配置将允許内部路由器到達核心網絡。

第九步:使用ping指令校正PxR3和PxR4路由器與TFTP伺服器(10.254.0.254)的連接配接正确性。

警告:如果NAT配置沒有正确,你将不能到達TFTP伺服器。

第十步:在邊界路由器(PxR1和PxR2)上檢查NAT表,你的顯示應該與下圖類似:

P3R2#sh ip nat trans

Pro Inside Global Inside Local Outside Local Outside Glocal

--- 192.168.33.1 10.3.2.4 --- ---

P3R2#

<b></b>

<b>【任務三】:NAT到其他的邊界路由器</b>

在這個任務中,你需要NAT從奇數路由器(PxR1和PxR3)和偶數路由器(PxR2和PxR4)的資料包,同樣,你也需要轉換從偶數路由器到奇數路由器的資料包。因為你現在沒有運作路由協定,你需要在路由器PxR1和PxR2之間進行适當的NAT。

第一步:在路由器PxR1和PxR2上,同樣的源位址被定義在擴充通路控制清單101中。ACL 101 應該比對通信從E0口進入,目的位址為任何的通信。例如:PxR1應該比對通信源位址為10.x.1.0/24的資料包和PxR2應該比對通信源位址為10.x.2.0/24的資料包。這個ACL另外需要比對目的位址為任何網絡。

第二步:在路由器PxR1和PxR2上,為NAT建立一個名為POD的位址池。PxR1應該使用位址範圍10.x.0.65-95和PxR2應該使用位址範圍10.x.0.96-127。

第三步:在路由器PxR1和PxR2上,指定資料包比對ACL101的應該被使用位址池POD。

第四步:在路由器PxR1和PxR2上,使用ip nat out指令在s1接口上,保證所有的内部通信被翻譯的。

第五步:從一個内部路由器,PING沒有直接連接配接的邊界路由器的S1接口位址(如PxR3 ping PxR2 S1的接口位址)。下圖顯示了一個不成功的PING,為什麼呢?

P2R3#ping 10.2.0.2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.2.0.2, timeout is 2 seconds:

.....

Success rate is 0 percent (0/5)

第六步:檢視邊界路由器的NAT表。它有已經這個源位址進行了位址轉換但并沒有識别到這是一個不同的會話。它将不為這個新的目的位址通信進行位址轉換。不同的對話的識别是必須的。此時,你的NAT表應該如下表類似:

--- 192.168.2.1 10.2.1.3 --- ---

第七步:從這個沒有直接連接配接的邊界路由器(P2R2)上,在PING的同時使用debug ip icmp和debug ip packet 指令。新的輸出被描述在下面,這個debug資訊指出了為什麼PxR3的PING是不成功的。

P2R2#debug ip icmp

ICMP packet debugging is on

P2R2#

2w1d: ICMP: echo reply sent, src 10.2.0.2, dst 192.168.2.1

2w1d: IP: s=10.2.0.2 (local) , d=192.168.2.1, len 100, unroutable

第八步:檢視對端邊界路由器(P2R2)上的路由器表,請嘗試查找在ICMP ECHO回複消息中目的位址(192.168.2.0)的相關路由。你的路由表輸入應該與下圖相似:

提示:前一個布驟中的目标位址為192.168.x.1

P2R2#sh ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

172.31.0.0/24 is subnetted, 1 subnets

C 172.31.2.0 is directly connected, Serial0

10.0.0.0/8 is variably subntted, 3 subnets, 2 masks

C 10.2.0.0 is directly connected, Serial0

C 10.2.1.0 is directly connected, Serial0

S 10.0.0.0/8 [1/0] via 172.31.2.3

P2R2#s

第九步:在上面的路由表中,并沒有傳回路由。路由器不能找到适當的回包位址它将做什麼呢?

<b>【任務四】:轉換内部位址在NAT中使用ROUTE-MAP</b>

在這個任務中,你将配置NAT使用ROUTE-MAP進行資料包比對。大家在看見看到,當價錢使用NAT時不使用overloading位址,這個位址轉換表僅僅包含本地和全局位址。當你配置NAT使用ROUTE-MAP時,這個位址轉換條目将包含内部和外部(本地和全局)位址條目和TCP、UDP端口資訊。這種位址轉換條目使路由器可以識别不同的會話。

第一步:資料包應該進行基于目的位址的轉換。到TFTP伺服器和到網絡核心的資料包應該還是被轉換到192.168.x.0/24或192.168.xx.0/24,但是到其他邊界路由器的資料包應該被轉換到10.x.0.0子網中。這個位址将使用在本地到其他邊界路由器的S1接口和其他出現在路由表中的路由(直連的路由是自動的進入路由表)。為了防止先前的拒絕,PxR1将使用位址範圍10.x.0.64-95/24和PxR2将使用位址範圍10.x.0.97-127/24.使用ROUTE-MAP作為基于目的位址的位址轉換條件器。你的ROUTE-MAP配置應該與下列類似:

Route-map TO_BBR permit 10

Match ip address 100

!

Route-map TO_POD permit 10

Match ip address 101

第二步:删除以前的NAT指令,加入新的NAT指令使用ROUTE-MAP進行位址轉換。你的配置與下列類似:

P2R1(conf)#no ip nat inside source list 100 pool BBR

P2R1(conf)#no ip nat inside source list 101 pool POD

P2R1(conf)#ip nat inside source route-map TO_BBR pool BBR

P2R1(conf)#ip nat inside source route-map TO_POD pool POD

提示: 如果路由器指出”%Dynamic mapping in use, cannot remove”,請傳回特權模式,然後輸入clear ip nat trans * 删除所有動态映射。

第三步:從内部路由器PING邊界路由器和TFTP伺服器,驗正先前的步驟是成功的。打開debug ip nat指令在邊界路由器上,檢視位址翻譯細節。你的路由器顯示應該與下面類似:

Rack01R1#ping 10.254.0.254

Sending 5, 100-byte ICMP Echos to 10.254.0.254, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/8 ms

在邊界路由器上,使用Debug ip nat detail指令:

*Mar 1 03:04:00.443: NAT*: s=10.254.0.254, d=192.168.1.1-&gt;10.1.1.3 [55449]

*Mar 1 03:04:00.451: NAT: map match TO_BBR

*Mar 1 03:04:00.455: NAT: map match TO_BBR

*Mar 1 03:04:00.459: NAT: i: icmp (10.1.1.3, 6711) -&gt; (10.254.0.254, 6711) [61]

*Mar 1 03:04:00.463: NAT: s=10.1.1.3-&gt;192.168.1.1, d=10.254.0.254 [61]

*Mar 1 03:04:00.523: NAT*: o: icmp (10.254.0.254, 6711) -&gt; (192.168.1.1, 6711)

在内部路由器上,PING其他的邊界路由器:

P1R3#ping 10.1.0.2

同樣,在邊界路由器上,使用debug ip nat details:

*Mar 1 03:06:33.587: NAT: s=10.1.1.3-&gt;10.1.0.67, d=10.1.0.2 [66]

*Mar 1 03:06:33.623: NAT*: o: icmp (10.1.0.2, 1268) -&gt; (10.1.0.67, 1268) [66]

*Mar 1 03:06:33.627: NAT*: s=10.1.0.2, d=10.1.0.67-&gt;10.1.1.3 [66]

*Mar 1 03:06:33.639: NAT: map match TO_POD

*Mar 1 03:06:33.643: NAT: map match TO_POD

*Mar 1 03:06:33.643: NAT: i: icmp (10.1.1.3, 1269) -&gt; (10.1.0.2, 1269) [67]

第四步:使用show ip nat translations指令在每個邊界路由器,你的顯示結果應該與下面類似:

筆記: 注意這張表是被完整的粘貼的,一些轉換條件使這個表比DEUBGGING還擁有更多的資訊。

P1R1#sh ip nat translations

Pro Inside global Inside local Outside local Outside global

icmp 192.168.1.1:2632 10.1.1.3:2632 10.254.0.254:2632 10.254.0.254:2632

icmp 192.168.1.1:2633 10.1.1.3:2633 10.254.0.254:2633 10.254.0.254:2633

icmp 192.168.1.1:2634 10.1.1.3:2634 10.254.0.254:2634 10.254.0.254:2634

icmp 192.168.1.1:2635 10.1.1.3:2635 10.254.0.254:2635 10.254.0.254:2635

icmp 192.168.1.1:2636 10.1.1.3:2636 10.254.0.254:2636 10.254.0.254:2636

icmp 10.1.0.67:8112 10.1.1.3:8112 10.1.0.2:8112 10.1.0.2:8112

icmp 10.1.0.67:8113 10.1.1.3:8113 10.1.0.2:8113 10.1.0.2:8113

icmp 10.1.0.67:8114 10.1.1.3:8114 10.1.0.2:8114 10.1.0.2:8114

icmp 10.1.0.67:8115 10.1.1.3:8115 10.1.0.2:8115 10.1.0.2:8115

icmp 10.1.0.67:8116 10.1.1.3:8116 10.1.0.2:8116 10.1.0.2:8116

<b>【任務五】:下載下傳配置檔案</b>

第一步:現在你的NAT應該是配置适當的。你需要給内部路由器下載下傳一個配置檔案。在這個内部路由器(PxR3和PxR4),使用TFTP從TFTP伺服器下載下傳這個安裝檔案名為PxRy.txt,到目前運作配置中。下面是一個配置檔案示例(路由器P3R4):

Hostname P3R4

No ip domain-lookup

No ip classless

Enable password cisco

Line console 0

Logging synchronous

Exec-timeout 30 0

Line vty 0 4

No login

Int e 0

Ip address 10.3.2.4 255.255.255.0

No shut

Int s0

Ip add 10.3.3.4 255.255.255.0

Exit

end

【實驗驗證】:

成功完成整個實驗,你需要完成下列任務:

你的内部路由器使用NAT位址段192.168.x.0/24能夠PING通TFTP伺服器。

你的内部路由器使用NAT位址段10.x.0.0/24能夠PING通相應的邊界路由器。

你有示範這個基于ACL的NAT的限制,并且能使用基于ROUTE-MAP的NAT克服這個限制

你能通過NAT連接配接到TFTP伺服器,并下載下傳相應的配置檔案

    本文轉自hexianguo 51CTO部落格,原文連結:http://blog.51cto.com/xghe110/68966,如需轉載請自行聯系原作者