NAT(Network Address Translation,网络地址转换)
- 简介:网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
- 公有ip和私有ip间互换
- NAT的作用是把内网的私有地址,转化成外网的公有地址。使得内部网络上的(被设置为私有IP地址的)主机可以访问Internet。
- 内部本地、全局
外部本地、全局
私有 公有
在边界路由器上,流量从内部去往外部时,将数据包中的源ip地址进行修改(内部本地修改为内部全局);流量从外部进入内部时,修改目标ip地址(外部全局修改为外部本地)
配置
- 一对一:(静态)
第一步,设置外部端口(外网)
r2(config)#interface f1/ 0
r2(config)#ip nat outside
第二步,设置内部端口(内网)
r2(config)#interface f0/1-1
r2(config)#ip nat inside
第三步,在内部本地与外部合法地址之间建立静态地址转换。
ip nat inside source static 内部本地地址内部合法地址。
r2(config)#ip nat inside source static 192.168.1.2 12.1.1.2
本地 全局
- 一对多(动态)PAT --端口地址转换
将多个私有ip地址转换为同一公有ip地址,依赖数据包中的端口号来进行区分;
先使用ACL定义感兴趣流量----哪些私有ip地址被转换
r2(config)#access-list 1 permit 192.168.1.0 0.0.0.255
r2(config)#access-list 1 permit 192.168.2.0 0.0.0.255
r2(config)#ip nat inside source list 1 interface fastEthernet 1/0 overload
本地 全局 负载
- 动态地址转换的实现
第一步,设置外部端口。
r2(config)#interface f1/ 0
r2(config)#ip nat outside
第二步,设置内部端口
r2(config)#interface f0/1-1
r2(config)#ip nat inside
第三步,定义合法IP地址池
r2(config)#ip nat pool 地址池名称起始IP地址 终止IP地址子网掩码
第四步,定义内部网络中允许访问Internet的访问列表。
r2(config)#access-list 标号 permit 源地址通配符(其中,标号为1~99之间的整数)
第五步,实现网络地址转换。
r2(config)#ip nat inside source list 访问列表标号 pool 内部合法地址池名字
- 多对多:(静态或动态)
r2(config)#access-list 2 permit 192.168.0.0 0.0.255.255 定义内部本地地址范围
r2(config)#ip nat pool xxx 12.1.1.2 12.1.1.10 netmask 255.255.255.0 定义内部全局地址范围
r2(config)#ip nat inside source list 2 pool xxx overload 配置多对多NAT
在配置多对多NAT时,是否携带overload将决定为静态或动态多对多;
不携带—静态多对多 最先来的边界路由器上的9个私有ip地址与这9个公有ip地址形成一对一;
携带----动态多对多 循环占用每个公有ip地址进行PAT;
- 是解决IP地址数量紧缺。当大量的内部主机只能使用少量的合法的外部地址,就可以使用NAT把内部地址转化成外部地址。
- NAT还可以防止外部主机攻击内部主机(或服务器)。
端口映射
- 端口映射是NAT的一种,功能是把在公网的地址转翻译成私有地址, 采用路由方式的ADSL宽带路由器拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网。
- 端口映射又叫端口转发,又叫虚拟服务器,各个品牌路由器不同,叫法不一样。但操作是一样的。
- 端口映射过程就如同:你家在一个小区里B栋2410室,你朋友来找你,找到小区门口,不知道你住哪层哪号?就问守门的保安,保安很客气的告诉了他你家详细门牌,所以你朋友很轻松的找到了你家。这个过程就是外网访问内网通过端口映射的形象比喻.
- 内网的一台电脑要上因特网对外开放服务或接收数据,都需要端口映射。
- 端口映射分为动态和静态.
-
- 动态端口映射:内网中的一台电脑要访问新浪网,会向NAT网关发送数据包,包头中包括对方(就是新浪网)IP、端口和本机IP、端口,NAT网关会把本机IP、端口替换成自己的公网IP、一个未使用的端口,并且会记下这个映射关系,为以后转发数据包使用。然后再把数据发给新浪网,新浪网收到数据后做出反应,发送数据到NAT网关的那个未使用的端口,然后NAT网关将数据转发给内网中的那台电脑,实现内网和公网的通讯.当连接关闭时,NAT网关会释放分配给这条连接的端口,以便以后的连接可以继续使用。
动态端口映射其实也就是NAT网关的工作方式。
- 动态端口映射:内网中的一台电脑要访问新浪网,会向NAT网关发送数据包,包头中包括对方(就是新浪网)IP、端口和本机IP、端口,NAT网关会把本机IP、端口替换成自己的公网IP、一个未使用的端口,并且会记下这个映射关系,为以后转发数据包使用。然后再把数据发给新浪网,新浪网收到数据后做出反应,发送数据到NAT网关的那个未使用的端口,然后NAT网关将数据转发给内网中的那台电脑,实现内网和公网的通讯.当连接关闭时,NAT网关会释放分配给这条连接的端口,以便以后的连接可以继续使用。
-
- 静态端口映射: 就是在NAT网关上开放一个固定的端口,然后设定此端口收到的数据要转发给内网哪个IP和端口,不管有没有连接,这个映射关系都会一直存在。就可以让公网主动访问内网的一个电脑。
配置
r2(config)#ip nat inside source static tcp 192.168.1.100 80 12.1.1.2 80
本地 全局
通过外部访问12.1.1.2,同时目标端口为80时,目标ip地址就一定被转换为192.168.1.100,端口号80;
r2(config)#ip nat inside source static tcp 192.168.1.200 80 12.1.1.2 8080
通过外部访问12.1.1.2同时目标端口为8080时,目标ip地址就一定被转换为192.168.1.200,端口号80;
切记:一旦进行nat配置,就必须定义边界路由器上各个接口的方向