ACL和NAT
目录:
3、NAT server
4、easy-IP
ACL:
ACL(access list):访问控制列表
ACL是由一系列permit或者deny语句组成的、有序规则的列表。每条语句就是该acl的一条规则,每条语句中的permit或deny就是与这条规则相应的处理动作
ACL是一个匹配工具,能够对报文进行匹配和区分
ACL应用:
1、应用在接口的ACL---过滤数据包(五元组:原目ip地址、原目mac、端口。)(高级五元组都能,基础的是原目ip地址)
2、应用在路由协议 ---匹配相应条目
3、NAT、IPSEC VPN、QOS---匹配感兴趣的数据流
当数据包从接口经过时,由于接口启动了acl,此时路由器会对报文进行检查,然后做出相应的处理
ACL种类
- 编号2000-2999---基本ACL----依据依据数据包当中的源IP地址匹配数据(数据时从 哪个IP地址 过来的)
- 编号3000-3999---高级ACL----依据数据包当中源、目的IP,源、目的端口、协议号匹配数据
- 编号4000-4999---二层ACL,MAC、VLAN-id、802.1q
ACL组成:
规则编号(Rule ID):
一个ACL中的每一条规则都有一个对应的编号 rule 5(为什么5,10,15,不是1、2、3因为你有新的规则的时候想穿插就得改一堆东西)
执行动作:deny/permit
步长(step):
步长是系统自动为ACL规则分配编号时,每个相邻规则编号之间的差值为5.步长的作用是为了方便后续在旧规则之间,插入新的规则、
通配符(通配符掩码):
反掩码:
连续0代表网络位,连续1代表主机位
通配符掩码:
1代表可变,0代表不可变,中间0和1可以穿插
子网掩码的作用: 连续的1 代表网络位
255.255.255.0
11111111.11111111.11111111.00000000
反掩码: 连续的0 代表网络位
00000000.00000000.00000000.11111111
0.0.0.255、
通配符掩码可以0 1穿插
掩码、反掩码-----0和1必须连续 ,通配符掩码-----0和1可以不连续
子网掩码 必须是连续的1
反掩码 必须是连续的0
通配符掩码 0和1可以不连续
通配符掩码理解:
从192.168.1.0-192.168.1.4:
192.168.1.0
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.0:1100 0000 .10101000.0000 0001.0000 00 00
192.168.1.1:1100 0000 .10101000.0000 0001.0000 00 01
192.168.1.2:1100 0000 .10101000.0000 0001.0000 00 10
192.168.1.3:1100 0000 .10101000.0000 0001.0000 00 11
192.168.1.4:1100 0000 .10101000.0000 0001.0000 01 00
0. 0. 0.0000 0111(基本是最后3位能动,所以是这个)
案例1-----拒绝源IP为192.168.10.1的数据包
acl 2000
rule deny source 192.168.10.1 0.0.0.0
案例2------拒绝源IP为192.168.10.0/24的所有数据包
acl 2000
rule deny source 192.168.10.0 0.0.0.255
案例3------拒绝源IP为192.168.10.0/24所有奇数主机发送的数据包
acl 2000
rule deny source 192.168.10.1 0.0.0.254
acl访问控制列表
1、建立规则
2、进入接口 调用规则(inboud outboud)
ACL应用原则:
基本ACL:尽量用在靠近目的地点
高级ACL:尽量用在靠近源的地方(可以保护宽带和其他资源)
匹配规则:
1、一个接口的同一个方向,只能调用一个acl
2、一个acl里面可以有多个rule 规则,按照规则ID从小到大排序,从上往下依次执行
3、数据包一旦被某rule匹配,就不再继续向下匹配
4、用来做数据包访问控制时,默认隐含放过所有(华为设备
######R1设置##########
######配置地址######
int g0/0/0
ip address 192.168.1.254 255.255.255.0
int g0/0/1
ip address 192.168.2.254 255.255.255.0
int g0/0/2
ip address 192.168.3.254 255.255.255.0
1.建立acl 2、调用acl
acl 2000
#基本acl 列表
rule 5 deny source 192.168.1.1 0
#默认编号5 拒绝 来自192.168.1.1 的流量
int g0/0/1
traffic-filter outbound acl 2000
#数据流向
在接口下调用acl 分为两个方向
inbound方向--------当接口收到数据包时执行ACL
outbound方向-------当设备从特定接口向外发送数据时执行ACL
-----------------------
没有被acl匹配数据默认采用permit动作(huawei)
-----------------------
基本acl需要调用在离目的设备最近的接口上
高级 acl
acl number 3000
rule 5 deny tcp source 192.168.1.1 0 destination 192.168.2.1 0 destination-port eq www(80)
[R1]int g0/0/1
undo traffic-filter outbound
[R1-GigabitEthernet0/0/1]traffic-filter outbound acl 3000
NAT(网络地址翻译):
对IP数据报文中的IP地址进行转换,是一种在现网中被广泛部署的技术,一般部署在网络出口设备,例如路由器或防火墙
通过私有地址的使用结合NAT技术,可以有效节约公网IPV4地址
出:将内网转换为外网
回:将外网转换内网
NAT工作机制:一个数据包从企业内网去往公网时,路由器将数据包当中的源ip(私有地址),翻译成公网地址
演示原理:
201.0.0.1 公网地址 买的 运营商给你的
192.168.1.1 公司的内网地址
去访问 外网服务器 200.0.0.1
源地址 192.168.1.1 目的地址200.0.0.1
经过 路由器NAT技术处理 静态模式
源地址:201.0.0.1 目的地址:200.0.0.1
回包的时候
源地址 200.0.0.1 目的地址:201.0.0.1
经过 路由器NAT技术处理
源地址 200.0.0.1 目的地址:192.168.1.1
1、静态NAT:
工程手动将一个私有地址和一个公网地址进行关联,一 一对应,缺点和静态路由一样
每个私有地址都有一个与之对应并且固定的公有地址,即私有地址和公有地址之间的关系是一对一映射。
配置地址:
在企业出口路由器上的 g0/0/1 口配置
int g0/0/1
ip address 200.1.1.1 255.255.255.0
nat static enable
nat static global 200.1.1.100 inside 192.168.1.1
#注意不能直接使用 接口地址200.1.1.1
2、动态NAT:
静态NAT严格地一对一进行地址映射,这就导致即便内网主机长时间离线或者不发送数据时,与之对应的公有地址也处于使用状态。为了避免地址浪费,动态NAT提出了地址池的概念:所有可用的公有地址组成地址池。
当内部主机访问外部网络时临时分配一个地址池中未使用的地址,并将该地址标记为“In Use”。当该主机不再访问外部网络时回收分配的地址,重新标记为“Not Use”。
配置:
nat address-group 1 200.1.1.10 200.1.1.15
#建立地址池
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255
#给需要地址转换的 网段添加规则
undo nat static enable
undo nat static g1oba1 200.1.1.100 inside 192.168.1.1
#取消静态nat
int g0/0/1
nat outbound 2000 address-group 1 no-pat
#添加规则
NAPT(端口映射):
动态NAT选择地址池中的地址进行地址转换时不会转换端口号,即No-PAT(No-Port Address Translation,非端口地址转换),公有地址与私有地址还是1:1的映射关系,无法提高公有地址利用率。
NAPT(Network Address and Port Translation,网络地址端口转换):从地址池中选择地址进行地址转换时不仅转换IP地址,同时也会对端口号进行转换,从而实现公有地址与私有地址的1:n映射,可以有效提高公有地址利用率
NAT Server
内网服务器对外提供服务,针对目的ip和目的端口映射
内网服务器的相应端口映射成路由器公网ip地址的相应端口
配置好ip地址
企业出口路由器需要配置默认路由
在企业出口路由器上 的g0/0/1 口配置
int g0/0/1
ip address 200.1.1.1 255.255.255.0
undo nat static global 200.1.1.100 inside 192.168.1.1 netmask 255.255.255.255
nat server protocol tcp global current-interface www inside 192.168.1.100 www
nat static enable
1、使用列表匹配私网的ip地址
2、将所有的私网地址映射成路由器当前接口的公网地址
配置:
acl 2000
rule permit source 192.168.1.0 0.0.0.255
int g0/0/1
undo nat static global 200.1.1.100 inside 192.168.1.1 netmask 255.255.255.255
nat outbound 2000
display nat session all
内网服务器的相应端口映射成路由器公网ip地址的相应端口
配置好ip地址
企业出口路由器需要配置默认路由
在企业出口路由器上 的g0/0/1 口配置
int g0/0/1
ip address 200.1.1.1 255.255.255.0
undo nat static global 200.1.1.100 inside 192.168.1.1 netmask 255.255.255.255
nat server protocol tcp global current-interface www inside 192.168.1.100 www
nat static enable
easy-ip
地址+端口一起转换
Easy IP:实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于Easy IP没有地址池的概念,使用接口地址作为NAT转换的公有地址。
Easy IP适用于不具备固定公网IP地址的场景:如通过DHCP、PPPoE拨号获取地址的私有网络出口,可以直接使用获取到的动态地址进行转换。
配置:
1、使用列表匹配私网的ip地址
2、.将所有的私网地址映射成路由器当前接口的公网地址
acl 2000
rule permit source 192.168.1.0 0.0.0.255
int g0/0/1
undo nat static global 200.1.1.100 inside 192.168.1.1 netmask 255.255.255.255
nat outbound 2000
display nat session all
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)