草庐IT

华为eNSP:静态NAT、动态NAT、端口NAT的配置(NAPT)-网络地址转换

小白的孤独历险记 2023-08-03 原文

静态NAT的配置

一、拓扑图

 二、路由器的配置

1、配置端口IP

AP1:

[Huawei]interface gigabitether 0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 1.1.1.1 24
[Huawei-GigabitEthernet0/0/1]interface gigabitether 0/0/2
[Huawei-GigabitEthernet0/0/2]ip address 192.168.1.254 24
[Huawei-GigabitEthernet0/0/2]quit 

AP2:

[Huawei]interface gigabitether 0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 1.1.1.2 24

2、静态NAT的配置

方法一:在全局下配置nat

[Huawei]nat static global 1.1.1.10 inside 192.168.1.1
#配置静态NAT, 转换地址为1.1.10 内部地址为192.168.1.1
[Huawei]interface gigabitether 0/0/1
#进入流量出去接口
[Huawei-GigabitEthernet0/0/1]nat static enable 
#开启nat功能

方法二:直接在接口下配置nat

[Huawei]int g0/0/1
#进入流量出口接口
[Huawei-GigabitEthernet0/0/1]nat static global 1.1.1.10 inside 192.168.1.1
#配置静态nat

三、测试

未配置静态NAT前,PC1无法ping通外网

 配置静态nat后,PC1可以ping通外网

可以看到抓包到地址1.1.1.2转换为1.1.1.10 

 因为只配置了192.168.1.1地址的nat,所以192.168.1.2始终是无法ping通外网的

 四、注意

1、如果是在视图模式下配的nat,要记得进入流量出口接口开启静态NAT功能

2、转换地址要是和外部地址同网段的

3、静态nat是一个地址绑定了一个转换地址,转换地址利用率不高

动态NAT的配置

一、拓扑图

 二、路由器的配置

配IP地址部分如上个实验

AP1:

配置动态NAT

[Huawei]nat address-group 1 1.1.1.5 1.1.1.9
#创建nat地址池,名字为1,从1.1.1.5到1.1.1.9
[Huawei]acl 2000
#创建acl
[Huawei-acl-basic-2000]rule 10 permit source 192.168.1.0 0.0.0.255
#定义acl规则                    允许   源地址             反掩码
[Huawei-acl-basic-2000]quit 
[Huawei]interface gigabitether 0/0/1
#进入流量出口接口
[Huawei-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat
#在端口上应用acl到nat上            

三、测试

 

抓包时会出现1.1.1.5到1.1.1.9都被循环使用是模拟器的问题,真实是只会占用一个

 四、注意

1、动态NAT也是一个源地址占用一个nat地址,只是当nat地址不用时会释放出来给其它pc使用,nat地址利用率依旧不是很高

NAPT(端口NAT)的配置

一、拓扑图

 二、路由器的配置

配IP地址部分如之前实验

[Huawei]nat address-group 1 1.1.1.4 1.1.1.4
#创建NAPT地址池(为使实验结果更明显,开始和结束地址配置相同的)
[Huawei]acl 2000
#创建acl
[Huawei-acl-basic-2000]rule 10 permit source 192.168.1.0 0.0.0.255
#定义acl规则                    允许   源地址             反掩码
[Huawei-acl-basic-2000]quit 
[Huawei]interface gigabitether 0/0/1
[Huawei-GigabitEthernet0/0/1]nat outbound 2000 address-group 1
#在端口上将acl应用在nat,注意最后与动态nat少no-pat

三、测试

 

 两个PC同时ping1.1.1.2,转换地址都为1.1.1.4

四、注意

1、端口NAT和动态NAT的配置过程基本一致,只是在应用到接口时,配置命令少no-pat

2、端口NAT一个地址可以给多个源地址转换,不是单对单的转换,所以节省了nat地址

3、端口NAT实际应用较多,静态NAT和动态NAT因为地址不能节约,所以实际应用少

 

有关华为eNSP:静态NAT、动态NAT、端口NAT的配置(NAPT)-网络地址转换的更多相关文章

  1. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  2. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  3. ruby - 从 Ruby 中的主机名获取 IP 地址 - 2

    我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge

  4. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  5. 华为常用命令 - 2

    system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100

  6. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  7. 神州数码无线产品(AC+AP)配置 - 2

    注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配

  8. hadoop安装之保姆级教程(二)之YARN的配置 - 2

    1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模

  9. Ruby 默认将 IRB 配置为 Pretty_Inspect - 2

    我是ruby​​的新手,正在配置IRB。我喜欢pretty-print(需要'pp'),但总是输入pp来漂亮地打印它似乎很麻烦。我想做的是默认情况下让它漂亮地打印出来,所以如果我有一个var,比如说,'myvar',然后键入myvar,它会自动调用pretty_inspect而不是常规检查。我从哪里开始?理想情况下,我将能够向我的.irbrc文件添加一个自动调用的方法。有什么想法吗?谢谢! 最佳答案 irb中默认pretty-print对象正是hirb被迫去做。Theseposts解释hirb如何将几乎所有内容转换为ascii表。虽

  10. ruby - 在 Ruby 中动态创建数组 - 2

    有没有办法在Ruby中动态创建数组?例如,假设我想遍历用户输入的书籍数组:books=gets.chomp用户输入:"TheGreatGatsby,CrimeandPunishment,Dracula,Fahrenheit451,PrideandPrejudice,SenseandSensibility,Slaughterhouse-Five,TheAdventuresofHuckleberryFinn"我把它变成一个数组:books_array=books.split(",")现在,对于用户输入的每一本书,我想用Ruby创建一个数组。伪代码来做到这一点:x=0books_array.

随机推荐