CPT_icatch4

CiscoPacketTracerを使ってみる④拡張アクセスリスト

#ネットワーク
written by キムキム

6月はジメジメとしつつ、夏の日差しを感じる微妙な月で困っちゃいますね!
晴れるなら晴れてくれ~~~と願ってる今日このごろ、皆さんお元気でしょうか?

さて、以前からCiscoPacketTracerについて触れてきましたが、
今回はアクセス制御として少しステップアップした「拡張アクセスリスト」なるものを
実際に設定していきます。
「アクセスリスト」ってそもそも何?という方は過去記事を見ていただければと思います!
過去記事①:CiscoPacketTracerを使ってみる③アクセス制御(標準アクセスリスト)

また、あいも変わらず私の個人的な意見も多く含まれている内容となるため、
あくまで一つの意見として見ていただければと思います。
※当記事は初歩的な部分を省いて記載しているので、過去の記事を先に読むと良いかもしれません!

過去記事②:CiscoPacketTracerを使ってみる①事前準備編
過去記事③:CiscoPacketTracerを使ってみる②機器の配置と疎通

それでは、早速取り掛かっていきましょう!

設定するコマンド

アクセスリストの作成設定としては以下の様な形になります。

ip access-list extended <任意の文字(アクセスリスト名)>

<①permit or deny> <②通信のプロトコル(icmp等) <③any or host> <④送信元IP> <⑤送信元ワイルドカードマスク> <⑥宛先IP> <⑦宛先ワイルドカードマスク>

ー①permitなら許可する通信の設定、denyなら拒否する通信の設定
ー②ip,icmp,tcp,udp等、どのプロトコルの通信を許可/拒否するかの設定
ー③anyならすべての送信元を対象とし、hostなら④の構文にて送信元IPを一意に設定できる
ー④どこから来た通信を対象とするのかの設定
ー⑤送信元IPの対象範囲をワイルドカードマスクにて設定する。(/32 = 0.0.0.0)
ー⑥どこへ向けた通信を対象とするのかの設定
ー⑦宛先IPの対象範囲をワイルドカードマスクにて設定する。(/32 = 0.0.0.0)

※③を設定しない場合、④⑤も設定が不要となる。(送信元IPを指定せず、宛先IPのみを確認するアクセスリストとなる。)

実際に設定してみる

今回は「ICMPは通さず、UDP通信を通す」設定をしてみようと思います。
※図示されているように、IFへのIP設定、装置間の疎通に関しては設定が完了している状態です。
なお、今回IFはRT-A,RT-BどちらもGigabitEthernet 0/0/0を使用しています。

CPT_kousei4

まずは拡張アクセスリストの作り方からです。

RT-A#configure terminal
RT-A(config)#ip access-list extended TEST
RT-A(config-ext-nacl)#permit udp host 192.168.1.2 host 192.168.1.1
RT-A(config-ext-nacl)#deny icmp any any
RT-A(config-ext-nacl)#end
RT-A#
%SYS-5-CONFIG_I: Configured from console by console
RT-A#
RT-A#show running-config | section TEST
ip access-list extended TEST
permit udp host 192.168.1.2 host 192.168.1.1
deny icmp any any

と、この様な感じで案外さっくり作れちゃいますね!
今回は「TEST」という名前でアクセスリストを作成しました。

それでは次にIFに設定してみましょう!

RT-A#configure terminal 
RT-A(config)#interface GigabitEthernet 0/0/0
RT-A(config-if)#ip access-group TEST in
RT-A(config-if)#exit 
RT-A#
RT-A#show running-config | section 0/0/0
interface GigabitEthernet0/0/0
ip address 192.168.1.1 255.255.255.252
ip access-group TEST in
duplex auto
speed auto

IFへの設定も非常に簡単ですね!
※ちなみに上記の<ip access-group TEST in>のinは対象のIFから出ていく通信なのか、入る通信なのかを指定しています。

これでアクセスリストの作成~IFの割当まで行うことが出来ました。

それでは実際にどのような効果があるのか、仮想環境で試してみましょう!

 

検証してみる

一度IFからアクセスリストの設定を外し、RT-BからRT-Aに向けてICMPとUDPの通信ををそれぞれ投げてみます!

今回使用するコマンドは以下2つです。

ping 192.168.1.1
→pingはicmp通信を行うため、アクセスリストを設定後はping疎通に失敗する想定
traceroute 192.168.1.1
→tracerouteは往復する通信で、往路がUDP、復路がICMP通信を行うため、
アクセスリスト設定後もUDP疎通に成功する想定

それでは早速やっていきます!

CPT_kenshou4

RT-B#ping 192.168.1.1

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

RT-B#
RT-B#traceroute 192.168.1.1
Type escape sequence to abort.
Tracing the route to 192.168.1.1

1 192.168.1.1 0 msec 0 msec 0 msec
RT-B#

pingの結果では5回中5回通信に成功しており、tracerouteの結果は1回で終了している為
ICMP,UDP通信が出来ている事が確認できます。

それでは、先程行った手順でアクセスリスト<TEST>をRT-AのIFに割り当ててから同様に確認してみます。

RT-B#ping 192.168.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
UUUUU
Success rate is 0 percent (0/5)
RT-B#
RT-B#traceroute 192.168.1.1
Type escape sequence to abort.
Tracing the route to 192.168.1.1

1 192.168.1.1 0 msec 0 msec 0 msec
RT-B#

pingの結果が違って見えますね!
先程は「!!!!!」だった結果が「UUUUU」となっており、5回中5回が通信に失敗しています
※ちなみに「UUUUU」のUはDestination Unrechableの意味で「宛先に行き着けないよ!」という意味です。

tracerouteの結果は先程と同様、結果は1回で終了している為
ICMP通信は失敗、UDP通信は成功する事が確認できます。

以上から、「アクセスリストを設定した結果、指定の通信プロトコルを拒否/許可することが出来る」事が確認できました。

おわりに

今回設定したのは拡張アクセスリストのほんの一例となっており、ポート番号を設定したりなど
幅広く使える設定なので、この記事だけに限らず様々な記事や文書に触れて、環境に合ったアクセスリストを
考察していただければと思います!

次回は世界的に使用されているルーティングプロトコルのBGPの設定について纏めていきたいと思います。

閲覧ありがとうございます!