[网络]nat网络地址转换

一、介绍NAT

1、NAT的定义

        NAT(Network Address Translation),是指网络地址转换,1994年提出的。NAT是用于在本地网络中使用私有地址,在连接互联网时转而使用全局 IP 地址的技术。NAT实际上是为解决IPv4地址短缺而开发的技术。 NAT旨在通过将一个外部 IP 地址和端口映射到更大的内部 IP 地址集来转换 IP 地址。 基本上,NAT 使用流量表将流量从一个外部(主机)IP 地址和端口号路由到与网络上的终结点关联的正确内部 IP 地址。

2、NAT的工作原理

        有了 NAT,当 "内部 "网络通过路由器发送数据包时,私有(保留)地址就会被转换成合法的 IP 地址,这样局域网就可以为私有地址网络上的所有计算机使用少量 IP 地址(甚至一个)与互联网通信。

        NAT 会自动修改 IP 报文的源 IP 地址和目标 IP 地址,并在 NAT 过程中自动执行 IP 地址校验。由于某些应用程序会在 IP 报文的数据部分嵌入源 IP 地址,因此必须同时修改报文的数据部分,以与 IP 报文头中修改的源 IP 地址相匹配。否则,在报文数据部分嵌入 IP 地址的应用程序将无法正常工作。

3、NAT功能

        NAT不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。

        1.宽带分享:这是 NAT 主机的最大功能。

        2.安全保护:当 NAT 中的个人电脑连接互联网时,显示的 IP 是 NAT 主机的公共 IP,因此客户端的个人电脑具有一定的安全性,即使执行端口扫描也不会被外部检测到。

二、NAT的分类

2.1静态nat

        将内部网络中的每个主机都永久映射成外部网络中的某个合法的地址,多用于服务器。

2.2动态nat

        在外部网络中定义了一个或多个合法地址,采用动态分配的方法映射到内部网络。

2.3PAT

        PAT端口多路复用,又称为NAPT(Network Address Port Translation),它实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址。PAT的基本原理是将不同私网地址的报文的源IP地址转换为同一公网地址,但他们被转换为该地址的不同端口号,因而仍然能够共享同一地址。

PAT有以下作用:

  • 改变数据包的IP地址和端口号;

  • 能够大量节约公网IP地址。

2.3.1NAPT

        网络地址端口转换(NAPT)将多个内部地址映射到一个合法的公共地址上,但不同的协议端口号对应不同的内部地址,即去回转换。接入设备通常使用 NAPT 将中小型网络隐藏在合法 IP 地址后面。NAPT 也被称为 "多对一 "NAT 或端口地址转换 (PAT)、地址超载。NAPT 与动态地址 NAT 的不同之处在于,它将内部连接映射到外部网络的单个 IP 地址以及 NAT 设备选择的 TCP 端口号。 NAPT 是一种较常见的 NAT 变体,它不仅能翻译地址,还能翻译 TCP 或 UDP 协议端口号以及地址,从而提供并发性。NAPT 的主要优点是可以使用全球有效的 IP 地址实现通用性。NAPT 的主要缺点是其通信仅限于 TCP 或 UDP。 如果所有通信都使用 TCP 或 UDP,则 NAPT 允许一台内部计算机访问多台外部计算机,也允许多台内部主机访问同一台外部计算机,而不会相互冲突。

2.3.2Easy_IP

        1.使用列表匹配私网的ip地址

        2.将所有的私网地址映射成路由器当前接口的公网地址

2.3.3Net Server

        端口映射,将私网地址端口映射到公网地址,实现内网服务器供外网用户访问。

三、实验

静态nat

R1
u t m
sys
int g0/0/0
ip add 192.168.1.1254 24
int g0/0/1
ip add 200.1.1.1 24 //设置ip地址
nat static enable //重启
nat static global 200.1.1.100 inside 192.168.1.1  //将私网地址与公网地址一一映射
R2
int g0/0/0
ip add 200.1.1.2 24

动态nat 

配置完ip地址 ,进入内网路由器进行配置

u t m
sys
nat address-group 1 200.1.1.10 200.1.1.15 //建立公网地址池
acl number 2000  
rule 5 permit source 192.168.1.0 0.0.0.255 //创建一个acl指令
int g0/0/0
nat outbound 2000 address-group 1 no-pat //进入端口g1,允许私网网段任意地址通过此接口

2.2 端口映射

R1
u t m
sys
int g0/0/1
ip add 200.1.1.2 24
int g0/0/0
ip add 192.168.1.254 24
nat server protocol tcp global current-interface www inside 192.168.1.100 www //完成端口映射
nat static enable //重启服务
q
ip route-static 0.0.0.0 0 200.1.1.1 //设置默认路由
R2
u t m
sys
int g0/0/0
ip add 202.1.1.2 24
int g0/0/1
ip add 200.1.1.2 24

 

 

 成功

2.3Easy_IP 

1.使用列表匹配私网的ip地址

2.将所有的私网地址映射成路由器当前接口的公网地址

实验

u t m
sys
acl 2000
rule permit source 192.168.1.0 0.0.0.255 //制定规则允许192.168.1.0网段通过
nat outbound 2000 //在端口g1上添加此规则

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值