标准与扩展ACL

  1. 案例1:配置标准ACL
  2. 案例2:配置扩展ACL
  3. 案例3:配置标准命名ACL
  4. 配置扩展命名ACL

1 案例1:配置标准ACL

1.1 问题

络调通后,保证网络是通畅的。同时也很可能出现未经授权的非法访问。企业网络既要解决连连通的问题,还要解决网络安全的问题。

  • 配置标准ACL实现拒绝PC1(IP地址为192.168.1.1)对外问网络192.168.2.1的访问

1.2 方案

访问控制是网络安全防范和保护的主要策略,它的主要任务是保证网络资源不被非法使用和访问。它是保证网络安全最重要的核心策略之一。

访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪能些数据包可以收、哪能数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。

标准访问控制列表只能根据数据包的源IP地址决定是否允许通过。

网络拓扑如图-1所示:

图-1

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:在R1上配置接口IP

  1. tarena-R1(config)#interface f0/0
  2. tarena-R1(config-if)#ip address 192.168.1.254 255.255.255.0
  3. tarena-R1(config-if)#no shutdown
  4. tarena-R1(config-if)#interface f0/1
  5. tarena-R1(config-if)#ip address 192.168.2.254 255.255.255.0
  6. tarena-R1(config-if)#no shutdown

步骤二:测试主机到192.168.2.1的连通性

在实施ACL之前先检查网络是否能够正常通信,因为没有任何限制,网络应该是处于连通状态。

PC1测试如下所示:

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CC
  4. IP Address......................: 192.168.1.1
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.2.100
  8. Pinging 192.168.2.100 with 32 bytes of data:
  9. Reply from 192.168.2.1: bytes=32 time=0ms TTL=126
  10. Reply from 192.168.2.1: bytes=32 time=0ms TTL=126
  11. Reply from 192.168.2.1: bytes=32 time=0ms TTL=126
  12. Reply from 192.168.2.1: bytes=32 time=0ms TTL=126
  13. Ping statistics for 192.168.2.1:
  14. Packets: Sent = 4, Received = 2, Lost = 2 (50% loss),
  15. Approximate round trip times in milli-seconds:
  16. Minimum = 0ms, Maximum = 0ms, Average = 0ms
  17. PC>

PC2测试如下所示:

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2D0:BAFF:FE98:9E29
  4. IP Address......................: 192.168.1.2
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.2.1
  8. Pinging 192.168.2.1 with 32 bytes of data:
  9. Reply from 192.168.2.1: bytes=32 time=2ms TTL=126
  10. Reply from 192.168.2.1: bytes=32 time=0ms TTL=126
  11. Reply from 192.168.2.1: bytes=32 time=0ms TTL=126
  12. Reply from 192.168.2.1: bytes=32 time=0ms TTL=126
  13. Ping statistics for 192.168.2.1:
  14. Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  15. Approximate round trip times in milli-seconds:
  16. Minimum = 0ms, Maximum = 2ms, Average = 0ms
  17. PC>

步骤三:在R1上配置标准访问控制列表,并应用到Fa0/0端口

ACL的匹配规则中,最后有一条隐含拒绝全部。如果语句中全部是拒绝条目,那么最后必须存在允许语句,否则所有数据通信都将被拒绝。

  1. tarena-R1(config)#access-list 1 deny host 192.168.1.1
  2. tarena-R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255
  3. tarena-R1(config)#interface f0/0
  4. tarena-R1(config-if)#ip access-group 1 in

步骤四:分别在两台主机上测试到192.168.2.1的连通性

PC1测试如下所示:

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CC
  4. IP Address......................: 192.168.1.1
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.2.1
  8. Pinging 192.168.2.1 with 32 bytes of data:
  9. Reply from 192.168.1.254: Destination host unreachable.
  10. Reply from 192.168.1.254: Destination host unreachable.
  11. Reply from 192.168.1.254: Destination host unreachable.
  12. Reply from 192.168.1.254: Destination host unreachable.
  13. Ping statistics for 192.168.2.1:
  14. Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
  15. PC>

PC2测试如下所示:

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::207:ECFF:FE46:CAC0
  4. IP Address......................: 192.168.1.2
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.2.1
  8. Pinging 192.168.2.1 with 32 bytes of data:
  9. Reply from 192.168.2.1: bytes=32 time=1ms TTL=127
  10. Reply from 192.168.2.1: bytes=32 time=0ms TTL=127
  11. Reply from 192.168.2.1: bytes=32 time=1ms TTL=127
  12. Reply from 192.168.2.1: bytes=32 time=0ms TTL=127
  13. Ping statistics for 192.168.2.1:
  14. Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  15. Approximate round trip times in milli-seconds:
  16. Minimum = 0ms, Maximum = 1ms, Average = 0ms
  17. PC>

结果显示PC2(IP地址为192.168.1.2)可以正常访问192.168.2.1,而PC1(IP地址为192.168.1.1)已经被192.168.1.254(R1)拒绝。

步骤五:在R1上查看相关的ACL信息

  1. tarena-R1#show ip access-lists
  2. Standard IP access list 1
  3. 10 deny host 192.168.1.1 (4 match(es))
  4. 20 permit 192.168.1.0 0.0.0.255 (8 match(es)

2 案例2:配置扩展ACL

在网络中很有可能要允许或拒绝的并不是某一个源IP地址,而是根据目标地址或是协议来匹配。但是标准访问控制列表只能根据源IP地址来决定是否允许一个数据包通过。

2.1 问题

配置扩展ACL允许pc1访问pc4的www服务但拒绝访问PC4的其他服务,PC2、PC3无限制。

2.2 方案

为了实现更灵活、列精确的网络控制就需要用到扩展访问控制列表了。

扩展IP访问控制列表比标准IP访问控制列表具有更多的匹配项,包括协议类型、源地址、目的地址、源端口、目的端口、建立连接的和IP优先级等。

网络拓扑如图-2所示:

图-2

2.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:在三台路由器中配置IP、RIP动态路由实现全网互通

  1. tarena-R1(config)#interface fastEthernet 0/0
  2. tarena-R1(config-if)#ip address 192.168.1.254 255.255.255.0
  3. tarena-R1(config-if)#no shutdown
  4. tarena-R1(config-if)#exit
  5. tarena-R1(config)#interface fastEthernet 0/1
  6. tarena-R1(config-if)#ip address 192.168.2.1 255.255.255.0
  7. tarena-R1(config-if)#no shutdown
  8. tarena-R1(config-if)#exit
  9. tarena-R1(config)#router rip
  10. tarena-R1(config-router)#no auto-summary
  11. tarena-R1(config-router)#version
  12. tarena-R1(config-router)#network 192.168.1.0
  13. tarena-R1(config-router)#network 192.168.2.0
  14. tarena-R2(config)#interface fastEthernet 0/1
  15. tarena-R2(config-if)#ip address 192.168.2.2 255.255.255.0
  16. tarena-R2(config-if)#no shutdown
  17. tarena-R2(config-if)#exit
  18. tarena-R2(config)#interface fastEthernet 0/0
  19. tarena-R2(config-if)#ip address 192.168.3.1 255.255.255.0
  20. tarena-R2(config-if)#exit
  21. tarena-R2(config)#router rip
  22. tarena-R2(config-router)#version 2
  23. tarena-R2(config-router)#no auto-summary
  24. tarena-R2(config-router)#network 192.168.2.0
  25. tarena-R2(config-router)#network 192.168.3.0
  26. tarena-R3(config)# interface fastEthernet 0/0
  27. tarena-R3(config-if)#ip add 192.168.3.2 255.255.255.0
  28. tarena-R3(config-if)#no shu
  29. tarena-R3(config-if)#exit
  30. tarena-R3(config)#interface fastEthernet 0/1
  31. tarena-R3(config-if)#ip address 192.168.4.254 255.255.255.0
  32. tarena-R3(config-if)#no shutdown
  33. tarena-R3(config-if)#exit
  34. tarena-R3(config)#router rip
  35. tarena-R3(config-router)#version 2
  36. tarena-R3(config-router)#no auto-summary
  37. tarena-R3(config-router)#network 192.168.3.0
  38. tarena-R3(config-router)#network 192.168.4.0

步骤二:开启192.168.4.1的http服务后在PC1、PC2和PC3上验证到Web Server的HTTP协议访问,均如图3所示:

图-3

在没有配置扩展ACL的时候,主机均可以正常访问到Web Server。

步骤三:R1上配置扩展访问控制列表,PC1仅允许到Web Server的HTTP服务(不允许访问其他服务),PC2、PC3无限制

扩展ACL可以对数据包中的源、目标IP地址以及端口号进行检查,所以可以将该ACL放置在通信路径中的任一位置。但是,如果放到离目标近的地方,每台路由器都要对数据进行处理,会更多的消耗路由器和带宽资源。放到离源最近的路由器端口入方向直接就将拒绝数据丢弃,可以减少其他路由器的资源占用以及带宽占用。

  1. tarena-R1(config)#access-list 100 permit tcp host 192.168.1.1 host 192.168.4.1 eq 80
  2. tarena-R1(config)#access-list 100 deny ip host 192.168.1.1 host 192.168.4.1
  3. tarena-R1(config)#access-list 100 permit ip 192.168.1.0 0.0.0.255 host 192.168.4.1
  4. tarena-R1(config)#interface fastEthernet 0/0
  5. tarena-R1(config-if)#ip access-group 100 in

步骤四:在PC1上验证

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CC
  4. IP Address......................: 192.168.1.1
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.4.1
  8. Pinging 192.168.4.1 with 32 bytes of data:
  9. Reply from 192.168.1.254: Destination host unreachable.
  10. Reply from 192.168.1.254: Destination host unreachable.
  11. Reply from 192.168.1.254: Destination host unreachable.
  12. Reply from 192.168.1.254: Destination host unreachable.
  13. Ping statistics for 192.168.4.1:
  14. Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
  15. PC>

HTTP协议的验证如图-4所示:

图-4

从输入结果可以验证,PC1到Web Server的http服务访问没有受到影响但不能ping通Web Server。

步骤五:在PC2上进行验证

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::209:7CFF:FED5:B0E4
  4. IP Address......................: 192.168.1.2
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.4.1
  8. Pinging 192.168.4.1 with 32 bytes of data:
  9. Reply from 192.168.4.1: bytes=32 time=0ms TTL=125
  10. Reply from 192.168.4.1: bytes=32 time=12ms TTL=125
  11. Reply from 192.168.4.1: bytes=32 time=13ms TTL=125
  12. Reply from 192.168.4.1: bytes=32 time=12ms TTL=125
  13. Ping statistics for 192.168.4.1:
  14. Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  15. Approximate round trip times in milli-seconds:
  16. Minimum = 0ms, Maximum = 13ms, Average = 9ms

HTTP协议的验证,如图-5所示:

图-5

步骤六:在R1上查看相关的ACL信息

  1. tarena-R1#show ip access-lists
  2. Extended IP access list 100
  3. 10 permit tcp host 192.168.1.1 host 192.168.4.1 eq www (5 match(es))
  4. 20 deny ip host 192.168.1.1 host 192.168.4.1 (4 match(es))
  5. 30 permit ip 192.168.1.0 0.0.0.255 host 192.168.4.1 (8 match(es))

3 案例3:配置标准命名ACL

3.1 问题

使用基本编号的ACL没有实际意义,只有通过阅读具体的条目才能得知该ACL的作用。而且ACL的编号有限制,如传统的标准ACL用1~99表示,扩展ACL用100~199表示。

  • 配置标准命名ACL实现192.168.1.0网段拒绝PC1访问外部网络,其他主机无限制。

3.2 方案

命名访问控制列表可以为ACL起一个有意义的名字,通过名称就可以得知该ACL要实现什么功能。同时,因为使用的是名称而不是数字,也就没有了ACL数量上的限制。

网络拓扑如图-6所示:

图-6

3.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:将案例1配置标准ACL中的扩展访问控制列表移除,其他配置保留

  1. tarena-R1(config)#interface f0/0
  2. tarena-R1(config-if)#no ip access-group 1 in
  3. tarena-R1(config-if)#exit
  4. tarena-R1(config)#no access-list 1

步骤二:在R2上配置标准的命名访问控制列表

命名访问控制列表的配置总体上和用数字表示的ACL一样,但是更加灵活。

  1. tarena-R2(config)#ip access-list standard tedu
  2. tarena-R2(config-std-nacl)#deny host 192.168.1.1
  3. tarena-R2(config-std-nacl)#permit 192.168.1.0 0.0.0.255
  4. tarena-R2(config-std-nacl)#exit
  5. tarena-R2(config)#interface f0/0
  6. tarena-R2(config-if)#ip access-group tedu in

步骤三:分别在PC1和PC2上做连通性测试

PC2测试如下所示:

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CC
  4. IP Address......................: 192.168.1.2
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.0.1
  7. PC>ping 192.168.4.1
  8. Pinging 192.168.4.1 with 32 bytes of data:
  9. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  10. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  11. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  12. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  13. Ping statistics for 192.168.4.1:
  14. Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  15. Approximate round trip times in milli-seconds:
  16. Minimum = 0ms, Maximum = 0ms, Average = 0ms
  17. PC>

PC1 测试如下所示:

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2D0:BAFF:FE98:9E29
  4. IP Address......................: 192.168.1.1
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.4.1
  8. Pinging 192.168.4.1 with 32 bytes of data:
  9. Reply from 192.168.1.254: Destination host unreachable.
  10. Reply from 192.168.1.254: Destination host unreachable.
  11. Reply from 192.168.1.254: Destination host unreachable.
  12. Reply from 192.168.1.254: Destination host unreachable.
  13. Ping statistics for 192.168.4.1:
  14. Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
  15. PC>

输出结果表明,PC1的访问是正常的,而PC2到Web Server的访问被R2(IP地址为192.168.1.2)拒绝。

步骤四:在R1上查看相关的ACL信息

  1. tarena-R2#show ip access-lists
  2. Standard IP access list tedu
  3. 10 deny host 192.168.1.1 (4 match(es))
  4. 20 permit 192.168.1.0 0.0.0.255(4 match(es))

输出结果也表明,来自于PC1的数据包被拦截。

4 配置扩展命名ACL

4.1 问题

使用基本编号的ACL没有实际意义,只有通过阅读具体的条目才能得知该ACL的作用。而且ACL的编号有限制,如传统的标准ACL用1~99表示,扩展ACL用100~199表示。

  • 配置扩展命名ACL允许PC1访问192.168.4.1的www服务但拒绝访问192.168.4.1的其他服务,PC2、PC3无限制。

4.2 方案

命名访问控制列表可以为ACL起一个有意义的名字,通过名称就可以得知该ACL要实现什么功能。同时,因为使用的是名称而不是数字,也就没有了ACL数量上的限制。

网络拓扑如图-7所示:

图-7

4.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:将2配置扩展ACL中的扩展访问控制列表移除,其他配置保留

  1. tarena-R1(config)#no access-list 100 permit tcp host 192.168.1.1 host 192.168.4.1 eq www
  2. tarena-R1(config)#interface fastEthernet 0/0
  3. tarena-R1(config-if)#no ip access-group 100 in

步骤二:在R1上配置扩展命名访问控制列表

命名访问控制列表的配置总体上和用数字表示的ACL一样,但是更加灵活。

  1. tarena-R1(config)#ip access-list extended tarena
  2. tarena-R1(config-ext-nacl)#permit tcp host 192.168.1.1 host 192.168.4.1 eq 80
  3. tarena-R1(config-ext-nacl)#deny ip host 192.168.1.1 host 192.168.4.1
  4. tarena-R1(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 host 192.168.4.1
  5. tarena-R1(config)#interface fastEthernet 0/0
  6. tarena-R2(config-if)#ip access-group tarena in

步骤三:在R1上查看相关的ACL信息

  1. tarena-R1#show ip access-lists
  2. Extended IP access list tarena
  3. 10 permit tcp host 192.168.1.1 host 192.168.4.1 eq www
  4. 20 deny ip host 192.168.1.1 host 192.168.4.1
  5. 30 permit ip 192.168.1.0 0.0.0.255 host 192.168.4.1

步骤四:在PC1上验证

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CC
  4. IP Address......................: 192.168.1.1
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.1.254
  7. PC>ping 192.168.4.1
  8. Pinging 192.168.4.1 with 32 bytes of data:
  9. Reply from 192.168.1.254: Destination host unreachable.
  10. Reply from 192.168.1.254: Destination host unreachable.
  11. Reply from 192.168.1.254: Destination host unreachable.
  12. Reply from 192.168.1.254: Destination host unreachable.
  13. Ping statistics for 192.168.4.1:
  14. Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
  15. PC>
  16. PC>

HTTP协议的验证如图-8所示:

图-8

从输入结果可以验证,PC1到Web Server的http访问没有受到影响,但不能ping通192.168.4.1。

步骤五:在PC2上进行验证

  1. PC>ipconfig
  2. FastEthernet0 Connection:(default port)
  3. Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CC
  4. IP Address......................: 192.168.1.2
  5. Subnet Mask.....................: 255.255.255.0
  6. Default Gateway.................: 192.168.0.1
  7. PC>ping 192.168.4.1
  8. Pinging 192.168.4.1 with 32 bytes of data:
  9. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  10. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  11. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  12. Reply from 192.168.4.1: bytes=32 time=0ms TTL=126
  13. Ping statistics for 192.168.4.1:
  14. Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
  15. Approximate round trip times in milli-seconds:
  16. Minimum = 0ms, Maximum = 0ms, Average = 0ms
  17. PC>

HTTP协议的验证,如图-9所示:

图-9

标准与扩展ACL的更多相关文章

  1. 标准与扩展ACL实验

    一标准访问控制列表实验: 实验拓扑: 实验目的:掌握标准与扩展ACL的配置 实验要求:拒绝R1到R3的所有流量 实验步骤: 步骤1 按如上拓扑做好底层配置,并检测相邻设备之间的连通性 步骤2起静态路由 ...

  2. 标准ACL、扩展ACL和命名ACL的配置详解

    访问控制列表(ACL)是应用在路由器接口的指令列表(即规则).这些指令列表用来告诉路由器,那些数据包可以接受,那些数据包需要拒绝. 访问控制列表(ACL)的工作原理 ACL使用包过滤技术,在路由器上读 ...

  3. Cisco基础(四):配置标准ACL、配置扩展ACL、配置标准命名ACL、配置扩展命名ACL

    一.配置标准ACL 目标: 络调通后,保证网络是通畅的.同时也很可能出现未经授权的非法访问.企业网络既要解决连连通的问题,还要解决网络安全的问题. 配置标准ACL实现拒绝PC1(IP地址为192.16 ...

  4. 扩展ACL

  5. 网络拓展知识 ACL NAT IPv6

    第1章 ACL 访问控制列表 访问控制表(”位代表精确匹配,而“1“位代表不许匹配. 例如路由器EIGRP的配置中: RouterA(config)#router eigrp 100 RouterA( ...

  6. cisco 的ACL

    搞网络好几年了,怎么说呢,水平一直停留在NA-NP之间,系统的学完NA后,做了不少实验,后来也维护了企业的网络,各种网络设备都玩过(在商汤用的Juniper srx 550 我认为在企业环境,非IDC ...

  7. 网络知识 ACL NAT IPv6

    第1章 ACL 访问控制列表 访问控制表(Access Control List,ACL),又称存取控制串列,是使用以访问控制矩阵为基础的访问控制方法,每一个对象对应一个串列主体. 访问控制表描述每一 ...

  8. ccna 闫辉单臂路由 和 acl access control list

    ccna 闫辉单臂路由 和  acl   access control list 一单臂路由     当前园区网设计很少用到       成本低  小型的.局域网可用         二ACL acc ...

  9. ACL技术(访问控制列表)

    • Access Control List    • 访问控制列表    • 是一种包过滤技术    • ACL基于IP包头的IP地址.四层TCP/UDP头部的端口号.[五层数据]进行过滤    • ...

随机推荐

  1. VOIP RTP RTSP 实现 Baresip 源码分析

    RTP 使用 udp 进行数据传输,udp 是不能保证,数据包一定可以到达的,也不提供时序.同时还有 MTU 限制. RTCP 用来配合 RTP 提供,传输报告,会话建立和退出. 一大批参考规范 * ...

  2. mysql5.7 ERROR 1045 (28000): Access denied for user解决方法

    https://blog.csdn.net/csy2961903/article/details/51345401  参考此文注意指名数据库mysql.user

  3. mysql主从复制(主从同步)

    mysql主从同步 1.mysql主从同步(复制)概念 1. 将Mysql某一台主机数据复制到其它主机(slaves)上,并重新执行一遍来实现的. 2. 复制过程中一个服务器充当主服务器,而一个或多个 ...

  4. 后端程序员不得不会的 Nginx 转发匹配规则

    整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 一口气说出 9种 分布式ID生成方式,面试官有点懵了 面试总被问 ...

  5. MySQL笔记(4)-- 索引优化

    索引失效情况: 最佳左前缀法则:如果索引了多列,要遵循最左前缀法则,指的是查询从索引的最左前列开始并且不跳过索引中的列:[覆盖索引有a,b,c,条件中使用了b或bc都导致该索引失效:如果条件使用了ac ...

  6. 说两个我在工作中有价值的bug

    看了虫师在公众号上写的一边文章,叫做<面试官问,说一个你在工作非常有价值的bug>.看完虫师举的列子后,我也开始想之前测试的bug,想到之后,觉得有必要记录一下. First,在测试新闻动 ...

  7. Codeforces Add on a Tree

    Add on a Tree time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  8. c++源文件从文本阶段到可执行文件的过程

    过程分为四个阶段: 预处理阶段····>编译阶段····>汇编阶段····>链接阶段 1)预处理阶段:对源代码文件中的文件包含关系.预编译语句(宏定义)进行分析和替换,生成预编译文件 ...

  9. C 实战练习题目1

    题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 实例: #in ...

  10. OpenCV-Python 相机校准 | 四十九

    目标 在本节中,我们将学习 由相机引起的失真类型, 如何找到相机的固有和非固有特性 如何根据这些特性使图像不失真 基础 一些针孔相机会给图像带来明显的失真.两种主要的变形是径向变形和切向变形. 径向变 ...