HCIA-ICT实战基础-网络地址转换

目录

NAT概述

静态NAT

动态NAT

NAPT、Easy-IP

NAT Server

扩展 NAT ALG

扩展 双向NAT

扩展 重叠NAT转换方式

1 NAT概述

技术背景: 互联网对ip地址的需求不断扩大, ipv4地址短缺

1.1NAT技术原理

NAT: 对ip数据报文中的ip地址进行转换, 是一种在现今网络上被广泛部署的技术, 一般部署在网络出口设备上, 例如路由器或防火墙上.

功能: 通过私有地址结合NAT技术, 可以有效节约公网IPv4地址.

2 静态NAT

2.1 概念

每个私有地址都有一个与之对应并且固定的公有地址, 即私有地址和公有地址之间的关系是一一对应.

支持双向互访: 私有地址访问Internet经过出口设备NAT转换时, 会被转换成对应的公有地址. 同时, 外部网络访问内部网络是, 其报文中携带的公用地址(目的地址)也会被NAT设备转换成对应的私有地址.

因为是内外网地址是一一对应的关系, 所以静态NAT并没有帮助解决ipv4地址短缺的问题, 只是单纯的做到了内外网互通.

2.2 静态NAT转换示例

2.3 静态NAT配置介绍

1.方式一: 接口视图下配置静态NAT

[Huawei-GE0/0/0] nat static global {global-address} inside {host-address}

global参数用于配置外部公有地址, inside参数用于配置内部私有地址

2.方式二: 系统视图下配置静态NAT

[Huawei] nat static global {global-address} inside{host-address}

配置命令相同, 视图为系统视图, 之后在具体的接口上开启静态NAT

[Huawei-GE0/0/0] nat static enable

在接口下使用nat static功能

3 动态NAT

3.1 概念

静态NAT严格将内外网地址一一对应, 这就导致即便内网主机长时间离线或者不发送数据时, 与之对应的公有地址也处于使用状态, 为了避免地址浪费, 动态NAT提出了地址池的概念: 所以可用的公有地址组成地址池.

当内部主机访问外部网络临时分配一个地址池中未使用的地址, 并将该地址标记为"In Use". 当该主机不再访问外部网络时回收分配的地址, 重新标记为"Not Use".

3.2 动态NAT转换示例

3.3 动态NAT配置介绍

1.创建地址池

[Huawei] nat address-group group-index start-address end-address

配置公有地址范围, 其中group-index为地址池编号, start-address、end-address分别为地址池起始地址、结束地址.

2.配置地址转换的ACL规则

[Huawei] acl number
[Huawei-acl-basic-number] rule permit source source-address source-wildcard

配置基础ACL, 匹配需要进行动态转换的源地址范围.

source-wildcard: 源地址的通配符

3.接口视图下配置带地址池的NAT Outbound(出接口)

[Huawei-GE0/0/0] nat outbound acl-number address-group group-index [no-pat]

接口下关联ACL与地址池进行动态地址转换, no-pat参数指定不进行端口转换.

4 NAPT、Easy-IP

4.1 NAPT原理

动态NAT选择地址池中的地址进行地址转换时不会转换端口号, 即No-PAT(No-Port Address Translation, 非端口地址转换), 但公有地址和私有地址依然为1:1的映射关系, 无法提高公有地址的利用率.

NAPT(Network Address and Port Translation), 网络地址端口转换): 从地址池中选择地址进行地址转换时不仅转换IP地址, 同时也会对端口号进行转换, 从而实现公有地址与私有地址的1:n映射, 可以有效提高公有地址利用率.

注: NAPT也可以大致理解为'PAT'

4.2 NAPT转换示例

4.3 NAPT配置示例

1.在AR1上配置NAPT让内网所有私有地址通过122.1.2.1访问公网

[AR1]nat address-group 1 122.1.2.1 122.1.2.1
[AR1]acl 2000
[AR1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255
[AR1-acl-basic-2000]quit
[AR1]int g0/0/1
[AR1-GE0/0/1]nat outbound 2000 address-group 1

注: 地址池(address-group)的地址不能包括该路由器出接口(outbound)的接口ip地址

查看NAPT地址池

[AR1]display nat address-group

4.4 Easy IP

Easy IP: 实现原理和NAPT相同, 同时转换IP地址、传输层端口, 区别在于Easy IP没有地址池概念, 使用接口地址作为NAT转换的公有地址.

Easy IP适用于不具备固定公网IP地址的场景: 如通过DHCP、PPPoE拨号获取地址的私有网络出口, 可以直接使用获取到的动态地址进行转换.

4.5 Easy IP配置示例

在AR1上配置Easy-IP让内网所有私有地址通过122.1.2.1访问公网

[AR1]acl 2001
[AR1-acl-basic-2001]rule 1 permit source 192.168.1.0 0.0.0.255
[AR1]quit
[AR1]int g0/0/0
[AR1-GE0/0/0]nat outbound 2001

查看nat会话

[AR1]display nat session all

注: 这个命令在eNSP上有点小问题, 有可能会卡很久, 如果很久都没显示出来可以试着通过ping之类的操作让Easy IP进行一次地址转换后再重试.

5 NAT Server

5.1 NAT Server使用场景

NAT Server: 指定[公有地址: 端口]与[私有地址: 端口]的一对一映射关系, 将内网服务器映射到公网, 当私有网络中的服务器需要对公网提供服务时使用.

外网主机主动访问[公有地址: 端口]实现对内网服务器的访问.

5.2 NAT Server转换示例

5.3 NAT Server配置示例

在AR1上配置NAT Server将内网服务器192.168.1.10的80端口映射到公有地址122.1.2.1的8080端口

[AR1]int g0/0/1
[AR1-GE0/0/1]ip address 122.1.2.1 24
[AR1-GE0/0/1]nat server protocol tcp global 122.1.2.1 www inside 192.168.1.1 80

知识拾遗: www为http服务, 端口号为80

6 扩展 NAT ALG

6.1 背景

NAT和NAPT只能对IP报文的头部地址和tcp/udp头部端口号进行转换, 无法涉及到应用层的信息转换, 对于一些特殊协议, 如FTP等, 其报文的数据部分可能包含IP地址信息或者端口信息, 这些内容不能被NAT有效转换.

ALG(Application Level Gateway, 应用层网关) 能对特定的应用层协议进行转换, 在对这些特定的应用层协议进行NAT转换过程中, 通过NAT的状态信息来改变封装在IP报文数据部分中的特定数据, 最终使应用层协议可以跨越不同范围运行.

  1. 例如, 一个使用内部IP地址的ftp服务器可能在和外部网络主机建立会话的过程中, 需要将自己的IP地址发送给对方, 而这个地址信息是放到IP报文的数据部分, NAT无法对它进行转换, 当外部网络主机接受了这个私有地址并使用它, 这是FTP服务器表现为不可达.
  2. 目前支持ALG功能的协议包括: DNS, FTP, SIP, PPTP和RTSP.

配置NAT ALG的方法也是非常简单的, 只要在配置NAT的时候使能(enable)ALG, 并指定支持的协议类型即可.

7 扩展 双向NAT

7.1 双向NAT

两次NAT(Twice NAT), 指源ip和目的ip同时转换, 该技术应用于内部网络主机地址与外部网络上主机地址重叠的情况, 行业内通常称该项技术为双向NAT.(可以理解为从原来只对源ip或目的ip中的一个进行转换, 变成对源ip和目的ip同时进行转换)

在内外网地址重叠的场景中, 内外网地址重叠的主机可以根据重叠地址池和临时地址池的映射关系, 将重叠地址替换为临时地址同时做NAT, 实现内外网的互访.

1. 重叠地址池用来指定内网哪些ip允许和外网重叠, **只有属于重叠地址池才会做两次NAT**.
2. 临时地址池制定了用哪些临时IP地址来替换重叠地址池里的地址.

7.2 双向NAT示意图

7.2.1 外网用户访问内部服务器

当外部网络中的用户访问内部服务器时, 使用该双向NAT功能同时转换该报文的源地址和目的地之, 可以避免在内部服务器上设置网关, 简化配置.

7.2.2 私网用户访问内部服务器

私网用户与内部服务器在同一安全区域同一网段时, 私网用户希望像外网用户一样, 通过公网地址来访问内部服务器的场景(比如进行一些测试).

8 扩展 重叠NAT转换方式

8.1 内网和内网重叠地址转换

当内网和内网的主机之间发生了IP地址重叠, 为了使内网主机和外网主机之间能正常通信, 需要对内网主机和外网主机之间的流量做重叠NAT. 根据访问主动方在内网还是外网分为两种场景:

  1. 内网主机主动访问外网主机的场景, 例如, 内部网络中有多个地址重叠的用户需要同时访问外部的某个服务器时, 配置VPN+动态NAT, 这种方式称为VPN关联的动态NAT.
  2. 外网主机主动访问内网主机的场景, 例如, 外部网络中的主机需要同时访问内网中多个地址重叠的服务器时, 配置VPN+静态NAT, 这种方式称为VPN关联的静态NAT.

8.1.1 VPN关联的动态NAT

VPN关联的动态NAT介绍了多个不同VPN内网中地址重叠的用户如何通过NAT技术访问外网Server, 组网如下图所示:

8.1.2 VPN关联的静态NAT

VPN关联的静态NAT介绍了外网主机如何通过NAT技术访问多个不同VPN内网中地址重叠的服务器, 组网如下图所示:

8.2 内网和外网重叠地址转换

当内部网络主机使用外网注册地址或者合法的外网地址访问外部网络时, 内网主机的IP地址和外网主机的IP地址肯会发生重叠, 此时, 可以通过两次NAT技术同时转换报文的源IP地址和目的IP地址, 来解决内网与外网地址重叠问题:

  1. 内网中只有一个地址和外网地址发生重叠场景. 例如, 某个内网用户使用合法外网地址访问外网中个某个地址相同的服务器时, 可以配置两次NAT.
  2. 内网中有多个地址和外网地址发生重叠的场景, 例如, 有朵儿内网用户使用相同的合法外网地址访问外网中某个地址相同的服务器时, 可以配置VPN关联的两次NAT.

8.2.1 两次NAT

某个内网用户使用合法的外网地址访问外网中某个地址相同的服务器时, 可以配置两次NAT.

8.2.2 VPN关联的两次NAT

有多个内网用户使用相同的合法外网地址访问外网中某个地址相同的服务器时, 可以配置VPN关联的两次NAT.

HCIA-ICT实战基础11-网络地址转换NAT&NAPT的更多相关文章

  1. 第11章 拾遗1:网络地址转换(NAT)和端口映射

    1. 网络地址转换(NAT) 1.1 NAT的应用场景 (1)应用场景:允许将私有IP地址映射到公网地址,以减缓IP地址空间的消耗 ①需要连接Internet,但主机没有公网IP地址 ②更换了一个新的 ...

  2. 网络地址转换-NAT

    网络地址转换-NAT 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.NAT组网和常用术语 私网:局域网内IP 公网:因特网的公网ip地址 NAT设备:就是讲私网地址转换为公网的 ...

  3. 2016.7.9 计算机网络复习要点第四章之虚拟专用网VPN和网络地址转换NAT

    1.虚拟专用网VPN (1)一个机构内,对于那些仅在本机构内部使用的计算机就可以由本季候自行分配其IP地址,让这些计算机使用仅在本机构有效的IP地址(本地地址),不需要申请全球唯一的IP地址(全球地址 ...

  4. Ubuntu搭建ssh连接(连接方式:桥接网卡、网络地址转换(NAT))

    操作系统:Ubuntu Server 16.04.2 SSH软件:Putty(远程连接工具,视本机操作系统选择对应版本的putty) --------------------------------- ...

  5. Windows Server 2012R2 网络地址转换NAT

    一.NAT概述 网络地址转换NAT(Network Address Translation)可以动态改变通过路由器的IP报文的内容(修改报文的源IP地址和/或目的IP地址).离开路由器的报文的源地址或 ...

  6. 【计算机网络】网络地址转换NAT

    网络地址转换NAT 要知道到每个IP使能的设备都需要一个IP地址.以一个家庭为例,假设当地的ISP已为该家庭分配过一块地址,但是后期家庭中的智能设备增加(智能手机.电脑等),这些都需要IP地址才可上网 ...

  7. 网络地址转换NAT与端口地址转换PAT

    网络地址转换NAT与端口地址转换PAT 一.网络地址转换 NAT (Network Address Translation) 1.1.网络地址转换简介 需要在专用网(内网)连接到因特网的路由器上安装 ...

  8. 网络地址转换NAT原理及其作用

    1 概述 1.1 简介 NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task F ...

  9. 网络地址转换NAT

    1. 网络地址转换:用于专用网内部的主机和因特网上的主机通信.在专用网连接到因特网 的路由器上需要安装NAT软件,装有NAT软件的路由器叫做NAT路由器,它至少要有 一个有效的全球IP地址.所有使用本 ...

  10. 网络地址转换NAT的两种模式(概念浅析)& IP溯源

    由于全球IPv4地址越来越少.越来越贵,因此大到一个组织,小到一个家庭一个人都很难获得公网IP地址,所以只能使用内网地址,从而和别人共享一个公网IP地址.在这种情况下,NAT技术诞生. 翻译 NAT( ...

随机推荐

  1. Fuxploider-20210104

    Usage: fuxploider.py [-h] [-d postData] [--proxy proxyUrl] [--proxy-creds [credentials]] [-f integer ...

  2. C# 查看变量的内存占用和分布

    在程序的调试过程中,有时候我们想知道变量在内存中的具体占用状况,这样方便我们调试程序,以便于追踪变量的变化过程 这就需要查看变量的内存占用. 1.如何进入内存查看? 2.如何查看变量? 查看变量,需要 ...

  3. 一、100ASK_IMX6ULL嵌入式裸板学习_LED实验(下)

    自己尝试通过C语言方式驱动LED:

  4. Python的入门学习Day 10——form”夜曲编程“

    Day 10 time:2021.8.7. 今天本来打算学习时发现手机应该拿去充电了,再上完J课程之后发现时间确实只留到了晚上呢 .但幸好,以我多天的敲代码的牢固根基(哈哈哈),我最终还是弥补回来了. ...

  5. vue3 自定义组件中使用 v-model

    1.直接绑定 v-model,但是 Props 要固定为 modelValue 组件D: 注意这里的 Props 和 Emits,必须使用 Vue 提供的 defineProps() 和 define ...

  6. win10 打开剪切板失败 拒绝访问 已解决!!

    问题 剪切板使用混乱,导致本地无法复制粘贴 解决办法 terminal运行echo off | clip

  7. 转载-GNSS缩写

    GNSS常用的缩略语汇总,可能不全,但会不断丰富,欢迎各位批评指正!! 1|01.大表格 缩略语 全称 中文 ADOP ambiguity dilution of precision 模糊度精度因子 ...

  8. centos8使用kubeadm搭建高可用k8s集群

    kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 这个工具能通过两条指令完成一个kubernetes集群的部署: # 创建一个 Master 节点 kubeadm ini ...

  9. MTK平台总结

    1. 通过cmdline参数不对printk打印速率进行限制:mt_boot.c kcmdline_append(" ignore_loglevel=1 printk.devkmsg=on ...

  10. MySQL时区的问题

    我这里是在application.properties文件中配置的MySQL连接信息. 开始时间显示不征程是因为没有配置时区,后来加上了setTimeZone=Asia/Shanghai,时间显示正常 ...