Cisco

Cisco ACL

ACLのルール

  • 条件文の上から順に確認を行う
  • 条件文に一致した場合は、その指示に従って処理(deny, permit)を行い、それ以降の処理を行わない
  • 条件分の最後には暗黙のdenyが存在する
  • ACLを適用しているルータ自身が発信するパケットは処理対象外
  • インバウンドに設定されたACLは受信インターフェイスに受信した時点で適用される。送信側インターフェイスにルーティングされた時には適用しない。
  • アウトバウンドに設定されたACLはパケットが送信インターフェースにルーティングされた後に適用される。
  • パケットフィルタリングのためにインターフェイスに適用できるのは、inとoutに一つずつ

 

標準ACLを使った内部ローカルアドレスの設定

(config)#access-list {番号} permit {内部ローカルアドレス} {ワイルドカード}
  • 番号は1~99 or 1300~1999
  • 内部ローカルアドレス・・・変換対象にしたい内部ローカルアドレス

 

拡張ACL

(config)#access-list {番号} {permit | deny} {プロトコル} {送信元 ワイルドカードマスク} {宛先 ワイルドカードマスク} {オプション}
  • 番号・・・100~199, 2000~2699の中から利用
  • プロトコル・・・プロトコルを指定。tcp, udp, icmpなど。

キーワード

  • lt(lower than):指定するポート番号より小さい
  • gt(greater than):指定するポート番号より大きい
  • eq(equal):指定するポート番号と等しい
  • neq(not equal):指定するポート番号と等しくない

ACLを使う上での注意

1. ACLは一行ずつ上から下に読む定義される修正があるので、設定が後勝ちする。最初にdenyを定義するaccess-listの作成を行い、次にpermitで全体を許す設定を行うようにする。この順番を逆にするとdenyが効いて通信できなくなる。

サンプル例1 ※拡張ACL使用

(config)#access-list 100 permit tcp host 192.168.1.2 host 172.16.1.1 eq www
(config)#access-list 100 deny tcp any host 172.16.1.1 eq www
(config)#access-list 100 permit ip any any
  1. 172.16.1.1に対するHTTP通信は192.168.1.2のみ許可
  2. 172.16.1.1に対するHTTP通信はホストからすべて拒否
  3. 172.16.1.2に対する通信はすべて通す

172.16.1.1に対してHTTP通信できるのは192.168.1.2だけ。他の通信はどのホストからも可能になる。1と2の順番を入れ替えると、1行目ですべてのホストからのHTTP通信をはじいてしまう、2行目で192.168.1.2からのHTTP通信を許可する設定を書いても反映されない。1行目で条件式がなりたってしまっているから。HTTP通信以外のその他の通信に対しては3行目が有効になる。

 

  1. 192.168.100.0に対するFTP通信は192.168.2.0/24のみ許可
  2. 192.168.100.0に対する192.168.3.0/24からの通信はすべて拒否
  3. 192.168.100.0に対する通信はすべて通す
access-list 101 permit tcp 192.168.2.0 0.0.0.255 192.168.100.0 0.0.0.255 eq 20
access-list 101 permit tcp 192.168.2.0 0.0.0.255 192.168.100.0 0.0.0.255 eq 21
access-list 101 deny ip 192.168.3.0 0.0.0.255 192.168.100.0 0.0.0.255

この場合は192.168.2.0/24からの192.168.100.0へのFTPの通信が可能になる。192.168.3.0/24の通信はすべて拒否。

しかし、1行目と2行目でFTPの通信を許可する技術を書いたことにより、HTTP等の他の許可していないプロトコルの通信は、192.168.2.0/24のホストも暗黙のdenyにより全て通信できなくなる。暗黙のdenyが働いてしまう。

access-list 100 permit ip any any

上記の記述が必要になります。

 

Routerへの適用

Router(config)#interface fastEthernet 0/1
Router(config-if)#ip access-group 110 out

 

注意

access-list 30 deny 192.168.20.128 0.0.0.31
access-list 30 permit any
access-list 30 deny 192.168.30.128 0.0.0.31

この場合、access-list 30 permit anyですべてを許可してしまっているので、3行目が適用されなくなる・・・!

 

 

2. permitだけ設定した場合は、最終行に表示はされないが、暗黙のdenyが設定される。permit以外の条件がdenyになる。注意する。

3. ACLは協力で間違ったACLを行うと通信が出来なくなる。トラブルが少なる設定のコツ

  • 標準ACLは制限したい宛先の最終インターフェイス付近
  • 拡張ACLは制限したい送信元の最初のインターフェイス付近

に設定すると具合が良い。

 

 

 

NATプール定義

(config)#ip nat pool {プール名} {開始アドレス} {終了アドレス} {netmask サブネットマスク} | {prefix-length プレフィックス長}

 

内部ローカルアドレスとNATプールの関連付け

(config)#ip nat inside source list {ACL名} pool {NATプール名} [overload]

overload・・・PATを行う場合に入力

 

ACLサンプル設定2

access-list 110 permit tcp any any eq ftp ←FTPを許可 21番ポート
access-list 110 permit tcp any any eq ftp-data ←FTPを許可 22番ポート
access-list 110 deny tcp any any eq telnet ←telnetを拒否
access-list 110 deny icmp any any echo-reply ←エコー応答(ping応答)を拒否
access-list 110 permit ip any any ←上記に当てはまらかったパケットを全て許可

 

ACL設定サンプル3
192.168.20.0/24のネットワークのホストからのサーバ192.168.30.1へのtelnetのみ拒否する。

(config)#access-list 100 deny tcp 192.168.20.0 0.0.0.255 192.168.30.1 0.0.0.0 eq 23
(config)#access-list 100 permit ip any any

 

設計サンプル

条件

  •  SG社内でインターネットに接続する必要があるPCは16台
  • 16台同時にインターネットに接続できるようにする
  • インターネットに接続する必要があるPCには「192.168.1.16~192.168.1.31」でIPアドレスを割り当てている
  • SG社がもっているグローバルアドレスは100.2.2.151~100.2.2.154/27
  • Serial0/0はWAN側インターフェイス
  • FastEthernet0/1はLAN側インターフェイス

■Router設定

(config)#interface Serial0/0
(config-if)#ip nat outside
(config-if)#exit

(config)#interface FastEthernet0/1
(config-if)#ip nat inside
(config-if)#exit

(config)#ip nat pool sgnet 100.2.2.151 100.2.2.154 netmask 255.255.255.224
(config)#access-access 6 permit 192.168.1.16 0.0.0.15
(config)#ip nat inside source list 6 pool sgnet overload

 

ワイルドカードマスクの範囲を計算

IPアドレス192.168.24.0から192.168.31.255の範囲の指定は?

0.0.7.255

192.168.31.255 から 192.168.24.0を減算すれば良いです。大きいネットワークから小さいネットワークを引いて出す。

ワイルドカードの活用方法

access-list 5 permit 192.168.20.0 0.0.0.255
access-list 5 permit 192.168.21.0 0.0.0.255
access-list 5 permit 192.168.22.0 0.0.0.255
access-list 5 permit 192.168.23.0 0.0.0.255

↓まとめる

access-list 5 permit 192.168.20.0 0.0.3.255

 

ACL設定の確認

(config)#show access-lists

 

名前付きアクセスリスト

名前付き標準アクセスリスト

Router(config)#ip access-list standard (番号or名前)

番号は1~99, 1300~1999が利用可能

 

名前付き拡張アクセスリスト

Router(config)#ip access-list extended (番号or名前)

100~199, 2000~2699が利用可能

 

Router#show ip access-lists
Extended IP access list EXTENDED
    10 permit icmp any any
    20 permit gre any any
    30 permit ospf any any
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip access-list extended EXTENDED
Router(config-ext-nacl)#no 20
Router(config-ext-nacl)#end
Router#

Router# show ip access-lists
Extended IP access list EXTENDED
    10 permit icmp any any
    30 permit ospf any any
↑20番のリストが削除された

Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip access-list resequence EXTENDED 1 5
↑開始番号1, 間隔を5ずつ開けて並べ替え
Router(config)#end

Router# show ip access-lists
    1 permit icmp any any
    6 permit ospf any any
↑並び替え成功している

@see ping-t

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)