最近看到论坛上不少兄弟们提到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 0.0.0.255 //定义需要访问Internet的本地网络的访问列表 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 0.0.0.0 0.0.0.0 interface fa0/1 //定义静态路由,如果你内网不需要访问Internet ,这一步可以省掉。 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 0.0.0.255 //定义本地访问列表 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 0.0.0.0 0.0.0.0 fa0/1 2621(config)#exit 2621#copy run start <-the end-> by Cisco枫叶 2004.7.16 chang sha hun. |