草庐IT

ACL和NAT介绍及EASY-IP原理实验

阿杰。159 2023-04-08 原文

目录

一、ACL

1、什么是ACL

2、ACL的两种应用及匹配机制

3、ACL基本种类

4、ACL配置命令

二、ACL实战配置

1、实验目的

2、实验工具及机器

3、实验拓扑

4、实验步骤

 二、NAT

1、NAT原理及作用

2、NAT分类

3、NAT配置

3、EASY-ip实验(重要!!!)

①实验目的

②实验工具及机器

③实验拓扑

④实验步骤


一、ACL

1、什么是ACL

ACL(访问控制列表):用于过滤流量。例如:在同一个vlan 中要允许PC1可以访问服务器A,但是PC2不能访问服务器A,这种情况就需要使用ACL。原理是在数据包经过路由器时,由于路由器开启了ACL所以会对报文进行检查做出相应的处理。

2、ACL的两种应用及匹配机制

①应用在端口的ACL,用于过滤数据包。

②应用在路由协议,匹配对应的路由协议。

匹配机制:规则自上而下依次匹配,一旦匹配不再向下,例如第一条是允许所有1.1.1.0/24 段ip通过,那么第二条拒绝1.1.1.2/32 访问的规则就不会再生效

3、ACL基本种类

2000-2999:基本ACL,只能根据数据包中的源IP,对数据包进行处理

3000-3999:高级ACL,可以根据数据包中的五元组(源IP地址,目的IP地址,源Mac地址,目的Mac地址,协议端口号)对数据包进行处理。

4000-4999:二层ACL,Mac、VLAN-id、根据这些条件对数据包进行处理

4、ACL配置命令

①ACL    2000   ## 创建基础ACL

②rule   permit(deny)  source   1.1.1.1    ##添加规则允许、拒绝  源IP为1.1.1.1的地址

③int g/0/0/1         ##进入要配置的端口

④traffic-filter  oubound(inbound)   ACL 2000  ## 在入口或出口调用ACL 2000 的规则

二、ACL实战配置

1、实验目的

同一个局域网中,要求PC1不能访问server而PC2可以访问server。

2、实验工具及机器

工具:eNSP V100R003C00SPC100虚拟器

设备:华为AR220路由器一台、华为HUB一台、华为计算机二台、华为服务器一台。

3、实验拓扑

4、实验步骤

①首先配置PC1和PC2的IP、掩码以及网关,如下图 

 ②配置路由器接口地址并检测PC1、PC2是否都可以访问server。如下图

<huawei> undo terminal monitor               #关闭用户视图提示
<huawei> system-view                         #进入系统视图
[huawei] undo infor-center enable            #关闭系统视图提示
[huawei] int g0/0/0                          #进入接口g/0/0/0
[huawei-g0/0/0] ip address 192.168.1.254 24  #为接口配置ip地址
[huawei-g0/0/0] int g0/0/1                   #进入接口g0/0/1
[huawei-g0/0/1] ip address 192.168.3.254 24  #为接口配置ip地址

 ③在路由器上设置ACL 并在g/0/01口设置规则不允许192.168.1.1访问192.168.3.1服务器,配置完毕检测访问结果,如下图可以看出配置完ACL后PC1不能访问server,PC2依然可以server至此实验完毕。

[huawei]ACL 2000   ##创建基础级ACL 2000
[huawei]rule deny source 192.168.1.1 0 ##添加规则,拒绝源ip为192.168.1.1 
[huawei]int g0/0/1    ##进入 g0/0/1接口
[huawei-g0/0/1]  traffic-filter  outbound  acl 2000 ##为出端口配置ACL 2000规则

 二、NAT

1、NAT原理及作用

作用:通过对网络地址转换,实现内网地址和公网地址的互相访问

原理:主要应用在企业出口路由器上,从内网出去时将源地址转换为企业公网ip,从公网中回来时将目的地址及公网地址转为对应的内网地址。

2、NAT分类

①静态NAT:私网地址和公网地址一对一映射,局限性是需要每一个私网ip对应一个公网ip,所以需要公网ip比较多。

②动态NAT:将公网ip划出一个公网ip池,当内网地址访问外网时随机分配一个公网对应ip,访问完毕后回收公网ip。

3、NAT配置

静态nat配置:

①进入企业出口路由器 static nat enable 开启静态nat

②nat static global 1.1.1. 1 inside 2.2.2.2将 静态 nat私网地址1.1.1.1对应公网2.2.2.2

动态nat配置:

①nat address-group 1 200.1.1.10 200.1.1.15  #建立动态nat地址池

②acl number 2000                                             #创建acl  2000

③rule 5 permit source 192.168.1.0 0.0.0.255    #设定规则来自192.168.1.0网段用户允许通过

④int g0/0/1                                                          #进入g0/0/1端口

⑤nat outbound 2000 address-group 1 no-pat   #将规则添加在出口

3、EASY-ip实验

①实验目的

PC1和PC2通过企业路由器后可以访问外网,运营商路由器不可操作,只能在企业的出口路由器做nat,使得PC1和PC2通过出口路由器时转化为出口地址且端口号不一样用来识别是谁发送的数据。

②实验工具及机器

工具:eNSP V100R003C00SPC100虚拟器

设备:华为AR220路由器2台,(其中一台表示企业路由器生产环境中无法操作,此实验仅做外网访问使用)、华为hub一台、华为计算机二台

③实验拓扑

④实验步骤

1、配置PC1和PC2地址,如下图

 2、配置路由器接口地址

AR1:
<Huawei>undo terminal  monitor  ##关闭用户视图提示
<Huawei>system-view             ##进入系统视图
[Huawei]sysname AR1             ##修改路由器名称
[AR1]interface g0/0/0           ##进入g0/0/0接口
[AR1-GigabitEthernet0/0/0]ip address 192.168.1.254 24  ##接口配置ip地址
[AR1-GigabitEthernet0/0/0]interface g0/0/1           ##   进入g0/0/1接口  
[AR1-GigabitEthernet0/0/1]ip address 200.1.1.1  24   ##接口配置ip地址
AR2:
<Huawei>undo terminal  monitor  ##关闭用户视图提示
<Huawei>system-view             ##进入系统视图
[Huawei]sysname AR2            ##修改路由器名称
[AR1]interface g0/0/0           ##进入g0/0/0接口
[AR1-GigabitEthernet0/0/0]ip address 200.1.1.254 24  ##接口配置ip地址

 3、在企业出口路由器R1上添加ACL规则并在出口上应用nat,以此达到PC1和PC2到达出口路由器地址nat成出口地址的目的访问外网。

[Huawei]ACL 2000  ##创建初级ACL 2000
[Huawei-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255 
                       ##添加规则允许源地址为192.168.1.0的用户通过
                       0.0.0.255为通配符掩码,可以暂时理解为反掩码
                       用255.255.255.255减去子网掩码即可
[Huawei-acl-basic-2000]quit            ##返回系统视图
[Huawei]int g0/0/1                     ##进入g0/0/1接口
[Huawei-GigabitEthernet0/0/1]nat outbound 2000  ##在此接口配置出口nat并调用acl 200规则

4、查看PC1和PC2是否可以通过nat访问外网,如下图可以ping通实验成功。

5 、通过wireshark抓包查看PC1访问200.1.1.254的地址和端口号是否nat成出口路由器地址200.1.1.1,如下图

①首先在PC1上进行长ping ,命令为ping  200.1.1.254   -t 

②然后再进入出口路由器使用命令等待查看端口是多少,命令为display nat session all ,可以查看 出源ip是多选,经过nat后的源IP是多少,以及此次连接的端口。端口号是此次PC1用于nat公网地址的标志,外网数据回包时出口路由器也是通过这个端口号判断数据要发给谁。

 ③右键出口路由器选择抓包,选择出口,本拓扑为g0/0/1。如下图

④进入wireshark后随机点击一个包查看下方的ICMP协议中的Identifier(LE)后面跟着的就是此次ip转换的内网端口号,由于长ping是一来一回则完成一次连接没有长时间建立连接所以随便点一个包查看是端口号可能不一样。此为实验环境测试导致,若是长时间访问一个网页不关闭则端口号会被长期占用,抓包时端口号就不会改变。

总结:至此实验完成,在企业中EASY-IP是必须要掌握的技术,希望此文章可以帮助到大家。

有关ACL和NAT介绍及EASY-IP原理实验的更多相关文章

  1. 使用 ACL 调用 upload_file 时出现 Ruby S3 "Access Denied"错误 - 2

    我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file

  2. 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

  3. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  4. ruby - 在 TCPServer (Ruby) 中,我如何从客户端获取 IP/MAC? - 2

    我想在Ruby的TCPServer中获取客户端的IP地址。以及(如果可能的话)MAC地址。例如,Ruby中的时间服务器,请参阅评论。tcpserver=TCPServer.new("",80)iftcpserverputs"Listening"loopdosocket=tcpserver.acceptifsocketThread.newdoputs"Connectedfrom"+#HERE!HowcanigettheIPAddressfromtheclient?socket.write(Time.now.to_s)socket.closeendendendend非常感谢!

  5. H2数据库配置及相关使用方式一站式介绍(极为详细并整理官方文档) - 2

    目录H2数据库入门以及实际开发时的使用1.H2数据库的初识1.1H2数据库介绍1.2为什么要使用嵌入式数据库?1.3嵌入式数据库对比1.3.1性能对比1.4技术选型思考2.H2数据库实战2.1H2数据库下载搭建以及部署2.1.1H2数据库的下载2.1.2数据库启动2.1.2.1windows系统可以在bin目录下执行h2.bat2.1.2.2同理可以通过cmd直接使用命令进行启动:2.1.2.3启动后控制台页面:2.1.3spring整合H2数据库2.1.3.1引入依赖文件2.1.4数据库通过file模式实际保存数据的位置2.2H2数据库操作2.2.1Mysql兼容模式2.2.2Mysql模式

  6. ruby - 没有 nginx 的 Puma - 同一 IP 上的多个 ruby​​ 应用程序 :PORT - 2

    Nginx在生产中的重要性通常基于它为慢速客户端提供服务的能力;在RESTfulAPI的设置中,它似乎是生产堆栈的一个不必要的层,尤其是Puma(不像广泛使用的unicorn可以处理nginx工作)。Pumacanallowmultipleslowclientstoconnectwithoutrequiringaworkertobeblockedontherequesttransaction.Becauseofthis,Pumahandlesslowclientsgracefully.HerokurecommendsPumaforuseinscenarioswhereyouexpect

  7. 网络实验之RIPV2协议(一) - 2

    一、RIPV2协议简介  RIP(RoutingInformationProtocol)路由协议是一种相对古老,在小型以及同介质网络中得到了广泛应用的一种路由协议。RIP采用距离向量算法,是一种距离向量协议。RIP-1是有类别路由协议(ClassfulRoutingProtocol),它只支持以广播方式发布协议报文。RIP-1的协议报文无法携带掩码信息,它只能识别A、B、C类这样的自然网段的路由,因此RIP-1不支持非连续子网(DiscontiguousSubnet)。RIP-2是一种无类别路由协议(ClasslessRoutingProtocol),支持路由标记,在路由策略中可根据路由标记对

  8. 【Unity游戏破解】外挂原理分析 - 2

    文章目录认识unity打包目录结构游戏逆向流程Unity游戏攻击面可被攻击原因mono的打包建议方案锁血飞天无限金币攻击力翻倍以上统称内存挂透视自瞄压枪瞬移内购破解Unity游戏防御开发时注意数据安全接入第三方反作弊系统外挂检测思路狠人自爆实战查看目录结构用il2cppdumper例子2-森林whoishe后记认识unity打包目录结构dll一般很大,因为里面是所有的游戏功能编译成的二进制码游戏逆向流程开发人员代码被编译打包到GameAssembly.dll中使用il2ppDumper工具,并借助游戏名_Data\il2cpp_data\Metadata\global-metadata.dat

  9. Java IP归属地查询(离线方式+在线方式,内附查询IP方法) - 2

    一、离线方式1.1.下载ip2region.xdbGitHub项目地址:https://github.com/lionsoul2014/ip2region我们首先需要下载一个ip2region.xdb的文件下载地址:https://github.com/lionsoul2014/ip2region/blob/master/data/ip2region.xdb打开后点击如图的Download图标即可下载。下载完成后,需要将该文件放到我们的项目中。ps:我是直接放到服务器的,因为放在项目的资源文件夹下,当我们调试的时候使用JavaSpring自带的工具去获取该文件的绝对路径时,没有任何问题,能够正

  10. IP数据报格式 - 2

    1、报文格式前几篇总结过较多网络层的知识,ARP,ip地址、子网掩码等等。这次总结一下IP数据报的报文格式IP数据报的格式能够说明IP协议都具有什么功能。在TCP/IP的标准中,各种数据格式常常以32位(4字节)为单位来描述的。wireshark中IP数据报文呈现一个IP数据报文由首部和数据两部分组成。首部的前一部分是固定长度,共20字节。是所有IP数据报文必须具有的。在首部的固定部分的后面是一些可选字段,其长度可变。2、首部个字段意义  1、版本占4位,指IP协议的版本。通信双方使用的IP协议的版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。版本号为6(即IPv6)  2、首部

随机推荐