インフラエンジニアを経験してから11年くらい経過しますが、日々、学ぶことが多くて大変です。エンジニアは永遠に勉強し続けなければならないですね。


さらに技術の革新が早いので、常に情報をキャッチアップしていく必要があります。そして、現場のCiscoルータのコンフィグで参考になったので、ACLの定義方法です。


一般的に、インターネットに接続するルータでは、外部からの通信をALL遮断することになりますが(例外がない限り)、そこで、Ciscoの場合は、ACLを設定します。


そして、ACLの設定方法についてはCiscoの公式サイトに書かれています。

セキュリティ : Cisco IOS ファイアウォール IP アクセス リストの設定


例えば、サイトにあるように以下のようなアクセスリストを定義しただけでは意味がありません。

access-list 101 permit tcp host 10.1.1.2 host 172.16.1.1 eq telnet 
access-list 101 permit tcp host 10.1.1.2 host 172.16.1.1
access-list 101 permit udp host 10.1.1.2 host 172.16.1.1
access-list 101 permit ip 10.1.1.0 0.0.0.255 172.16.1.0 0.0.0.255
 

ACL は、定義するだけで適用しないことも可能です。しかし、ACL はルータのインターフェイスに適用されない限り効力がありません。


続いて、InとOutについてです。

ルータの場合、これらの用語の意味は次のようになります。

Out:すでにルータを通過し、インターフェイスから送出されるトラフィック。トラフィックの元の場所(ルータのもう一方の側)が送信元で、トラフィックが向かっている場所が宛先です。

In:現在インターフェイスに到達していて、これからルータを通過するトラフィック。トラフィックの元の場所が送信元で、トラフィックが向かっている場所(ルータのもう一方の側)が宛先です。


その為、アクセスリストを定義した後、以下のようにインターフェースに対して、適用します。

interface <interface>
ip access-group number {in|out}

次に、送信元が 10.1.1.x 以外のトラフィックをすべてブロックする標準 ACL の使用例を示します。

interface Ethernet0/0 
ip address 10.1.1.1 255.255.255.0 
ip access-group 1 in
access-list 1 permit 10.1.1.0 0.0.0.255 


とこれは一般的によく見る設定だと思います。そして、ACLはNATなどと合わせて適用することもできます。実は最近知りました。

NAT使用時のACLについて


access-list 100 permit ip 192.168.100.0 0.0.0.255 any
ip nat inside source list 100 interface Dialer1 overload
 

あまり見ない設定ですが、基本はIFに適用したほうがわかりやすいと思います。