NAT

  • 1 NAT概述
    • 1.1 IP地址概述
    • 1.2NAT概述
  • 2 NAT分类
    • 2.1 静态NAT
    • 2.2 动态NAT
    • 2.3 PAT
    • 2.4 静态PAT
  • 3 NAT命令
    • 3.1 定义内外网接口
    • 3.2 配置PAT
    • 3.3 配置静态端口转换
  • 4 路由器工作原理归纳完善
  • 5 总结

1 NAT概述

1.1 IP地址概述

  1. ipv4地址使用现状:现在已严重不够用。仅ABC类可以用,D类是组播,E类是科研。
  2. IP地址分为公网IP和私网IP。
    • 公网IP仅能在公网上使用。
    • 私网IP仅能在私网上使用,私有IP可以在不同的内网内重复使用。
    • 为避免重复出现的私有IP冲突,公网上不允许出现私有IP地址。
  3. 私有IP地址范围,从原有ABC类中各抽出一部分作为私有IP地址。
    1. 10.0.0.0/8(10开头的),如10.1.1.1、10.10.1.254。
    2. 172.16.0.0/16~172.31.0.0/16(172.16开头的一直到172.31开头的),如172.31.100.200。
    3. 192.168.0.0/16(192.168开头的),如192.168.100.100。
  4. 公有IP地址,ABC类中除了私有IP地址以外的IP地址。
  5. 静/态公有IP地址:在运营商处购买的IP地址有静动态之分,对于需要搭配服务器供公网用户访问的公司,需要购买静态公用IP地址,因为动态IP地址刷新后会影响别人用ip地址对服务器的访问。

1.2NAT概述

  1. NAT定义:Network Address Translations 网络地址转换。
  2. 作用:NAT技术主要实现公私有IP地址转换。(解决ipv4地址不够用带来的麻烦)
  3. 简介:主机在内网使用的是私有IP地址,IP包头封装时使用的是私有地址,那该数据帧怎么走出外网的呢?答案是在数据帧走到路由器上准备由内网发往外网时,将私有IP地址替换为公有IP地址再封装。
  4. 配置位置:一般是在路由器或者防火墙上配置,不建议在三层交换机上配置。

2 NAT分类

2.1 静态NAT

  1. 在路由器接口上手动配置NAT地址转换表,一个私有IP对应一个公有IP地址。
  2. 缺点:公司够买了多少个公有IP地址,内网就有多少个主机能上网,一一对应。

2.2 动态NAT

  1. 路由器上配置一个私有地址池(公司内部所有主机用到的私有IP)动态映射一个公有地址池(所购买的公有IP),当有一个内网主机访问外网时,将该内网IP从内网地址池中取出,同时取出公网地址池中的一个IP地址,动态形成NAT地址转换表。默认当该主机24小时没有联系外网时,该动态NAT条目会自动消息,所被取出的公私有地址重新回到地址池中。
  2. 优点:相比于静态,不用手动修改NAT地址转换表。
  3. 缺点:公有IP有多少个,就能允许多少个内网主机上网,用完即止。

2.3 PAT

  1. 定义:Port Address Translations,端口地址转换,也称为端口复用技术。
  2. 在动态NAT基础上,增加overload复用技术。
  3. 工作流程:
    1. 公司内网主机私有IP地址为IPA,公有IP地址为IPB,想要访问百度服务器公有地址IPC,内网主机访问百度网页时,生成源端口号5000,目标端口号为80,主机将信息封装成数据帧发送到路由器。
    2. 数据帧到达路由器后,路由器解封装数据帧后,将其源IP与内部地址池进行匹配,命中后先动态生成NAT地址转换表。从内部地址池中将该IP地址复制到NAT转换表中、从外部地址池中将IP地址复制到NAT转换表中、从数据帧中复制源端口号到NAT转换表中、并由路由器动态生成一个端口号(一般从1开始,不可重复,当原条目消失后才能再次使用),所形成的NAT地址转换表如步骤7。
    3. 路由器替换掉数据包源IP和源端口号,封装后再将数据发送到外网。
    4. 路由器收到百度服务器回包时,路由器解封装数据帧,并检查NAT转换表,发现数据包中的目标IP是IPB、目标端口号是1,匹配表中条目。
    5. 路由器将数据包中目标地址和目标端口号替换掉,封装后再发给内网主机。
    6. 当内网有其他主机访问外网时,重复上述过程,依靠路由器自己动态生成的端口号区别各个条目。
    7. 上述工作过程在步骤2生成NAT地址转换表如下。
私有IP 公有IP 源端口号 动态端口
IPA IPB 5000 1
IPX IPB 8080 2
  1. 动态生成NAT地址转换表只能是在数据帧由路由器发至外网的过程中生成,数据帧从外网发到内网只能使用该表。
  2. 端口号范围:0~65535
  3. 弊端:每一个主机每一个进程都有可能占用一个端口号,每一个主机正常使用是估计约要占用50个端口号,也就是公司一个公用IP大概能供1000个人使用,对于规模更大的公司,需要多购买公用IP地址。

2.4 静态PAT

  1. 静态PAT也称为端口映射。
  2. 意义:从数据帧流向上看,动态PAT技术解决了多个内网主机访问外网服务器的问题;静态PAT解决了外网主机访问内网服务器的问题。
  3. 对于公司而言,不建议将提供员工上网使用的公网IP地址与服务建立静态映射,建议另外购买一个公用IP地址,提供给各个服务器使用。如果同时有两个WEB服务,且不想改端口号,则需要继续新购买公用IP地址。
  4. 虚拟公网IP地址,即VIP地址。一般是购买企业级带宽的公用IP,运营商会赠送一部分VI,用于公司映射服务器使用。
  5. 假设公司路由器外网接口配置的IP地址是100.1.1.1,另外购买的10.1.1.2地址是用于映射内网服务器给外网用户使用的,此时,无需在路由器接口上另外配置该IP地址,仅需在NAT地址转行表中添加该条目即可,运营商路由器自然会将公司所在网段100.1.1.0所有的数据帧均发送至100.1.1.1接口上,再根据NAT地址转换表发至内网设备上。

3 NAT命令

3.1 定义内外网接口

根据路由器上接口的方向进行定义,假设路由器上f0/0接口连接的是内网,f0/1接口连接的是外网。

en
conf t
int f0/0
ip nat inside
exit
int f0/1
ip nat outside
exit

3.2 配置PAT

定义内部地址池

conf t#定义内部地址池
#ACL表应用于路由器接口上时进行数据包过滤,应用于其他位置只是匹配条件是否满足
acc 1 permit 192.168.0.0 0.0.255.255    #网段与反子网掩码配合用于匹配私有IP地址是否属于该池#做PAT动态映射:
#inside source 表示来自内网的数据包的源IP地址
#list1表示匹配上述的acc1表
#建立“满足acc1表的内网IP地址”与“f0/1接口的IP地址”的动态NAT表,进行地址转换,并启用overload技术。
ip nat inside source lint 1 int f0/1 overload#查看动态NAT地址转换表
show ip nat translations

3.3 配置静态端口转换

假设公司路由器外网接口配置的IP地址是100.1.1.1,另外购买的10.1.1.2地址是用于映射内网服务器给外网用户使用的,此时,无需在路由器接口上另外配置该IP地址,仅需在NAT地址转行表中添加该条目即可,运营商路由器自然会将公司所在网段100.1.1.0所有的数据帧均发送至100.1.1.1接口上,再根据NAT地址转换表发至内网设备上。

conf t
ip nat inside source static 192.168.1.3 100.1.1.2           #将192.168.1.3整个服务器映射出去
ip nat inside source static tcp 192.168.1.3 80 100.1.1.2 80 #只映射TCP80端口号

4 路由器工作原理归纳完善

  1. 对由内到内/外的数据帧:

    1. 路由器内网接口收到数据帧,
    2. 解封装查看是否目标AMC地址是自己,否则丢弃,
    3. 查看是否有ACL表对数据过滤,
    4. 匹配路由表将数据包路由至目标接口,
    5. 查看是否有ACL表对数据过滤,
    6. 如果是路由到外网接口则需要查看NAT表是否地址转换,(NAT和ACL哪个先?个人理解应该是NAT更接近外侧,即先ACL再NAT,暂未验证。)
    7. 封装后发出到下一跳。
  2. 对由外到内的数据帧:
    1. 路由器外网接口收到数据帧,
    2. 解封装查看是否目标AMC地址是自己,否则丢弃,
    3. 查看NAT表是否地址转换,(NAT和ACL哪个先?个人理解应该是NAT更接近外侧,即先NAT再ACL,暂未验证。)
    4. 查看是否有ACL表对数据过滤,
    5. 匹配路由表将数据包路由至目标接口,
    6. 查看是否有ACL表对数据过滤,
    7. 封装后发出到下一跳。

5 总结

  1. 了解IP地址的分类、私有地址有哪些。
  2. 了解NAT技术应用的背景
  3. 了解NAT技术的分类,掌握各自的原理。
  4. 熟悉相关命令。
  5. 深度理解路由器的工作原理。

第22节 NAT——实现公私有IP地址转换相关推荐

  1. 计算机网络 王道考研2021 第四章:网络层 -- lPv4地址、私有IP地址、网络地址转换 (NAT)、WAN / LAN

    文章目录 1. lPv4地址 1.1 IP地址 1.2 IP编址的历史阶段 1.3 分类的IP地址 1.4 互联网中的IP地址 1.5 特殊lP地址:不能作为主机或者路由器的具体接口标识 1.6 私有 ...

  2. NAT基本原理与私有IP

    公有IP地址: 也叫全局地址,是指合法的IP地址,它是由NIC(⽹络信息中⼼)或者ISP(⽹络服务提供商)分配的地址,对外代表⼀个或多个内部局部地址,是全球统⼀的可寻 址的地址. 私有IP地址: 也叫 ...

  3. 王道考研 计算机网络18 私有IP地址 网络地址转发NAT 路由器 路由表 路由转发

    私有IP地址 路由器对目的地址是私有IP地址的数据报一律不进行转发 网络地址转换NAT NAT路由器 网络层设备–路由器 输入端口对线路上收到大的分组的处理: 输出端口将交换结构传送来的分组发送到线路 ...

  4. 【计算机网络】网络层 : NAT 网络地址转换 ( 私有 IP 地址不被路由器转发 | NAT 转换表 )

    文章目录 一.路由器不转发私有 IP 地址 二.NAT 网络地址转换 三.NAT 转换表 一.路由器不转发私有 IP 地址 私有 IP 地址 : 只适用于在内部网络中使用 , 在互联网上使用私有 IP ...

  5. 公共IP地址、私有IP地址、NAT技术

    1.公共IP地址和私有IP地址的区别? 在 Internet 上存在数量有限的 IP 地址,这些能在Intenet上使用的地址被称为公共IP地址,且IP地址必须是唯一的 但是私有IP地址就是例外,这些 ...

  6. 【计算机网络】网络层 : IPv4 地址 ( IP 地址分类 | 特殊 IP 地址 | 私有 IP 地址 | A 类、B 类、C 类 IP 地址网络号主机号数量 )★

    文章目录 一.IP 地址 发展 二.分类 IP 地址 三.特殊 IP 地址 四.私有 IP 地址 五.分类 IP 地址 网络号 主机数 详情 一.IP 地址 发展 IP 地址 发展 : 第一阶段 : ...

  7. NAT技术配置(内外网IP地址转换)

    NAT技术配置(内外网IP地址转换) 一. 什么是NAT?     NAT是将IP数据报文头中的IP地址转换成另一个IP地址的过程,主要用于实现内部地址(私有IP地址)访问外部地址(公有IP地址)的功 ...

  8. NAT技术如何解决IP地址不足的问题

    IP地址是4字节的,所以一共有2的32个次方个左右,即43亿左右,而每个主机都需要一个IP地址,难道43亿主机都能接入网络吗?并不是的! 实际上,由于一些特殊的IP地址的存在,数量远不足43亿,另外I ...

  9. 局域网私有IP地址上外网的原理

    局域网私有IP地址上外网的原理 IP地址分为两部分,网络号和主机号,这种分法应用在私有和公有IP地址上.一个局域网中,为了该局域网的安全,我们应用了私有IP地址,为了和Internet中的其他主机进行 ...

最新文章

  1. jenkins关闭,重启几种方式
  2. centOS 7 yum安装MySQL5.6
  3. Angular基础(五) 内建指令和表单
  4. swiper怎么在HTML引入JS文件,Swiper.js插件超简单实现轮播图
  5. 一句命令行检查cpu个数
  6. option columns.render 渲染列(1) 添加checkbox
  7. linux字符驱动向vxworks移植,VxWorks驱动移植至SylixOS总结
  8. LeetCode 701 二叉搜索树中的插入操作
  9. python--List extend()方法
  10. [TCP/IP] 传输层-ethereal 抓包分析TCP包
  11. linux中nginx的nginx.config文件的配置和启动(包括重启)
  12. Map集合Key 按照ASCII码从小到大(字典序)排序
  13. Java 定时任务JOB
  14. inoreader阅读器使用
  15. 字节跳动移动架构师学习笔记,Android篇
  16. java joda datetime_Joda Time项目和java8时间api
  17. 6.3.1广度优先搜索
  18. Doevents函数详解
  19. 【Unity开发】随手记:点击屏幕选中物体
  20. Android80go平台的桌面布局(带gms)

热门文章

  1. 计算机参数含义,硬盘的各项基本参数含义解析
  2. Scala编程学习之三-运算符篇
  3. [电影]推荐《启示》--完美的玛雅文化背景
  4. 实用Python程序设计测验:数字统计
  5. 面试必问题:缓存击穿、缓存穿透、缓存雪崩,你还傻傻分不清
  6. 如何攥写一篇合格的开题报告
  7. 智能卡 PSAM 卡片文件结构
  8. ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
  9. 仿微信朋友圈拍照上传
  10. 如何高效管理自己的电脑?文件再多也不乱!