5. ACL_advanced
5. ACL:アクセスリスト
ルータのIFに設定するパケットの許可/不許可リストのこと。各IFにinかoutで設定する。
NAT、ルータフィルタリング、VPN、別プロトコルによるルート情報再配布なんかに使うよ。
OUTBOUNDとは、ルータを抜けて出て行くパケ、INBOUNDとはルータに入ってくるパケ。
つまりデバイスへのin/outであって、決してそのIFを含むセグメントへのin/out「ではない」。
あとルータから発信されるパケについてはスルーしちゃうのでスプーフィングが弱点。
暗黙のdenyに気をつけてね。
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のアプリケーション層プロトコルとポート番号を丸暗記なさる
DHCP= UDP 67(server) 68(client)
TFTP = UDP 69
HTTP = TCP 80
NTP = UDP 123
BGP = TCP 179
RIP = UDP 520
★検証用こまんど
・とりあえず全部教えろ:sh run
↑ifのところで適用されてるACLの名前/番号と、in/out設定状況までわかる
・ぜんぶの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の情報が他にもズラッと出る
・