## access-list

> 特定のパケットと、そのパケットの動作（中継or廃棄or学習フィルタリング）を指定します。
> 指定したパケットは、以下の機能で使用します。refreshコマンド後に有効になるコマンドです。
> - フィルタリング（ip access-groupコマンド）
> - 学習フィルタリング（ip access-groupコマンド）
> - オフセットリスト（offset-listコマンド）
> - RIP/BGPで送信するメトリック値の指定（distanceコマンド）
> - BGPで送信する経路の指定（neighbor <IP-address> distribute-listコマンド）
> - 経路情報の指定（match ip addressコマンド）
> - NextHopの指定（match ip nexthopコマンド）
> - NAT変換前のアドレス指定（ip nat insideコマンド）
> 使用方法は、まず本コマンドでパケットを指定した後、上記機能を使用するモードで、指定したアクセスリスト番号を指定します。
> access-listは、番号順に適用されます。
> また、同じ番号のaccess-listに複数行の設定をした場合は、上の行から適用されます。
> refreshコマンド後に有効になるコマンドです。

#### アクセスリスト番号について

> 本装置のアクセスリスト番号は、以下の規定があります。

> アクセスリスト番号 | 名称 | 設定内容
> --- | --- | ---
> 1〜99、1300〜1999 | IPv4標準設定 | IPv4送信元アドレス指定
> 100〜199、2000〜2699 | IPv4拡張設定 | IPv4送信元／宛先アドレス指定 プロトコル番号指定 送信元／宛先ポート番号指定
> 3000〜3499 | IPv6標準設定 | IPv6送信元／宛先アドレス指定
> 3500〜3999 | IPv6拡張設定 | IPv6送信元アドレス指定 プロトコル番号指定 送信元／宛先ポート番号指定

#### 指定パケットの動作指定について

> 指定したパケットを中継対象とするか、廃棄対象とするかを指定します。中継対象とする場合はpermit、廃棄対象とする場合はdenyを指定します。
> この指定が必要なのは、フィルタリング／経路情報の指定／NextHopの指定のためにアクセスリストを指定する場合のみです。他の用途で指定する場合はpermitを指定してください。

#### IPアドレス範囲指定

> アクセスリストコマンドでIPv4アドレスを指定する場合、マスク（Wildcardマスク）を使用して1エントリでアドレス範囲を指定することができます。
> Wildcardマスクは、サブネットマスクとは書式が異なりますので注意してください。Wildcardマスクとサブネットマスクは、"1"と"0"の判別が逆になります。
> 例１）24bitマスクを、Wildcardマスクで表現する場合と、サブネットマスクで表現する場合の違い
> Wildcardマスクの場合：0.0.0.255
> サブネットマスクの場合：255.255.255.0
> 例２）ホストを、Wildcardマスクで表現する場合と、サブネットマスクで表現する場合の違い
> Wildcardマスクの場合：0.0.0.0
> サブネットマスクの場合：255.255.255.255

#### ポート番号の指定

> IPv4/IPv6拡張設定では、TCP/UDP上位ポート番号を指定することができます。この指定は、フィルタリング／学習フィルタリングの指定のためにアクセスリストを指定する場合に効果があります。他の用途で指定する場合は、標準設定でアクセスリストを指定してください。

### 学習フィルタリング

> FITELnet-F120 では、常にインターネットに接続しており、セキュリティとしては危険な状態に常にさらされています。
> 学習フィルタリング機能では、LAN 側からのインターネット接続に対する応答データ以外はフィルタリング（廃棄）することができます。
> 学習フィルタリング機能を使用する場合は、外部からのアクセス（Web 等）はできなくなります。（アクセスを許可するアドレスを限定することはできます）
> ただし、VPN からの受信に関してはフィルタリングを行いません。

> FITELnet-F120で、学習フィルタリングを使用する場合は、access-listコマンドの属性で、"dynamic"を指定します。

### 設定例１　IPv4標準アクセスリストに、192.168.100.0/24を設定する（許可属性）

> Router(config)# access-list 1 permit 192.168.100.0 0.0.0.255

### 設定例２　IPv4拡張アクセスリストに、src=192.168.100.0/24 dst=192.168.200.0/24を設定する（不許可属性）

> Router(config)# access-list 100 deny ip 192.168.100.0 0.0.0.255 192.168.200.0 0.0.0.255

### 設定例３　IPv6標準アクセスリストに、src=3ffe:110::/64を dst=3ffe:111::/64を設定する（許可属性）

> Router(config)# access-list 3000 permit 3ffe:110::/64 3ffe:111::/64

### 設定例４　IPv6拡張アクセスリストに、src=any srcport=any dst=any dstport=80を設定する（不許可属性）

> Router(config)# access-list 3500 deny tcp any gt 0 any eq 80

### 設定例５　学習フィルタリングを指定する（IPv4）

> Router(config)# access-list 100 dynamic permit ip any any

### コマンド書式

#### IPv4標準アクセスリスト（アクセスリスト番号：1〜99、1300〜1999）

> access-list <access-list番号> { permit | deny } { any | <送信元IPアドレス> <送信元Wildcardマスク> }[log] [count]

#### IPv4拡張アクセスリスト（アクセスリスト番号：100〜199、2000〜2699）

> access-list <access-list番号> { [dynamic] permit | deny } <プロトコル番号> { any | host <送信元IPアドレス> | <送信元IPアドレス> <送信元Wildcardマスク> } [<ポート属性> <TCPポート番号>] [<ポート属性> <UDPポート番号>] { any | host <宛先IPアドレス> | <宛先IPアドレス> <宛先Wildcardマスク> } [ ICMPタイプ ] [<ポート属性> <TCPポート番号>] [<ポート属性> <UDPポート番号>][log] [count]

#### IPv6標準アクセスリスト（アクセスリスト番号：3000〜3499）

> access-list <access-list番号> { permit | deny } { any | <送信元IPv6プレフィックス> } { any | <宛先IPv6プレフィックス> }[count]

#### IPv6拡張アクセスリスト（アクセスリスト番号：3500〜3999）

> access-list <access-list番号> { [dynamic] permit | deny } <プロトコル番号> { any | <送信元IPv6プレフィックス> } [<ポート属性> <TCPポート番号>] [<ポート属性> <UDPポート番号>] { any | <宛先IPv6プレフィックス> } [ ICMPv6タイプ ] [<ポート属性> <TCPポート番号>] [<ポート属性> <UDPポート番号>][count]

### パラメータ

> パラメータ | 設定内容 | 設定範囲 | 省略時の値
> --- | --- | --- | ---
> access-list番号 | それぞれの属性の番号を指定します。 |
> 1〜99、1300〜1999 | IPv4標準アクセスリスト
> 100〜199、2000〜2699 | IPv4拡張アクセスリスト
> 3000〜3499 | IPv6標準アクセスリスト
> 3500〜3999 | IPv6拡張アクセスリスト
> | 省略不可
> dynamic | 学習フィルタリングを使用する場合に指定します。 | dynamic | 学習フィルタリングのエントリではない
> { permit | deny } | 許可属性か、不許可属性かを選択します。 |
> permit | 許可属性
> deny | 不許可属性
> | 省略不可
> プロトコル番号 | プロトコル名もしくはプロトコル番号を選択します。 |
> gre | Cisco's GRE tunneling
> icmp | ICMP（IPv4拡張アクセスリスト時）
> icmpv6 | ICMPv6（IPv6拡張アクセスリスト時）
> ip | IP
> ipinip | IPトンネル
> tcp | TCP
> udp | UDP
> 0〜255 | プロトコル番号を指定
> | 省略不可
> any | 各パラメータ（アドレスやポート番号など）で、「全て」を指定する場合は"any"を入力します。 | any | -
> 送信元IPアドレス | 送信元アドレスを指定します。 | IPv4アドレス形式 | 省略不可
> 送信元Wildcardマスク | 送信元アドレスを範囲指定するために、Wildcardマスクを指定します。 | IPv4アドレス形式 | 省略不可
> 宛先IPアドレス | 宛先アドレスを指定します。 | IPv4アドレス形式 | 省略不可
> 宛先Wildcardマスク | 宛先アドレスを範囲指定するために、Wildcardマスクを指定します。 | IPv4アドレス形式 | 省略不可
> host | IPv4拡張アクセスリストで、送信元/宛先アドレスとしてホストアドレスを指定する場合につけます。 | host | -
> 送信元IPv6プレフィックス | 送信元IPv6プレフィックスを指定します。 | IPv6プレフィックス形式 | 省略不可
> 宛先IPv6プレフィックス | 宛先IPv6プレフィックスを指定します。 | IPv6プレフィックス形式 | 省略不可
> ICMPタイプ | プロトコル番号で"icmp"を指定した場合に、対象とするICMPタイプを指定します。 |
> 指定できるICMPタイプ
> administratively-prohibited
> alternate-address
> conversion-error
> dod-host-prohibited
> dod-net-prohibited
> echo
> echo-reply
> general-parameter-problem
> host-isolated
> host-precedence-unreachable
> host-redirect
> host-tos-redirect
> host-tos-unreachable
> host-unknown
> host-unreachable
> information-reply
> information-request
> mask-reply
> mask-request
> mobile-redirect
> net-redirect
> net-tos-redirect
> net-tos-unreachable
> net-unreachable
> network-unknown
> no-room-for-option
> option-missing
> packet-too-big
> parameter-problem
> port-unreachable
> precedence-unreachable
> protocol-unreachable
> reassembly-timeout
> redirect
> router-advertisement
> router-solicitation
> source-quench
> source-route-failed
> time-exceeded
> timestamp-reply
> timestamp-request
> traceroute
> ttl-exceeded
> unreachable
> ICMPタイプ値（0〜255）
> | 全てのICMPタイプ
> ICMPv6タイプ（IPv6） | プロトコル番号で"icmpv6"を指定した場合に、対象とするICMPv6タイプを指定します。 |
> ICMPv6タイプ
> address-unreachable
> administratively-prohibited
> dest-unreachable
> echo-reply
> echo-request
> erroneous-header-field
> hop-limit-exceeded-in-transit
> multicast-listener-done
> multicast-listener-query
> multicast-listener-report
> neighbor-advertisement
> neighbor-solicitation
> no-route-to-destination
> packet-too-big
> parameter-problem
> port-unreachable
> reassembly-time-exceeded
> redirect
> router-advertisment
> router-solicitation
> time-exceeded
> unrecognized-next-header
> unrecognized-option
> ICMPv6タイプ値（0〜255）
> | 全てのICMPv6タイプ
> ポート属性 | ポート番号を範囲で指定するために、ポート属性を指定します。 |
> eq | 指定するポートが対象
> gt | 指定するポート番号より大きいポート番号が対象
> lt | 指定するポート番号より小さいポート番号が対象
> neq | 指定するポート番号以外のポート番号が対象
> range | ポートの範囲を指定する
> | 全てのポート（以降設定なし）
> TCPポート番号 | プロトコルで"tcp"を指定した場合に、対象とするTCPポート番号を指定します。 |
> TCPポート番号
> bgp
> chargen
> cmd
> daytime
> discard
> domain
> echo
> exec
> finger
> ftp
> ftp-data
> gopher
> hostname
> ident
> irc
> klogin
> kshell
> login
> lpd
> nntp
> pim-auto-rp
> pop2
> pop3
> smtp
> sunrpc
> syslog
> tacacs
> tacacs-ds
> talk
> telnet
> time
> uucp
> whois
> www
> TCPポート番号（0〜65535）
> | 全てのTCPポート番号
> UDPポート番号 | プロトコルで"udp"を指定した場合に、対象とするUDPポート番号を指定します。 |
> UDPポート番号
> biff
> bootpc
> bootps
> discard
> dnsix
> domain
> echo
> isakmp
> mobile-ip
> nameserver
> netbios-dgm
> netbios-ns
> netbios-ss
> ntp
> pim-auto-rp
> rip
> snmp
> snmptrap
> sunrpc
> syslog
> tacacs
> tacacs-ds
> talk
> tftp
> time
> who
> xdmcp
> UDPポート番号（0〜65535）
> | 全てのUDPポート番号
> log | パケットフィルタリング機能において該当条件（行単位）にヒットしたパケットが、フィルタリングログに記録されます。 | log | フィルタリングログを記録しません。
> count | 統計情報としてフィルタにヒットしたパケット数、バイト数を表示します。 | count | カウントを行いません。

> 最大エントリ数：ip access-groupで関連付けたaccess-listに対して、最大1024エントリ
> 装置全体で1024エントリ
> ipv4，ipv6の区別無く、装置全体で最大1024エントリ
> 各インターフェース毎の制限無く、装置全体で最大1024エントリ

### この設定を行わない場合

> access-listを使用した機能を使用できません。

## 設定モード

> 基本設定モード

トップページへ