カテゴリ:

今回は前回のIP Precedenceの確認方法をふまえて、ポリシーマップを利用してみます。R1はR2を経由してR3と接続されており、EIGRPでルーティングが設定されています。

R3#sh ip interface brief
Interface                  IP-Address      OK? Method Status                Protocol
Serial1/3                  23.23.23.3      YES manual up                    up      
Loopback0                  17.17.3.3       YES NVRAM  up                    up

R3#show ip route eigrp
     17.0.0.0/24 is subnetted, 3 subnets
D       17.17.1.0 [90/2300416] via 23.23.23.2, 01:43:35, Serial1/3
D       17.17.2.0 [90/2297856] via 23.23.23.2, 01:52:36, Serial1/3
     12.0.0.0/24 is subnetted, 1 subnets
D       12.12.12.0 [90/2172416] via 23.23.23.2, 01:52:36, Serial1/3

R1のLo0にpingが実行出来ることを確認します。

R3#ping 17.17.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 17.17.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/17/32 ms

ここでR1にアクセスリストを作成します。まずEIGRPは全て許可します。次にprecedence値がflash(3)であれば許可とし、それ以外は拒否としました。ちなみにflashを選択したことに深い意味はありません。

R1(config)#ip access-list extended PRECEDENCE
R1(config-ext-nacl)#permit eigrp any any
R1(config-ext-nacl)#permit ip any any precedence flash log
R1(config-ext-nacl)#deny ip any any

R1#show ip access-lists
Extended IP access list PRECEDENCE
    10 permit eigrp any any
    20 permit ip any any precedence flash log
    30 deny ip any any

これをF0/0に適用します。

R1(config)#interface f0/0
R1(config-if)#ip access-group PRECEDENCE in

R1#show ip access-lists interface f0/0
Extended IP access list PRECEDENCE in
    10 permit eigrp any any (15 matches)
    20 permit ip any any precedence flash log
    30 deny ip any any

この設定によりR3からのpingは実行できなくなります。

R3#ping 17.17.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 17.17.1.1, timeout is 2 seconds:
U.U.U
Success rate is 0 percent (0/5)

次にR2で特定のパケットにprecedence値のflashを設定するためのポリシーマップを作ります。まずアクセスリストを作ります。R3のLo0(17.17.3.3)を許可し、S1/3(23.23.23.3)を拒否します。

R2(config)#ip access-list standard FROM_R3
R2(config-std-nacl)#permit host 17.17.3.3
R2(config-std-nacl)#deny host 23.23.23.3

R2#show ip access-lists FROM_R3
Standard IP access list FROM_R3
    10 permit 17.17.3.3
    20 deny   23.23.23.3

次にクラスマップを作ります。

R2(config)#class-map C_FROM_R3
R2(config-cmap)#match access-group name FROM_R3

R2#show class-map C_FROM_R3
Class Map match-all C_FROM_R3 (id 2)
   Match access-group name FROM_R3

最後にポリシーマップを作ります。

R2(config)#policy-map P_FROM_R3
R2(config-pmap)#class C_FROM_R3
R2(config-pmap-c)#set ip precedence ?
  <0-7>           Precedence value
  critical        Set packets with critical precedence (5)
  flash           Set packets with flash precedence (3)
  flash-override  Set packets with flash override precedence (4)
  immediate       Set packets with immediate precedence (2)
  internet        Set packets with internetwork control precedence (6)
  network         Set packets with network control precedence (7)
  priority        Set packets with priority precedence (1)
  routine         Set packets with routine precedence (0)
R2(config-pmap-c)#set ip precedence flash

R2#show policy-map P_FROM_R3
  Policy Map P_FROM_R3
    Class C_FROM_R3
      set ip precedence 3

ポリシーマップをR3に接続されたS1/2に適用します。

R2(config)#interface s1/2
R2(config-if)#service-policy input P_FROM_R3

R2#show policy-map interface s1/2
Serial1/2

  Service-policy input: P_FROM_R3

    Class-map: C_FROM_R3 (match-all)
      0 packets, 0 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: access-group name FROM_R3
      QoS Set
        precedence 3
          Packets marked 0

    Class-map: class-default (match-any)
      4 packets, 256 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: any

ここでR3よりpingを実行しますが、エラーとなります。R2のアクセスリストを見るとR3はS1/3(23.23.23.3)を使っていることが分かります。

R2#show ip access-lists FROM_R3
Standard IP access list FROM_R3
    10 permit 17.17.3.3
    20 deny   23.23.23.3 (56 matches)

次にソースアドレスをLo0(17.17.3.3)で指定して実行すると成功することが分かります。

R3#ping 17.17.1.1 source loopback 0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 17.17.1.1, timeout is 2 seconds:
Packet sent with a source address of 17.17.3.3
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/15/20 ms

R2でポリシーマップを確認すると、パケットにprecedence値が設定されたことが分かります。

R2#show policy-map interface s1/2
Serial1/2

  Service-policy input: P_FROM_R3

    Class-map: C_FROM_R3 (match-all)
      5 packets, 520 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: access-group name FROM_R3
      QoS Set
        precedence 3
          Packets marked 5

    Class-map: class-default (match-any)
      108 packets, 7312 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: any

R1でアクセスリストを確認するとprecedence flashが許可されたことが分かります。

R1#
Mar 13 08:58:36.659: %SEC-6-IPACCESSLOGDP: list PRECEDENCE permitted icmp 17.17.3.3 -> 17.17.1.1 (0/0), 5 packets
R1#show ip access-lists interface f0/0
Extended IP access list PRECEDENCE in
    10 permit eigrp any any (1410 matches)
    20 permit ip any any precedence flash log (5 matches)
    30 deny ip any any (15 matches)