分类:
2005-09-13 10:30:52
最近看到论坛上不少兄弟们提到NAT网络地址转换的问题,其实这种资料在网上到处搜得到,只要是基础稍微好一点的,应该能看得懂。下面提供两种NAT地址转换的示例,希望能对大家有所帮助。
案例1: tcp/udp 端口的NAT映射
不同应用程序的使用的tcp/udp端口号是不同的,比如,web是用的80 ftp是21 smtp 是25 pop3是110,等。如果ISP只分配了一个可用的IP地址,就可以将端口绑定到不同的内部IP地址,以实现Internet对内部WEB服务器的访问。
注:这种情况内部只能有一台WEB服务器,当然,也可以改变默认端口,但这种访问方式相对来说比较困难!
网络环境:路由器使用Cisco 的2621 ,内部网络采用IP地址段192.168.1.1~192.168.1.254 局域网fa0/0口的IP地址为192.168.1.1 广域网使用IP地址211.82.20.129~255.255.255.252 内部有WEB服务器一台,FTP服务器一台。
具体配置命令:
2621>en
2621#conf t
2621(config)#int fa0/0
2621(config-if)#ip add 192.168.1.1 255.255.255.0 //定义端口的ip地址
2621(config-if)#no sh //激活端口
2621(config-if)#ip nat inside //定义fa0/0为内部端口
2621(config-if)#exit //退回全局配置模式 这一步不是必须的,也可以直接用int fa0/1 切换到fa0/1端口
2621(config)#int fa0/1
2621(config-if)# ip add 211.82.20.129 255.255.255.252
2621(config-if)#no sh
2621(config-if)#ip nat outside //定义fa0/1为外部端口
2621(config-if)#exit
2621(config)#access-list 9 permit 192.168.1.0
2621(config)#ip nat pool isp 211.82.20.129 211.82.20.129 netmask 255.255.255.252 //定义NAT地址池,这一步可以省略,由于此IP地址位于路由器的端口,所以,可以不定义NAT池,只使用 ip nat inside source list 命令即可!
2621(config)#ip nat inside source list 9 pool isp overload //定义端口复用地址转换,注意,这里是使用了 地址池的情况,如果没有定义nat地址池,可以使用 ip nat inside source list 9 interface fa0/1 overload 来启用端口复用转换。
2621(config)#ip nat inside source static tcp 192.168.1.2 80 211.82.20.129 80 //定义web服务器的静态端口转换
2621(config)#ip nat inside source static tcp 192.168.1.2 21 211.82.20.129 21 //定义FTP服务器的静态端口转换
2621(config)# ip route
2621#copy run start //保存配置
2621(config)#erase flash //危险的操作,可以学到不少东西,切勿模仿!!!! ^_^使用此命令请先看本站文章:Cisco IOS 损坏后的恢复
案例2:利用地址转换实现负载均衡
为什么要实现负载均衡?什么,你不知道,请先读完幼儿园再来,谢谢!
可以通过服务器群集负载均衡、交换机负载均衡、DNS解析负载均衡等!当然,这些不在本文讨论之例了。
通过地址转换方式实现服务器的负载均衡,这种实现大多是采用轮询方式实现,使每台服务器都拥有平等被访问的机会。
网络环境:Cisco 2621路由器,(其实选用这种路由器是因为2621路由器刚好提供两个快速以太网口,还有两个广域网插槽,可以很好的扩展。) 内部地址采用192.168.1.1~192.168.1.254 ,局域网fa0/0口采用192.168.1.1 广域网口fa0/1的ip address 采用202.103.96.65 255.255.255.248 .ISP分配的地址段为202.103.96.65 ~202.103.96.70内部两台FTP服务器,两台WEB服务器。由于是做负载均衡用的,所以两台FTP服务器的内容完全一样,web服务器也是如此。两台web 服务器地址为192.168.1.3 192.168.1.4 ftp服务器地址为192.168.1.5 192.168.1.6
配置实例:
2621>en
2621#conf t
2621(config)#int fa0/0
2621(config-if)#ip add 192.168.1.1 255.255.255.0 //定义端口的ip地址
2621(config-if)#no sh //激活端口
2621(config-if)#ip nat inside //定义fa0/0为内部端口
2621(config-if)#int fa0/1
2621(config-if)# ip add 202.103.96.65 255.255.255.248
2621(config-if)#no sh
2621(config-if)#ip nat outside //定义fa0/1为外部端口
2621(config-if)#exit
2621(config)#access-list 9 permit 202.103.96.66 //定义web服务器的轮询地址表
2621(config)#access-list 10 permit 202.103.96.67 //定义ftp服务器的轮询地址表
2621(config)#access-list 11 permit 192.168.1.0
2621(config)#ip nat pool web 192.168.1.3 192.168.1.4 255.255.255.0 type rotary //定义web服务器的IP地址池,Rotary关键字表示准备使用轮询策略从NAT池中取出相应的IP 地址用于转换进来的IP报文,访问202.103.96.66的请求将依交次发送给192.168.1.3 和192.168.1.4
2621(config)#ip nat pool ftp 192.168.1.5 192.168.1.6 255.255.255.0 type rotary
2621(config)#ip nat pool lan 202.103.96.68 202.103.96.70 netmask 255.255.255.248
2621(config)#ip nat inside destination list 9 pool web //定义与列表9相匹配的IP地址的报文将使用轮询策略
2621(config)#ip nat inside destination list 10 pool ftp
2621(config)#ip nat inside source list 11 pool lab overload
2621(config)#ip route
2621(config)#exit
2621#copy run start
<-the end-> by Cisco枫叶 2004.7.16 chang sha hun.