首页 > 其他分享 >NAT(网络地址转换协议)

NAT(网络地址转换协议)

时间:2024-04-01 19:29:58浏览次数:21  
标签:转换 R1 IP IP地址 地址 网络地址 NAT 公网

NAT工作原理和功能

原理:

通过地址转换实现私有网络和公有网络之间的相互访问。其工作过程如下图所示,当数据包从内网发往外网时,NAT会将数据包的源IP由私网地址转换成公网地址;当响应的数据包要从公网返回到内网时,NAT会将数据包的目的IP由公网地址转换成私网地址。

功能:
1.宽带分享:这是NAT主机的最大功能。
2.安全防护:NAT之内的PC联机到Internet上面时,他所显示的IP是NAT主机的公网IP,所以Client端的PC就具有一定程度的安全了,外界在进行 portscan(端口扫描)的时候,就侦测不到源Client端的PC 。
不仅能解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的入侵,隐藏并保护网络内部的计算机。

NAT的实现方法

一、静态NAT

静态NAT实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网地址。静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用。
内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址;外部网络向内部网络发送响应报文时,静态NAT将报文的目的地址替换为相应的私网地址。

静态NAT的配置方法:

实验拓扑图如下:

 server1配置如下:

PC1配置如下:

PC2的配置如下:

方法一:全局模式下设置静态NAT

[R1]nat static global 8.8.8.8 inside 192.168.10.10
[R1]int g0/0/1                                                        ###外网口
[R1-GigabitEthernet0/0/1]nat static enable         ###在网口上启动nat static enable 功能

 ​​​

R1配置如下:

[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.10.1 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 12.0.0.1 24
[R1-GigabitEthernet0/0/1]q

[R1]nat static global 8.8.8.8 inside 192.168.10.10      //指定一个公网地址并映射到内网地址192.168.10.10上

此时对g0/0/0进行抓包,如图所示,原IP地址依旧是192.168.10.10,目的IP地址依旧为12.0.0.12;

对g0/0/1进行抓包,如图所示,原IP地址由私网IP地址192.168.10.10变为了公网地址8.8.8.8

方法二:直接在接口上声明nat static

[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]nat static global 9.9.9.9 inside 192.168.10.20
[R1-GigabitEthernet0/0/1]

对R1配置结果如下:

此时对内网进行抓包,原IP地址和目的IP地址都没有变;再对外网进行抓包,此时原IP地址变为公网IP地址9.9.9.9,目的IP地址为12.0.0.12

二、动态NAT

原理:

私网IP和公网IP是一对一的关系,需要先自定义一个公网IP地址池,私网IP在地址转换时会轮询地址池中的每个公网IP。

ACL访问控制表介绍

作用:过滤经过接口的数据包,根据规则要么允许/放通 数据包,要么拒绝/丢弃 数据包ACL的工作原则:可以在一个路由器接口的一个方向配置一个ACL;一个ACL可以配置多条规则;
规则匹配时是从上往下依次匹配,匹配到即停止,华为设备默认的规则为放通所有数据包。

例如:
规则一:放通  源地址为 192.168.10.0/24  网段的地址
规则二:拒绝  目的地址为 12.0.0.0/24  网段的地址
规则三:拒绝  源地址为 10.0.0.0/8 网段的地址
默认放通所有

华为ACL的类型:
基本ACL(ID范围为2000~2999):只匹配源IP
高级ACL(ID范围为3000~3999):可以根据 协议类型 源IP 目的IP 源端口 目的端口 匹配
二层ACL(ID范围为4000~4999):可以根据 源MAC 目的MAC 二层协议

相关命令配置操作:

[R1]acl 2000    //创建一个基本ACL

[R1-acl-basic-2000]rule permit source 192.168.10.10 0   //允许放通192.168.10.10这台主机,最后一个0为反掩码。

[R1-acl-basic-2000]rule deny source 192.168.10.0 0.0.0.255 //拒绝所有来自192.168.10.0这个网段发来的数据,0.0.0.255为反掩码。

结果如下:

将ACL定义在接口上:

[R1]int g0/0/0

[R1-GigabitEthernet0/0/0]traffic-filter inbound acl 2000  //将ACL2000定义在g0/0/0入口上(inbound表示入口,outbound表示出口)

此时PC1能够ping通服务器,PC2ping不通服务器,因为ACL设定允许192.168.10.10通过,而192.168.10.0网段上的其他主机信息全部丢弃。

PAT端口多路复用

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

PAT有以下作用:
1.改变数据包的ip地址和端口号;
2.能够大量节约公网IP地址。

PAT的类型有以下:
1.动态PAT:包括NAPT和Easy IP
2.静态PAT:包括NAT Server

NAPT:

多个私网IP地址对应固定外网IP地址(比如200.1.1.10),配置方法与动态NAT类似

操作步骤如下:

1、配置外部网口和内部网口的IP地址
2、定义合法IP地址池
[R1]nat address-group 1 200.1.1.10 200.1.1.10        ###使用一个固定IP

3、定义访问控制列表
[R1]acl 2000            ###允许源地址为192.168.30.0/24网段的数据通过
[R1-acl-adv-2000]rule permit source 192.168.30.0 0.0.0.255

4、在外网口上设置IP地址转换
[R1-acl-basic-2000]int g0/0/1        ###外网口
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1

实验操作(参考以上静态NAT拓扑图):

[R1]nat address-group 2 100.100.100.100 100.100.100.100  //定义一个地址池

[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 2  //通过端口转换实现

此时对内网进行抓包,原IP地址和目的IP地址都没有改变;对外网进行抓包,原IP地址变为100.100.100.100

easyip:

私网IP和公网IP是多对一的关系,直接使用NAT设备的外网接口的公网IP,所有私网IP在地址转换时只会转换为NAT设备的外网接口的公网IP

操作如下:


[R1]acl 2000
[R1-acl-basic-2000]rule permit source 192.168.10.0 0.0.0.255
[R1-acl-basic-2000]dis this

[R1-acl-basic-2000]q
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]nat outbound 2000
[R1-GigabitEthernet0/0/1]q

NAT Server:

私网IP和公网IP是多对一的关系,一个公网IP和不同的端口可以转换成的私网IP和端口。
先修改从公网发送到内网的数据包的目的IP地址,Nat Server会将数据包的目的IP由公网地址转换成私网地址。再修改从内网返回到外网的响应数据包的源IP地址,Nat Server会将数据包的源IP由私网地址转换成公网地址。
 

[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]nat server protocol tcp global 9.9.9.9 www inside 192.168.10.100 www  //在连接公网的接口上将私网服务器地址和公网地址做一对NAT映射绑定

[R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 8080 inside 10.1.1.1 www      //在连接公网的接口上将私网服务器地址和外网接口做一对NAT映射绑定
[R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 2121 inside 10.1.1.2 ftp  //端口为21可以直接使用关键字“ftp”代替

标签:转换,R1,IP,IP地址,地址,网络地址,NAT,公网
From: https://blog.csdn.net/qq_54188720/article/details/137234407

相关文章

  • 网络地址转换-NAT
    目录NAT概述NAT功能NAT的工作过程NAT使用场景与配置内网客户端主动访问外网服务器外网客户端访问位于内网的服务器ACL访问控制列表作用ACL的工作原则NAT概述NAT(NetworkAddressTranslation,网络地址转换)是一种网络协议,用于在IP网络中转换IP地址。它主要用于在私......
  • openGauss数据库将磁盘表转换为MOT
    openGauss数据库将磁盘表转换为MOT一、将磁盘表转换为MOT方法磁盘表直接转换为MOT尚不能实现,这意味着尚不存在将基于磁盘的表转换为MOT的ALTERTABLE语句。目前MOT表也不支持rename,createasselect以及insertselect(普通表)的操作。将基于磁盘的表转换为MOT方......
  • 为什么以太网的接收需要cmd fifo而ddr3的native接口可以不需要?
    1.以太网存在crc校验和其他的校验,直到这一帧完全传递完才知道是否需要这些数据;2.ddr3每次处理的数据是固定的(安全起见,防止4k边界问题,暂不设置可变burstlength),所以只需要:写入:通过fifo的计数设置满足burst长度时读出fifo写入ddr3,然后根据突发的周期标志修改cmd提供的地址即可......
  • excel中怎样把多位16进制数转换成2进制数?
    在excel里,把16进制数字转换成2进制,有内置函数HEX2BIN可以使用,不这个函数只能转2位16进制数,多于2位函数就会报错。HEX2BIN的函数说明是这样:如果参数number为负数,不能小于FFFFFFFE00;如果参数number为正数,不能大于1FF。将数值转换成十进制,就是-512~511,超出这个范围将......
  • RGB到HSV的转换原理及例程
    RGB(红绿蓝)和HSV(色相、饱和度、明度)是两种常用的颜色模型,RGB用于表示彩色图像,而HSV主要用于描述颜色的特征。RGB到HSV的转换涉及颜色的几何和三维空间的变换。RGB颜色模型使用红、绿、蓝三个通道来表示各种颜色。每个通道的取值范围为0-255,其中0表示没有该通道的颜色,255表示通......
  • React Native简介和环境配置,差点挂在第四面
    ReactNative目前需要NodeJS5.0或更高版本。本文发布时Homebrew默认安装的是最新版本,一般都满足要求。brewinstallnode安装完node后建议设置npm镜像以加速后面的过程(或使用科学上网工具)。注意:不要使用cnpm!cnpm安装的模块路径比较奇怪,packager不能正常识别!npmconfig......
  • 多目标应用:基于非支配排序的蜣螂优化算法(Non-Dominated Sorting Dung beetle optimize
    一、柔性作业车间调度问题柔性作业车间调度问题(FlexibleJobSchedulingProblem,FJSP)的描述如下:n个工件{J,J......
  • 3.python 数据类型转换
    #python数据类型转换"""python数据类型转换可以分为两种:隐式类型转换-自动完成显示类型转换-需要使用类型函数来转换"""#隐式类型转换(自动类型转换)#隐式类型转换中,python会自动将一种数据类型转换为另一种数据类型。#转换规则:低精度向高精度转换(bool->int->......
  • nvl函数使外连接无法转换为内连接案例
    nvl函数使外连接无法转换为内连接案例编写:李晓萌sqlSELECTcount(0)FROM(SELECTz.GP3ZZHDMZHDM,a.C_PORT_NAMEZHMC,c.C_SEC_CODEZQDM,......
  • 问Typeorm -转换响应
    问Typeorm-转换响应 ENStackOverflow用户提问于 2021-01-0922:16:00回答1查看463关注0票数0我将Typeorm与NestJS一起使用,有没有办法将动态值传递到列转换器中?我有这个post实体文件:exportclassPostextendsEntityBase{@PrimaryGeneratedCo......