Home  >  Article  >  Database  >  NAT中TCP负载均衡实验总结(转)

NAT中TCP负载均衡实验总结(转)

WBOY
WBOYOriginal
2016-06-07 15:31:30893browse

配置方法比较简单,只是需要注意被调用的ACL配置: 环境: R2(s1)------(s1)R1(e0)-----(e0)R3 R1上配置具体实验,R2测试发起telnet,R3被telnet 1,如果使用非扩展访问列表,则将内部主机对外表现的内部全局地址作为ACL配置部分, 如: access-list 1 permit 内部全

配置方法比较简单,只是需要注意被调用的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的就可以引发转换.

关于NAT原理请 对NAT中术语和转换关系的理解和研究

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn