# 10. フィルター設定

## 10.1. 静的IPフィルターを使用する

静的IPフィルターの設定例です。
GE0.0はサーバー宛てかつHTTP/HTTPSアクセスのみを受信許可します。

### 10.1.1. 設定

#### 10.1.1.1. 本装置の設定

    Router# configure
    Router(config)# ip route default 203.0.113.6
    Router(config)# ip access-list flt-list permit tcp src any sport any dest 192.168.0.1/32 dport eq 80
    Router(config)# ip access-list flt-list permit tcp src any sport any dest 192.168.0.1/32 dport eq 443
    Router(config)# interface GigaEthernet0.0
    Router(config-GigaEthernet0.0)# ip address 203.0.113.1/29
    Router(config-GigaEthernet0.0)# ip filter flt-list 10 in
    Router(config-GigaEthernet0.0)# no shutdown
    Router(config-GigaEthernet0.0)# exit
    Router(config)# interface GigaEthernet2.0
    Router(config-GigaEthernet2.0)# ip address 192.168.0.254/24
    Router(config-GigaEthernet2.0)# no shutdown
    Router(config-GigaEthernet2.0)# exit
    Router(config)#

### 10.1.2. 解説

    ip access-list flt-list permit tcp src any sport any dest 192.168.0.1/32 dport eq 80
    ip access-list flt-list permit tcp src any sport any dest 192.168.0.1/32 dport eq 443
    interface GigaEthernet0.0
      ip filter flt-list 10 in

WAN側 : `GE0.0` からのパケット受信時( `in` )に、宛先IPアドレスが `192.168.0.1` かつ `HTTP(TCP/80)` と `HTTPS(TCP/443)` パケットのみを許可します。
それ以外のパケットは暗黙のdenyとして全てブロックします。
値 : `10` はシーケンス番号です。

## 10.2. 動的IPフィルターを使用する

動的IPフィルターの設定例です。
HTTP/HTTPS/DNSのみ送信と、一時的にその戻りの受信を許可します。

### 10.2.1. 設定

#### 10.2.1.1. 本装置の設定

    Router# configure
    Router(config)# ip route default 203.0.113.6
    Router(config)# ip access-list all-block deny ip src any dest any
    Router(config)# ip access-list other-list permit tcp src any dest any dport eq 443
    Router(config)# ip access-list dynamic d-list http src any dest any
    Router(config)# ip access-list dynamic d-list dns src any dest any
    Router(config)# ip access-list dynamic d-list access other-list
    Router(config)# interface GigaEthernet0.0
    Router(config-GigaEthernet0.0)# ip address 203.0.113.1/29
    Router(config-GigaEthernet0.0)# ip filter all-block 10 in
    Router(config-GigaEthernet0.0)# ip filter d-list 10 out
    Router(config-GigaEthernet0.0)# no shutdown
    Router(config-GigaEthernet0.0)# exit
    Router(config)# interface GigaEthernet2.0
    Router(config-GigaEthernet2.0)# ip address 1902.168.0.254/24
    Router(config-GigaEthernet2.0)# no shutdown
    Router(config-GigaEthernet2.0)# exit
    Router(config)#

### 10.2.2. 解説

    ip access-list all-block deny ip src any dest any
    interface GigaEthernet0.0
      ip filter all-block 10 in

WAN側 : `GE0.0` からのパケット受信時( `in` )に、全てのパケットをブロックします。
値 : `10` はシーケンス番号です。

    ip access-list dynamic d-list http src any dest any
    ip access-list dynamic d-list dns src any dest any
    ip access-list other permit tcp src any dest any dport eq 443
    ip access-list dynamic d-list access other-list

HTTP/DNSをIPアクセスリストとして設定します。
HTTPSはアプリケーション名で指定できないため、ポート番号(TCP/443)を指定します。

    interface GigaEthernet0.0
      ip filter d-list 10 out

送信方向( `out` )に動的IPフィルターのIPアクセスリスト : `d-list` を関連付けします。
値 : `10` はシーケンス番号です。

## 10.3. MACフィルターを使用する

MACフィルターの設定例です。
許可したMACアドレスを持つ端末のみ通信を許可します。

### 10.3.1. 設定

#### 10.3.1.1. 本装置の設定

    Router# configure
    Router(config)# access-list mac-list permit src 11:22:33:44:55:01 dest any
    Router(config)# interface GigaEthernet2.0
    Router(config-GigaEthernet2.0)# ip address 192.168.0.254/24
    Router(config-GigaEthernet2.0)# filter mac-list 10 in
    Router(config-GigaEthernet2.0)# no shutdown
    Router(config-GigaEthernet2.0)# exit
    Router(config)#

### 10.3.2. 解説

    access-list mac-list permit src 11:22:33:44:55:01 dest any
    interface GigaEthernet2.0
      filter mac-list 10 in

LAN側 : `GE2.0` からのパケット受信時( `in` )に、送信元MACアドレスが `11:22:33:44:55:01` のみアクセスを許可します。
それ以外のパケットは暗黙のdenyとして全てブロックします。
値 : `10` はシーケンス番号です。

## 10.4. URLフィルターを使用する(内部URLフィルター)

内部URLフィルターの設定例です。
HTTP/HTTPSの特定ドメインと、ドメイン名にIPアドレスを指定した通信をブロックする例です。

### 10.4.1. 設定

#### 10.4.1.1. 本装置の設定

    Router# configure
    Router(config)# ip route default GigaEthernet0.1
    Router(config)# url-list url-list deny domain *example1.com
    Router(config)# url-list url-list deny ip any
    Router(config)# ppp profile ppp-profile
    Router(config-ppp-ppp-profile)# authentication myname user@example.com
    Router(config-ppp-ppp-profile)# authentication password user@example.com ppp-password
    Router(config-ppp-ppp-profile)# exit
    Router(config)# interface GigaEthernet2.0
    Router(config-GigaEthernet2.0)# ip address 192.168.0.254/24
    Router(config-GigaEthernet2.0)# no shutdown
    Router(config-GigaEthernet2.0)# exit
    Router(config)# interface GigaEthernet0.1
    Router(config-GigaEthernet0.1)# encapsulation pppoe
    Router(config-GigaEthernet0.1)# ppp binding ppp-profile
    Router(config-GigaEthernet0.1)# ip address ipcp
    Router(config-GigaEthernet0.1)# ip napt enable
    Router(config-GigaEthernet0.1)# url-filter url-list 10 out
    Router(config-GigaEthernet0.1)# no shutdown
    Router(config-GigaEthernet0.1)# exit
    Router(config)#

### 10.4.2. 解説

    url-list url-list-1 deny domain *example1.com
    url-list url-list-1 deny ip any

URLリストの設定です。
URLの末尾 `example1.com` に一致する通信と、ドメイン名にIPアドレスを指定した通信をブロックします。
それ以外の通信は暗黙のpermitとして全て許可します。

    interface GigaEthernet0.1
      url-filter url-list 10 out

WAN側インタフェース `GE0.1` の送信方向( `out` )にURLフィルターとしてURLリストを関連付けます。
値 : `10` はシーケンス番号です。