仮題

学習用

5. ACL_advanced

5. ACL:アクセスリスト

  ルータのIFに設定するパケットの許可/不許可リストのこと。各IFにinかoutで設定する。

  NAT、ルータフィルタリング、VPN、別プロトコルによるルート情報再配布なんかに使うよ。

  OUTBOUNDとは、ルータを抜けて出て行くパケ、INBOUNDとはルータに入ってくるパケ。

  つまりデバイスへのin/outであって、決してそのIFを含むセグメントへのin/out「ではない」。

  あとルータから発信されるパケについてはスルーしちゃうのでスプーフィングが弱点。

  暗黙のdenyに気をつけてね。

  IPv6では名前付きACLしかサポートしてないからね。

   ACLには、全部で以下のものがあるよ。それぞれどんなアクセス要件かコマンドから考えてね。

   ・番号付きACL

 -番号付き標準ACL  送信元ipでしか判断出来ないから宛先に近いifまで行かないと設定できない。

例1:(config)#access-list 10 deny host 192.168.1.1

   (config)#int fa0/1

 (config-if)#ip access-group 10 in

例2:(config)#access-list 1401 permit 192.168.0.0 0.0.0.255

    (config)#int fa0/1

    (config-if)#ip access-group 1401 out

 -番号付き拡張ACL 宛先ipどころかレイヤ4まで使うので細かく設定できる。送信元近くのifでもOK

   protocol、送信元(ip→wildcard→port条件)、宛先(ip→wildcard→port条件) [establish(TCPのみ)]、[log]の順は不変。

例1:(config)#access-list 136 permit tcp 172.16.1.0 0.0.0.255 host 172.16.2.1 eq 25

    (config)#int fa0/2

    (config-if)#ip access-group 136 out

例2: (config)#accessl-list 2259 deny icmp 192.168.1.64 0.0.0.31 any echo

    (config)#accessl-list 2259 deny icmp 192.168.1.64 0.0.0.31 any echo-reply

    (config)#int Gib0/1

    (config-if)#ip access-group 2259 in

例3: (config)#access-list 100 permit ip any any

    (config)#int fa0/1

    (config-if)#ip access-group 100 in

※番号の予約状況

    標準:1-99、1300-1999

    拡張:100-199、2000-2699

        AppleTalk:600-699

        IPX標準:800-899

        IPX拡張:900-999

・名前付きACL

 -名前付き標準ACL 名前は、大文字小文字も区別されるからね。

例:(config)#ip access-list standard HogeHoge

   (config-std-nacl)#permit any

   (config-std-nacl)#deny 192.168.1.0 0.0.0.255

   (config-std-nacl)#exit

    (config)#int fa0/1

    (config-if)#ip access-group HogeHoge out

  。o〇(やべっ↑でステートメントの順番逆にしちゃった!)

   (config)#ip access-list standard HogeHoge

    (config-std-nacl)#no 10

    (config-std-nacl)#25 permit any

       -名前付き拡張ACL

例:(config)#ip access-list extended FugaFuga

    (config-ext-nacl)#permit tcp any any established

    (config-ext-nacl)#permit icmp any any echo-reply

    (config-ext-nacl)#permit icmp any any unreachable

    (config-ext-nacl)#permit icmp any any time-exceeded

    (config-ext-nacl)#exit

   (config)#int fa0/1

    (config-if)#ip access-group FugaFuga in

★ip access-list standard/extended 番号で、番号なんだけど文字列の名前リストとして作成することも可能。

TCP/IPのアプリケーション層プロトコルとポート番号を丸暗記なさる

FTP=TCP 20(ftp-data), 21(ftp)

SSH=TCP 22

Telnet=TCP 23

SMTP=TCP 25

DNS= TCP/UDP 53

DHCP= UDP 67(server) 68(client)

TFTP = UDP 69

HTTP = TCP 80

POP3 = TCP 110

NTP = UDP 123

SNMP = UDP 161,162(Traps)

BGP = TCP 179

RIP = UDP 520

★検証用こまんど

・とりあえず全部教えろ:sh run

↑ifのところで適用されてるACLの名前/番号と、in/out設定状況までわかる

  そしてACLの項でステートメントまで全部出る。

・ぜんぶのACLを、ステートメント行も含めて1個ずつ表示したい:sh access-lists

ステートメント行も含めてACLを表示したいけど目的の1個だけでいい:例:sh access-lists HogeHoge

ステートメント行も含めてACLを表示したいけどIPv4のだけでいい:例: sh ip access-lists

※注意:sh access-listsはin/outまでは分からないよ。

・in/outを手っ取り早く分かりたい:sh ip interface fa0/1

※↑ipに特化したifの情報が他にもズラッと出る