Contents
送信元アドレスと送信先アドレスで制御する
ここでは既にルーティングなどの設定はされているものとします。
◆R2のfa0/0のInbound方向にアクセスリストを設定
[制御内容]
・192.168.100.0/24のNWから192.168.5.0/24のNWへの通信を破棄する
・アクセスリストはR2のfa0/0[in]に適用する
◆R5でPing通信をキャプチャするためにデバッグコマンドを打っておく
R5#debug ip icmp ICMP packet debugging is on R5#
◆PC-1から192.168.5.0のNW(R5のfa1/0)にPingが通ることを確認
PC-1> ping 192.168.5.2 -c 3 84 bytes from 192.168.5.2 icmp_seq=1 ttl=252 time=70.884 ms 84 bytes from 192.168.5.2 icmp_seq=2 ttl=252 time=68.641 ms 84 bytes from 192.168.5.2 icmp_seq=3 ttl=252 time=73.156 ms
◆R5でデバッグの出力がされていることを確認
192.168.5.2(R5のfa1/0)から192.168.100.100(PC-1)へ応答していることを確認。
*Feb 14 13:48:09.343: ICMP: echo reply sent, src 192.168.5.2, dst 192.168.100.100, topology BASE, dscp 0 topoid 0 R5# *Feb 14 13:48:10.391: ICMP: echo reply sent, src 192.168.5.2, dst 192.168.100.100, topology BASE, dscp 0 topoid 0 R5# *Feb 14 13:48:11.423: ICMP: echo reply sent, src 192.168.5.2, dst 192.168.100.100, topology BASE, dscp 0 topoid 0
◆R2にアクセスリストの設定をする
R2#conf t R2(config)#access-list 100 deny ip 192.168.100.0 0.0.0.255 192.168.5.0 0.0.0.255 R2(config)#access-list 100 permit any any R2(config)#int fa0/0 R2(config-if)#ip access-group 100 in R2(config-if)#end R2#
◆PC-1から192.168.5.0/24のNWにPingが通らなくなることを確認
PC-1> ping 192.168.5.2 -c 3 *192.168.100.1 icmp_seq=1 ttl=255 time=9.228 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.100.1 icmp_seq=2 ttl=255 time=6.606 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.100.1 icmp_seq=3 ttl=255 time=4.310 ms (ICMP type:3, code:13, Communication administratively prohibited) PC-1>
◆R5にPingの通信が来ていないのでデバッグコマンドの出力はありません
R5#
◆R1から192.168.5.0のNWにPingが通ることを確認
※次の項の通りR2に近いインタフェースである、
R1のfa0/0(192.168.1.1)のIPが送信元になっているためPingが通ることを確認します
R1#ping 192.168.5.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.5.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 36/49/84 ms R1#
◆R5にR1からのPingが届いていることを確認
※R1のfa0/0のIPアドレス(192.168.1.1)からのPingであることに注目
R5# *Feb 14 14:30:21.863: ICMP: echo reply sent, src 192.168.5.2, dst 192.168.1.1, topology BASE, dscp 0 topoid 0 *Feb 14 14:30:21.923: ICMP: echo reply sent, src 192.168.5.2, dst 192.168.1.1, topology BASE, dscp 0 topoid 0 *Feb 14 14:30:21.943: ICMP: echo reply sent, src 192.168.5.2, dst 192.168.1.1, topology BASE, dscp 0 topoid 0 *Feb 14 14:30:21.983: ICMP: echo reply sent, src 192.168.5.2, dst 192.168.1.1, topology BASE, dscp 0 topoid 0 *Feb 14 14:30:22.023: ICMP: echo reply sent, src 192.168.5.2, dst 192.168.1.1, topology BASE, dscp 0 topoid 0 R5#
◆Pingの送信元をR1のfa2/0を指定した場合はPingが通らないことを確認
R1#ping 192.168.5.2 source fa2/0 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.5.2, timeout is 2 seconds: Packet sent with a source address of 192.168.100.1 UUUUU Success rate is 0 percent (0/5) R1#
R1のfa2/0のIPアドレスは192.168.100.1なので、
先程拒否のアクセスリスト192.168.100.0/24に含まれています。
ここでは確認のために敢えてPingが通らないインタフェースを指定しています。
※Pingの打ち方についてはこちらを参考にしてください。
◆R5にはPingの通信が届いていないことを確認
R5#
<<解説>>
・(config)#access-list [番号] deny/permit ip [送信元アドレス] [ワイルドカードマスク] [送信先アドレス] [ワイルドカードマスク]
・(config)#access-list [番号] permit any any ※暗黙のdenyの前に許可
・(config-if)#ip access-group [番号] in/out
前回はこのIPアドレスが送信元だった場合は、このインタフェースのin/outの方向で破棄するという内容でした。
今回は送信元がこのアドレスの場合は、送信先がこのアドレスに対しては破棄するという内容になっていて、より詳細に通信を制御することができます。
実際の現場でもここからここへの通信は許可する、ここからここへは許可しないというアクセスリストは非常によく使います。
大きなNWになると多くのアクセスリストが登録されているので、
アクセスリストが苦手な人はパッと見拒否反応があるかもしれません。
但しよく見ると簡単な構文が単に続いているだけで簡単です。
前回、今回とIPレベルでの制御方法になっています。
プロトコルレベルの通信制御については別の記事でご紹介します。
ここまでの内容をしっかり理解しておけばプロトコルでの制御も簡単だと思います。
アクセスリストの知識はNWの仕事をする上で必須となります。
でも基本を整理すれば簡単なので後回しにせず、
しっかり勉強しておいた方がいいと思います。