hcia datacom学习(8):静态NAT、动态NAT、NAPT、Easy IP、NAT server

1.私网地址

在现实环境中,企业、家庭使用的网络是私网地址(内网),运营商维护的网络则是公网地址(外网)。私网地址是在局域网(LAN)内使用的,因此无法被路由,不能直接用于互联网通信。但利用网络地址转换(NAT),可以让这些私网地址进行互联网通信。

*私有IP地址分为以下几个范围:

10.0.0.0 - 10.255.255.255 (10.0.0.0/8)
172.16.0.0 - 172.31.255.255 (172.16.0.0/12)
192.168.0.0 - 192.168.255.255 (192.168.0.0/16)

私网地址可以被任何组织或个人在其内部网络中自由使用,无需向全球互联网注册机构申请。

家里的路由器往往集成了NAT、DHCP、缺省路由(直接向wan口传送数据包)

2. NAT种类

NAT的原理就是把内网ip映射为公网ip(更改发送的ip数据包中的源ip,更改接受的ip数据包的目的ip),只是不同种类的NAT映射方式不一样

2.1静态NAT

一对一映射,一个公网ip对应一个私网ip。用于一些需要对外映射的服务器,并没有起到节省公网ip的作用

配置代码:

nat static enable
#开启nat静态功能。需要先进入接口,才能敲入此命令
nat static global 公网地址 inside 私网地址
#公网地址、私网地址一一映射
display nat static
#显示静态nat设置

2.2动态NAT

使用公有地址池,以先到先得的原则分配公网地址。

当内网主机请求访问公网时,动态 NAT 会从地址池中选择一个未被占用的公网 IP 地址一对一转化。直到会话结束,NAT才会把公网ip释放回地址池中。

*路由器中设置动态NAT的步骤如下

(1)创建动态地址池:

nat address-group 编号 公网ip地址范围
#创建一个公网ip地址池
#编号一般是1到7任选一个

display nat address-group
#显示当前路由器内的公网地址池

(2)创建ACL

*什么是ACL

ACL是访问控制列表,通过设置规则来限制哪些报文可以通过,哪些报文则被禁止通过。

在动态NAT中,ACL则是用来限制哪些内网ip可以使用公网池进行映射的

在路由器界面输入acl ?后,可以看到下图所示的提示界面

其中2000-2999是基础acl标号,动态NAT使用基础acl标号即可。

动态NAT中acl的设置命令如下:

acl 2000
#设置一个编号为2000的acl
rule permit source 192.168.20.0 0.0.0.255
#设置192.168.20.0可以被映射。0.0.0.255代表前24位相同,后8位0到255的匹配范围,刚好与掩码相反
#如果只输入rule permit,代表所有内网ip都被允许映射 

(3)关联acl与动态NAT池

进入公网端口下,输入下述命令

nat outbound 2000 address-group 1 no-pat
#2000是acl编号,1是动态NAT池的编号

dis nat outbound
#查看当前端口动态NAT池与acl的绑定表

(4)实例

关于AR1的端口ip设置就略过了,下面给出路由和NAT设置(AR2不需要额外设置)

AR1:

ip route-s 0.0.0.0 0 5.0.0.254
#配置一条静态路由

nat address-group 1 5.0.0.50 5.0.0.60        
acl 2000                                                                       
 rule permit source 192.168.0.0 0.0.0.255
int g0/0/1
 nat outbound 2000 address-group 1 no-pat    

我一开始实验用的路由器是AR1220,结果是静态NAT能通,动态NAT不通,换成AR2220后,动态NAT就通了,也不知道为什么

2.3 NAPT(PAT)

同时对ip与端口号进行转换(不同的内网ip可以对应同一个公网ip,只是端口号不一样),实现公网ip与私网ip的1比N映射

NAPT普遍应用于接入设备中,它可以将中小型的网络隐藏在一个公网IP后面。

*NAPT的设置与动态NAT的设置步骤基本相同,只需要去掉最后绑定acl命令中的no-pat

再次以之前的实例为样本设置NAPT:

关于AR1的端口ip设置就略过了,下面给出路由和NAT设置(AR2不需要额外设置)

AR1:

ip route-s 0.0.0.0 0 5.0.0.254
#配置一条静态路由

nat address-group 1 5.0.0.50 5.0.0.60        
acl 2000                                                                       
 rule permit source 192.168.0.0 0.0.0.255
int g0/0/1
 nat outbound 2000 address-group 1  

2.4 Easy IP

Easy IP 可以算是NAPT的一种特例,可以自动根据路由器上WAN 接口的公网IP 地址实现与私网IP 地址之间的映射(无需创建公网地址池)。
Easy IP 主要应用于将路由器WAN 接口IP 地址作为要被映射的公网IP 地址的情形,特别适合小型局域网接入公网的情况。

*Easy IP由于不需要动态池,所以步骤更简单,只需要设置acl即可,其公网口是哪个,acl就自动与公网口绑定,甚至插拔更换公网口,路由器也会再自动匹配,这也是家用路由器使用Easy IP的原因。

再以上示图例为例

关于AR1的端口ip设置就略过了,下面给出路由和NAT设置(AR2不需要额外设置)

AR1:

ip route-s 0.0.0.0 0 5.0.0.254
#配置一条静态路由
      
acl 2000                                                                       
 rule permit source 192.168.0.0 0.0.0.255
int g0/0/1
 nat outbound 2000 

2.5 NAT server(端口映射)

将内网中的某个服务的内网ip与端口映射为一对固定的公网ip与端口,优先级比NAPT更高

*配置方式以下图为例:

关于AR4的端口ip设置就略过了,下面给出路由和NAT设置(AR5不需要额外设置)

AR4:

ip route-s 0.0.0.0 0 5.0.0.1
#配置一条静态路由

int g0/0/1
进入公网口
nat server protocol tcp global 5.0.0.150 8080 inside 192.168.20.50 80
#将内网中ip为192.168.20.50的端口为80的服务,映射为公网ip为5.0.0.150同时端口为8080的服务
#tcp是http使用的应用层协议,在需要的情况下也可以填udp、icmp

完成配置后,在客户端的http部分输入服务器http服务映射出的公网ip,同时使用冒号加上新映射的端口8080,可以看到能够访问服务器的http服务

NAT server还可以像Easy IP那样直接使用wan口ip进行映射,设置方法如下:

nat server protocol tcp global current-interface 8080 inside 192.168.20.50 80
#将内网中ip为192.168.20.50的端口为80的服务,映射为wan口ip同时端口为8080的服务

*2.6覆盖wan口ip的报错

出现上图错误是因为NAT设置的公网ip与wan口ip冲突了。以下是出现该错误的几种情况:

(1)动态NAT或NAPT的动态NAT池内包含了wan口ip

(2)NAT server映射的公网ip设置成了wan口ip(没有使用current-interface参数,直接输入wan口ip)

  • 24
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值