NAT中TCP負載均衡實驗總結
更新時間: 2007-05-22 11:11:52來源: 粵嵌教育瀏覽量:816
配置方法比較簡單,只是需要注意被調用的ACL配置:
環境:
R2(s1)------(s1)R1(e0)-----(e0)R3
R1上配置具體實驗,R2測試發起telnet,R3被telnet
1,如果使用非擴展訪問列表,則將內部主機對外表現的內部全局地址作為ACL配置部分, 如:
access-list 1 permit 內部全局地址.
看測試的例子配置:E0是內口,S1是外口,1.1.12.1為代表內部的內部全局地址.
interface Ethernet0
ip address 10.0.0.4 255.255.255.0
ip nat inside
interface Serial1
ip address 1.1.12.1 255.255.255.0
ip nat outside
ip nat pool PL 10.0.0.1 10.0.0.2 prefix-length 24 type rotary
access-list 1 permit 1.1.12.1
看對應的調試信息:
2509rj#1
[Resuming connection 1 to r1 ... ]
*Mar 1 01:38:36.635: NAT: s=1.1.12.2, d=1.1.12.1->10.0.0.1 [0]
R1#
*Mar 1 01:38:38.635: NAT: s=1.1.12.2, d=1.1.12.1->10.0.0.1 [0]
R1#
*Mar 1 01:38:42.635: NAT: s=1.1.12.2, d=1.1.12.1->10.0.0.1 [0]
R1#
R2#
R2#telnet 1.1.12.1
Trying 1.1.12.1 ...
% Connection timed out; remote host not responding
10.0.0.1是我的筆記本地址,未開TELNET功能,所以此時發起TLNET的路由器應該連不上
再重新telnet,這次如果被轉換成10.0.0.2那么就應該能登陸到R3路由器上,因為10.0.0.2是R3的地址.:
*Mar 1 01:38:50.635: NAT: s=1.1.12.2, d=1.1.12.1->10.0.0.1 [0]
R1#
*Mar 1 01:39:09.331: NAT: s=1.1.12.2, d=1.1.12.1->10.0.0.2 [0]
*Mar 1 01:39:09.347: NAT: s=10.0.0.2->1.1.12.1, d=1.1.12.2 [0]
*Mar 1 01:39:09.371: NAT: s=1.1.12.2, d=1.1.12.1->10.0.0.2 [1]
*Mar 1 01:39:09.379: NAT: s=1.1.12.2, d=1.1.12.1->10.0.0.2 [2]
*Mar 1 01:39:09.387: NAT: s=1.1.12.2, d=1.1.12.1->10.0.0.2 [3]
*Mar 1 01:39:09.407: NAT: s=10.0.0.2->1.1.12.1, d=1.1.12.2 [1]
*Mar 1
*Mar 1 01:39:50.635: NAT: expiring 1.1.12.1 (10.0.0.1) tcp 23 (23)
R1#
從上面的信息可以看出,這次被轉成了10.0.0.2
R2#telnet 1.1.12.1
Trying 1.1.12.1 ... Open
User Access Verification
Password:
成功,提示我輸入密碼.
2.如果使用擴展ACL,那么應該將內部全局地址指定為ACL中的目標地址:
看配置范例:
我們將ACL改成access-list 122 permit ip host 1.1.12.1 any
然后重新調用 R1(config)#ip nat inside destination list 112 pool PL
這個時候,故意將1.1.12.1作為ACL中源地址,目標地址任意,看這個時候能否發生轉換
R1#show ip nat trans
R1#
注意看,沒有NAT條目,說明沒有發生轉換.
R2#telnet 1.1.12.1
Trying 1.1.12.1 ... Open
Password required, but none set
[Connection to 1.1.12.1 closed by foreign host]
R2的信息則返回說需要密碼,但未被設置,很明顯,R2試圖直接TELNET R1了,而不是通過R1的轉換TELNET r3
3.將擴展ACL的目標地址改成內部全局地址,看是什么結果:
將ACL改成R1(config)#access-list 112 permit ip any host 1.1.12.1
2509rj#1
[Resuming connection 1 to r1 ... ]
*Mar 1 01:51:46.763: NAT: s=1.1.12.2, d=1.1.12.1->10.0.0.1 [0]
R1(config)#
*Mar 1 01:51:48.763: NAT: s=1.1.12.2, d=1.1.12.1->10.0.0.1 [0]
R1(config)#
*Mar 1 01:51:52.763: NAT: s=1.1.12.2, d=1.1.12.1->10.0.0.1 [0]
R1(config)#
*Mar 1 01:52:00.763: NAT: s=1.1.12.2, d=1.1.12.1->10.0.0.1 [0]
R1(config)#
調試信息顯示發生了轉換.
總結:
1.測試的時候不要用PING,因為這個NAT的負載均衡只對TCP協議,所以用TELNET測試.
2.需要確保路由器之間能正常進行選路,否則可能會發生,看到轉換了卻無法TELNET進去.
3.內部全局地址也可以分配到環回地址,只要符ACL的就可以引發轉換.