欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

巧用不连续子网掩码解决非常规问题

程序员文章站 2022-11-27 09:03:09
巧用不连续子网掩码解决非常规问题...
   我们通常习惯使用连续的子网掩码(形如11111111.11111111.11111111.00000000, 而对于不连续的子网掩码(形如11111111.11111111.00000000.00001111)基本上没有去关注过。

   实际上,有时候巧妙地使用不连续的子网掩码,还能解决一些常规方法不容易搞定的问题。

   例如,某个公司的网络及对网络配置的要求如下图所示,对于图示的情况,我们就可以用不连续子网掩码加路由策略来解决。

巧用不连续子网掩码解决非常规问题

第一步:定义3acl,分别匹配上面三类客户端:

cj-3560g#sh ip access-l
standard ip access list acl_linux     10 permit 172.16.0.3, wildcard bits 0.0.255.252 standard ip access list acl_isa     10 permit 172.16.0.2, wildcard bits 0.0.255.252 standard ip access list acl_router     10 permit 172.16.0.1, wildcard bits 0.0.255.252     20 permit 172.16.0.0, wildcard bits 0.0.255.252

 

 

 

解释:

反向掩码: 
0               .0               .255           .252

 0000 0000.0000 0000.1111 1111.1111 1100  (不连续反向子网掩码)

正向掩码: 1111 1111 .1111 1111. 0000 0000.0000 0011 (不连续子网掩码)

ip地址:       172            .16             .0                .0000 0011

                        172            .16             .0               .3

可以看出来,只要ip地址为172. 16. x. xxxxxx11x表示0或者1当中的任何一个), 即以二进制表示的ip地址的最右边两位为11,就匹配acl acl_linux,其它两个acl的解释与此类似。   第二步:定义路由策略

cj-3560g#sh route-map rm-select-gw
route-map rm-select-gw, permit, sequence 10   match clauses:     ip address (access-lists): acl-router   set clauses:     ip next-hop 172.16.0.1   policy routing matches: 0 packets, 0 bytes route-map rm-select-gw, permit, sequence 20   match clauses:     ip address (access-lists): acl-isa   set clauses:     ip next-hop 172.16.0.2   policy routing matches: 0 packets, 0 bytes route-map rm-select-gw, permit, sequence 30   match clauses:     ip address (access-lists): acl-linux   set clauses:     ip next-hop 172.16.0.3   policy routing matches: 0 packets, 0 bytes   第三步:应用定义的路由策略到每一个svi,例如:

cj-3560g#sh run int vlan1
interface vlan1  ip address 172.16.0.254 255.255.255.0  ip policy route-map rm-select-gw

end