简介:NAT是用来解决IPV4地址不够用而提出的概念,它的作用有两个:
*解决IP地址短缺
*隐藏内网的IP,让外网的用户无法查到内网的IP,有效保护内网安全
NAT分为3中,静态NAT 动态NAT PAT
NAT,内网地址永久的被影射为外部合法的网络地址,是一对一的,一般用于实现外网对内网中某个设备的访问。如HTTP,FTP等
如图:
左边为内网,R1为边界Router,R1,R2之间跑RIP路由协议,HTTP 发布WEB服务,
则R1上的配置为:
全局下: ip nat inside source static 192.168.1.1 12.0.0.1
F0/1接口下:ip nat inside
F0/0接口下:ip nat outside
这样外部的客户就可以访问内部服务器发布的HTTP服务了。
注意:R1上不宣告192.168.1.0网段。
动态NAT:公网IP不是固定的,是随机的,公网用公网池,私网用ACL,这样就联系起来了。
注意,如果只有一个公网,则就变成PAT了。
配置和静态累死,接口下:ip nat inside
ip nat outside
建立公网地址池:ip nat pool aa 12.0.0.1 12.0.0.3 netmask 255.255.255.0 假设有4个公网IP,
建立私网ACL: access-list 1 permit 192.168.1.0 0.0.0.255 私网为192.168.1.0网段。
将池和ACL联系起来: ip nat inside source list 1 pool aa.再这里可以加 overload 表示允许多个内网IP公用一个公司IP.
PAT:把内部私有IP映射到外部公网IP的不同端口上。
接口下:ip nat inside
ip nat outside
内部私有地址的ACL:全局 access-list 1 permit any
全局 ip nat inside source list 1 s0/0 overload s0/0为公网的接口
DNAT SNAT 这两个NAT和上述NAT不一样,常见于LINUX系统中,
DNAT :当内部需要提供对外服务时(如对外发布web网站),外部地址发起主动连接,由路由器或者防火墙上的网关接收这个连接,然后将连接转换到内部,此过程是由带有公网IP的网关替代内部服务来接收外部的连接,然后在内部做地址转换,此转换称为DNAT,主要用于内部服务对外发布
SNAT: 内部地址要访问公网上的服务时(如web访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部。
如图:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-dest 10.0.0.85
上述是在linux上做的DNAT,将内部的10.0.0.85上的HTTP服务发布给外部。外部来的访问先PREROUTING。
DNAT:iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.0.250.从eth0出去的访问原地址全转换成192.168.0.250.内部出去的后POSTROUTING
本文转自 369蓝宝 51CTO博客,原文链接:http://blog.51cto.com/3739387/1370874,如需转载请自行联系原作者