实验8 NAT配置

news2024/11/19 5:27:39

实验8 NAT配置

      • 一、 原理描述
      • 二、 实验目的
      • 三、 实验内容
        • 1.实验场景
        • 2.实验要求
      • 四、 实验配置
      • 五、 实验步骤
        • 2.静态NAT配置
        • 3.NAT Outbound配置
        • 4.NAT Easy-IP配置

一、 原理描述

2019年11月26日,全球43亿个IPv4地址正式耗尽,这意味着没有更多的IPv4地址可以分配给 ISP 和其他大型网络基础设施提供商。IPv6 技术虽然可以从根本上解决地址短缺的问题,但是无法即刻替代成熟的IPv4 网络。人们很早就发现了IPv4设计的不足,为解决地址不足问题,1994年提出了NAT (Network Address Translation,网络地址转换)技术,它不仅能解决卫地址不足的问题,还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
NAT 通常部署在一个组织的网络出口位置,通过将内部网络的私有IP地址替换为出口的公共I地址,来提供公网可达性和上层协议的连接能力。图8-1所示为NAT示意图。
在这里插入图片描述

NAT 的实现方式有3种:静态NAT、动态NAT以及网络地址端口转换NAPT。
(1)静态NAT。实现了私有地址和公有地址的一对一转换,一个公网地址对应一个私网地址。
(2)动态NAT。基于地址池来实现私有地址和公有地址的转换,转换是随机的,私有I地址与公有IP地址是多对一的。
(3)网络地址端口转换NAPT。NAT 实现的是私有IP地址和NAT公共地址之间的转换,因此内网中能够同时与公共网进行通信的主机数量就受到NAT的公共I地址数量的限制。为了克服这种限制,NAT 被进一步扩展到使用卫地址和端口(Port)共同参与IP 地址转换,这就是NAPT(Network Address Port Translation)技术。

二、 实验目的

1.理解NAT的应用场景。
2.掌握静态NAT的配置。
3.掌握动态NAT的配置。
4.掌握NAT Easy-IP的配置。

三、 实验内容

1.实验场景

某学院建立了内部的局域网,使用私网IP 地址。R1为学院的出口网关路由器,学院某教研室通过交换机连接在R1上,R2 模拟为外网设备与R1相连。为了实现该教研室能够访问外网,同时服务器可以供外网用户访问,网络管理员需在路由器R1上配置NAT。

2.实验要求

根据实例说明,建立一个网络拓扑,分别使用静态NAT、动态NAT 和网络地址端口转换NAPT的配置,使部分教职员工可以访问外网。

四、 实验配置

1.实验拓扑
S3700交换机1台,AR1220路由器2台,PC3台,NAT配置拓扑结构如图8-2所示。
在这里插入图片描述

2.设备编址
设备编址如表8-1所示。
在这里插入图片描述

五、 实验步骤

1.基本配置
根据编址对主机PC1和PC2进行基本I地址配置,同时更改R1、R2名称并配置相应接口地址。其中,R2作为模拟外网,在这里要设置一个环回路由接口LoopBack0,它是应用较为广泛的一种虚接口,在路由器上配置LoopBack0地址,起到本地回环接口作用。
所有配置完成后注意及时使用save命令保存。
R1的配置

[Huawei] sysname R1
[R1]interface GigabitEthernet 0/0/0
[Rl-GigabitEthernet0/0/0]ip address 172.10.0.254 24
[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip address 26.28.10.1 24
<Rl>save

R2的配置

[Huawei] sysname R2
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 26.28.10.2 24
[R2]interface LoopBack 0
[R2-LoopBackO] ip address 26.28.20.1 24
<R2>save

配置完成后,对直连链路进行连通性测试。以R1和PC2的连通为例。
在这里插入图片描述

2.静态NAT配置

在网关路由器R1上配置学院访问外网的默认路由,地址要指向R2与R1相连的接口。

[R1]ip route-static 0.0.0.0 0.0.0.0 26.28.10.2

学院内部使用的都是私有地址,相互之间可以连通,但是无法直接访问外网。此时需要在网关路由器R1上进行配置,使用NAT地址转换,从而将私网地址转换为公网地址。
PC1是该学院网络管理员,由于其工作特殊性,需要外网也可以访问到它,因此需要为其分配一个公网地址26.28.10.3给PC1用作静态NAT地址转换。进入R1对外的接口,本例中是GE0/0/1,对其使用nat static 命令来进行配置静态NAT地址转换:

[R1]interface GigabitEthernet 0/0/1
[Rl-GigabitEthernet0/0/1]nat static global 26.28.10.3 inside 172.10.0.1

其中,global 表示公网未被分配的地址,inside 表示内网需要进行地址转换的私有IP地址,save后配置生效。
配置完成后,在R1上查看NAT静态配置信息:
在这里插入图片描述

使用ping命令测试与外网(这里为环回路由接口地址LoopBack0)的连通性。
在这里插入图片描述

此时可以看到,PC1通过静态NAT 地址转换,可以成功访问外网。我们可以通过抓包来进行查看,首先在PC1上持续发包,然后在路由器R1的对外接口处进行抓包,如图8-3所示。

PC>ping 26.28.10.2 -t

在这里插入图片描述
图8-3路由器R1的抓包结果

从图中可以看到,R1已经成功地将 PC1的ICMP 报文源地址转换为公网地址26.28.10.3。
同样,再测试一下外网是否可以访问PC1,这里将R2的环回路由口LoopBack0模拟为外网用户来访问PC1对外的接口地址26.28.10.3。在PC1的Ethernet 0/0/1接口上进行抓包分析,如图8-4所示,同时,在R2上执行以下命令。

<R2>ping -a 26.28.20.1 26.28.10.3

在这里插入图片描述
在这里插入图片描述
图8-4 PC1的抓包结果

可以看到,外网用户也可以主动访问内网用户,且数据在经过R1进入内网时,R1将目的IP地址转换为与公网地址26.28.10.3对应的内网地址172.10.0.1,并将数据转交。

3.NAT Outbound配置

学院的教职员工都有访问外网进行办公的需求,现进行动态NAT的配置。
某教研室使用的私网地址为172.10.0.0/24网段,管理员使用公网地址池26.28.10.10-26.28.10.20为该教研室教职员工进行NAT转换。
首先在R1上使用nat address-group命令配置NAT公网地址池,起始地址和结束地址分别为26.28.10.10、26.28.10.20。

[R1]nat address-group 1 26.28.10.10 26.28.10.20

访问控制列表(Access Control List,ACL)是路由器和交换机接口的指令列表,用来控制端口进出的数据包。当ACL应用在设备接口入方向时,若接口收到数据包,则先根据应用在接口上的ACL条件进行匹配,如果允许就根据路由表进行转发,如果拒绝直接丢弃。ACL应用在设备接口出方向时,报文先经过路由表路由后转至出接口,根据接口上应用的出方向ACL条件进行匹配,是允许permit 还是拒绝deny,如果是允许,就根据路由表转发数据,如果是拒绝,就直接将数据包丢弃了。命名ACL用字母数字字符串(名称)标识IP 标准ACL 和扩展ACL,其中,标准编号IPv4列表(1-1999,1300-1999)只可以根据源地址设置IP报文过滤条件;扩展编号IPv4列表(100-199,2000-2699)可以根据源目地址、TCP/IP 协议号和TCP/UDP源目的端口条件设置IP报文过滤条件。
rule-id:指定IPv4高级 ACL规则的编号,取值范围为0~65534。若未指定本参数,则系统将按照步长从0开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
在这里创建基本的ACL2000,匹配172.10.0.0/24地址段。

[Rl]acl 2000
[Rl-acl-basic-2000]rule 5 permit source 172.10.0.0 0.0.0.255

在这里插入图片描述

在里,ACL的子网掩码用反向子网掩码。
在R1对外网接口GE0/0/1上使用nat outbound命令,将ACL2000与地址池相关联,使得ACL中规定的地址可以使用地址池进行地址转换。

[R1]interface GigabitEthernet 0/0/1
[Rl-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat

outbound 表示在接口出方向上使用动态NAT,no-pat表示不做PAT端口复用。
配置完成后,使用命令display nat outbound在R1上查看NATOutbound信息。
使用PC2测试与外网的连通性,并在R1的GE 0/0/1接口上进行抓包,查看地址转换情况,如图8-5所示。
在这里插入图片描述
在这里插入图片描述
图8-5 R1的抓包结果

可以看到,PC2可以成功访间外网,而且来自该主机的ICMP 数据包在R1的GE0/0/1接口上,源地址被替换为外网地址池中的地址。

4.NAT Easy-IP配置

根据当前新冠肺炎疫情管控需要,学生上网课成为主要授课方式,上外网需求急剧上升。目前路由器 R1的公网地址数不足,为了方便学生使用外网,网络管理员使用多对一的Easy-IP转换方式来实现学生上外网的需求。
Easy-IP 是NAPT的一种方式,直接借用路由器出接口I地址作为公网地址,使多个内网地址可以映射到同一个公网地址的不同端口号上,从而实现多对一的地址转换。此时,需要网络管理员将路由器对外接口设置为Easy-IP接口。
我们仍在原有的拓扑结构上来完成。要设置新的接口类型,需要将原有配置删除。使用undo nat outbound命令删除上一步的配置。使用nat outbound命令,配置动态NAT在出接口上使用PAT端口复用,且直接使用接口IP地址作为NAT转换后的地址。

[Rl]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]undo nat outbound 2000 address-group 1 no-pat
[Rl-GigabitEthernet0/0/1]nat outbound 2000
配置完成后,在PC2上使用UDP发包工具发送UDP数据包到公网地址26.28.20.1。
双击 PC2,选择“UDP发包工具”选项卡,将目的IP地址和端口号、源IP地址和端口号填写完整,并在数据框中填写测试数据,单击“发送”按钮。同样,为PC3也进行配置,如图8-6和图8-7所示。

在这里插入图片描述
图8-6 PC2配置界面

在这里插入图片描述
图8-7 PC3配置界面

display nat session 命令用来查看NAT映射表项。在数据发送后,在R1上使用display nat session protocol udp verbose 命令查看NAT Session的详细信息。
在这里插入图片描述

从结果可以看到,PC2和PC3均使用了同一个R1公网地址与外网连通,但是使用的端口号不同。这种方式不需要建立地址池,大大节省了地址空间。

注:此为记录笔记,如有不足,还望海涵,可留言斧正

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1629529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 网络编程之TCP(五):分析服务端注册OP_WRITE写数据的各种场景(二)

接上文 二、注册OP_WRITE写数据 服务端代码&#xff1a; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SelectableChannel; import java.nio.channels.SelectionKey; import java.nio.channels.S…

STM32H750外设之ADC开关控制功能介绍

目录 概述 1 ADC开关控制介绍 2 开关控制功能流程 2.1 软件使能ADC 的流程 2.2 软件禁止 ADC 的流程 3 相关寄存器 3.1 ADCx_ISR 3.2 ADCx_CR 4 使能/禁止ADC流程图 ​5 写入 ADC 控制位时的限制 概述 本文介绍STM32H750外设之ADC开关控制功能&#xff0c;该功能是…

禅道项目管理系统身份认证绕过漏洞

禅道项目管理系统身份认证绕过漏洞 1.漏洞描述 禅道项目管理软件是国产的开源项目管理软件&#xff0c;专注研发项目管理&#xff0c;内置需求管理、任务管理、bug管理、缺陷管理、用例管理、计划发布等功能&#xff0c;完整覆盖了研发项目管理的核心流程。 禅道项目管理系统…

每日OJ题_DFS回溯剪枝⑧_力扣494. 目标和

目录 力扣494. 目标和 解析代码&#xff08;path设置成全局&#xff09; 解析代码&#xff08;path设置全局&#xff09; 力扣494. 目标和 494. 目标和 难度 中等 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - &#xff0c;然后串联…

“无媒体,不活动”,这句话怎么理解?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 “无媒体&#xff0c;不活动”通常指的是在现代社会中&#xff0c;媒体对于各种活动&#xff0c;尤其是公共活动和事件的推广、宣传和影响力是至关重要的。它强调了媒体在塑造公众意识、…

【Redis 开发】(Feed流的模式,GEO数据结构,BitMap,HyperLogLog)

Redis FeedTimeline GEOBitMapHyperLogLog Feed Feed流产品有两种常见模式: Timeline:不做内容筛选&#xff0c;简单的按照内容发布时间排序&#xff0c;常用于好友或关注。例如朋友圈 优点:信息全面&#xff0c;不会有缺失。并且实现也相对简单 缺点:信息噪音较多&#xff0c…

池化整合多元数据库,zData X 一体机助力证券公司IT基础架构革新

引言 近期&#xff0c;云和恩墨 zData X 多元数据库一体机&#xff08;以下简称 zData X&#xff09;在某证券公司的OA、短信和CRM业务系统中成功上线&#xff0c;标志着其IT基础架构完成从集中式存储向池化高性能分布式存储的转变。zData X 成功整合了该证券公司使用的达梦、O…

【VBA】获取指定目录下的Excel文件,并合并所有excel中的内容。

1.新建一个excel表格。并创建两个Sheet&#xff0c;名字分别命名为FileList 和 All information。 2.按ALTF11进入 VBA编程模块&#xff0c;插入模块。 3.将如下 第五部分代码复制到模块中。 点击运行即可&#xff0c;然后就能提取指定目录下的所有excel文件信息并合并到一起…

2021东北四省赛补题/个人题解

Dashboard - The 15th Chinese Northeast Collegiate Programming Contest - Codeforces I 模拟 #include <bits/stdc.h> using i64 long long; using namespace std; #define int long long int mp[8] {0, 7, 27, 41, 49, 63, 78, 108}; void solve() {int n; cin …

如何有效的将丢失的mfc140u.dll修复,几种mfc140u.dll丢失的解决方法

当你在运行某个程序或应用程序时&#xff0c;突然遭遇到mfc140u.dll丢失的错误提示&#xff0c;这可能会对你的电脑运行产生一些不利影响。但是&#xff0c;不要担心&#xff0c;以下是一套详细的mfc140u.dll丢失的解决方法。 mfc140u.dll缺失问题的详细解决步骤 步骤1&#x…

Atcoder Beginner Contest351 A-E Solution题解

文章目录 [A - The bottom of the ninth](https://atcoder.jp/contests/abc351/tasks/abc351_a)[B - Spot the Difference ](https://atcoder.jp/contests/abc351/tasks/abc351_b)[D - Grid and Magnet](https://atcoder.jp/contests/abc351/tasks/abc351_d)E Note&#xff1a;…

盲人地图使用的革新体验:助力视障人士独立、安全出行

在我们日常生活中&#xff0c;地图导航已经成为不可或缺的出行工具。而对于盲人群体来说&#xff0c;盲人地图使用这一课题的重要性不言而喻&#xff0c;它不仅关乎他们的出行便利性&#xff0c;更是他们追求生活独立与品质的重要一环。 近年来&#xff0c;一款名为蝙蝠…

《HCIP-openEuler实验指导手册》1.7 Apache虚拟主机配置

知识点 配置步骤 需求 域名访问目录test1.com/home/source/test1test2.com/home/source/test2test3.com/home/source/test3 创建配置文件 touch /etc/httpd/conf.d/vhost.conf vim /etc/httpd/conf.d/vhost.conf文件内容如下 <VirtualHost *.81> ServerName test1.c…

python中如何用matplotlib写雷达图

#代码 import numpy as np # import matplotlib as plt # from matplotlib import pyplot as plt import matplotlib.pyplot as pltplt.rcParams[font.sans-serif].insert(0, SimHei) plt.rcParams[axes.unicode_minus] Falselabels np.array([速度, 力量, 经验, 防守, 发球…

AtCoder Beginner Contest 351 G. Hash on Tree(树剖维护动态dp 口胡题解)

题目 n(n<2e5)个点&#xff0c;给定一个长为a的初始权值数组&#xff0c; 以1为根有根树&#xff0c; 树哈希值f计算如下&#xff1a; &#xff08;1&#xff09;如果一个点u是叶子节点&#xff0c;则f[u]a[u] &#xff08;2&#xff09;否则&#xff0c; q(q<2e5)次…

【C++】从零开始认识继承

送给大家一句话&#xff1a; 其实我们每个人的生活都是一个世界&#xff0c;即使最平凡的人也要为他生活的那个世界而奋斗。 – 路遥 《平凡的世界》 ✩◝(◍⌣̎◍)◜✩✩◝(◍⌣̎◍)◜✩✩◝(◍⌣̎◍)◜✩ ✩◝(◍⌣̎◍)◜✩✩◝(◍⌣̎◍)◜✩✩◝(◍⌣̎◍)◜✩ ✩◝(◍…

详解如何品味品深茶的精髓

在众多的茶品牌中&#xff0c;品深茶以其独特的韵味和深厚的文化底蕴&#xff0c;赢得了众多茶友的喜爱。今天&#xff0c;让我们一同探寻品深茶的精髓&#xff0c;品味其独特的魅力。 品深茶&#xff0c;源自中国传统茶文化的精髓&#xff0c;承载着世代茶人的智慧与匠心。这…

linux kernel内存泄漏检测工具之slub debug

一、背景 slub debug 是一个debug集&#xff0c;聚焦于kmem_cache 分配机制的slub内存&#xff08;比如kmalloc&#xff09;&#xff0c;这部分内存在内核中使用最频繁&#xff0c;slub debug其中有相当部分是用来处理内存踩踏&#xff0c;内存use after free 等异常的&#x…

【项目】仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器(Http板块)

【项目】仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器&#xff08;Http板块&#xff09; 一、思路图二、Util板块1、Splite板块&#xff08;分词&#xff09;&#xff08;1&#xff09;代码&#xff08;2&#xff09;测试及测试结果i、第一种测试ii、第二种…

PotatoPie 4.0 实验教程(29) —— FPGA实现摄像头图像均值滤波处理

图像的均值滤波简介 图像均值滤波处理是一种常见的图像处理技术&#xff0c;用于降低图像中噪声的影响并平滑图像。该方法通过在图像中滑动一个固定大小的窗口&#xff08;通常是一个正方形或矩形&#xff09;&#xff0c;将窗口中所有像素的值取平均来计算窗口中心像素的新值…