アドレスフィールドに基づくファイアウォールフィルター一致条件
ファイアウォール フィルター 一致条件を設定して、パケットアドレスフィールド(IPv4送信元と宛先アドレス、IPv6送信元と宛先アドレス、またはメディアアクセス制御(MAC)送信元と宛先アドレス)を、指定したアドレスまたはプレフィックス値に対して評価できます。
ファイアウォールの「0/0 except」アドレスに対する暗黙の一致アドレスフィールドに基づくフィルター一致条件
アドレスまたはアドレスプレフィックスのセットに基づくすべてのファイアウォールフィルター一致条件は、アドレス 0.0.0.0/0 except (IPv4 または VPLS トラフィックの場合)または 0:0:0:0:0:0:0:0:0/0 except (IPv6 トラフィックの場合)に対する暗黙の一致に関連付けられます。その結果、指定されたアドレスフィールドが 指定されたアドレスまたはアドレスプレフィックスのいずれにも一致しないパケットは、条件全体に一致しません。
アドレスフィールドをサブネットマスクまたはプレフィックスに一致させる
指定したアドレスプレフィックス内にある送信元アドレスまたは宛先アドレスに一致する単一の一致条件を指定できます。
IPv4サブネットマスク表記
IPv4アドレスの場合、プレフィックス長ではなくサブネットマスク値を指定できます。次に例を示します。
[edit firewall family inet filter filter_on_dst_addr term term3 from] user@host# set address 10.0.0.10/255.0.0.255
プレフィックス表記
アドレスプレフィックスを指定するには、 prefix/prefix-lengthという表記を使用します。次の例では、宛先アドレスがプレフィックス 10.0.0.0/8 に一致する場合に一致が発生します。
[edit firewall family inet filter filter_on_dst_addr term term1 from] user@host# set destination-address 10.0.0.0/8
IPv4アドレスのデフォルトのプレフィックス長
IPv4アドレスに /prefix-length を指定しない場合、プレフィックス長のデフォルトは /32です。次の例は、デフォルトのプレフィックス値を示しています。
[edit firewall family inet filter filter_on_dst_addr term term2 from]
user@host# set destination-address 10
user@host# show
destination-address {
10.0.0.0/32;
}
IPv6アドレスのデフォルトのプレフィックス長
IPv6アドレスに /prefix-length を指定しない場合、プレフィックス長のデフォルトは /128です。次の例は、デフォルトのプレフィックス値を示しています。
[edit firewall family inet6 filter filter_on_dst_addr term term1 from]
user@host# set destination-address ::10
user@host# show
destination-address {
::10/128;
}
MACアドレスのデフォルトのプレフィックス長
VPLS、レイヤー2 CCC、またはレイヤー2 ブリッジングパケットのMAC(メディアアクセス制御)アドレスに /prefix-length を指定しない場合、プレフィックス長のデフォルトは /48になります。次の例は、デフォルトのプレフィックス値を示しています。
[edit firewall family vpls filter filter_on_dst_mac_addr term term1 from]
user@host# set destination-mac-address 01:00:0c:cc:cc:cd
user@host# show
destination-address {
01:00:0c:cc:cc:cd/48;
}
アドレスフィールドと除外値の一致
アドレスフィールド一致条件では、 except キーワードを含めて、指定されたアドレスまたはプレフィックスに一致しないアドレスフィールド に一致が発生するように指定できます。
- IPv4またはIPv6トラフィックでのIPアドレスの除外
- VPLSまたはレイヤー2ブリッジングトラフィックでのIPアドレスの除外
- VPLSまたはレイヤー2ブリッジングトラフィックのMACアドレスを除外する
- すべてのアドレスを除外するには、「0/0」アドレスに明示的に一致する必要があります
IPv4またはIPv6トラフィックでのIPアドレスの除外
以下のIPv4およびIPv6の一致条件では、 except キーワードを含めて、指定されたIPアドレスまたはプレフィックスに一致しないIPアドレスフィールド に一致が発生するように指定できます。
アドレス address 例外—送信元IPアドレスまたは宛先IPアドレス のいずれかが指定されたアドレスまたはプレフィックスと一致しない場合に一致が発生します。
送信元アドレス address 例外—送信元IPアドレス が指定されたアドレスまたはプレフィックスと一致しない場合に一致が発生します。
destination-address address except—宛先IPアドレス が指定されたアドレスまたはプレフィックスと一致しない場合に一致します。
次の例では、172.16.0.0/16 に該当するアドレスを除き、172.0.0.0/8 プレフィックスに該当するすべての IPv4 宛先アドレスに一致します。他のすべてのアドレスは 、暗黙的にこの条件に一致しません。
[edit firewall family inet filter filter_on_dst_addr term term1 from]
user@host# set destination-address 172.16.0.0/16 except
user@host# set destination-address 172.0.0.0/8
user@host# show
destination-address {
172.16.0.0/16 except;
172.0.0.0/8;
}
次の例では、プレフィックス 10.1.1.0/24 に該当しない IPv4 宛先アドレスが一致します。
[edit firewall family inet filter filter_on_dst_addr term term24 from]
user@host# set destination-address 0.0.0.0/0
user@host# set destination-address 10.1.1.0/24 except
user@host# show
destination-address {
0.0.0.0/0;
10.1.1.0/24 except;
}
VPLSまたはレイヤー2ブリッジングトラフィックでのIPアドレスの除外
MX シリーズルーター上の以下の VPLS とレイヤー 2 ブリッジングの一致条件の場合のみ、 except キーワードを含めて、指定された IP アドレスまたはプレフィックスに一致しない IP アドレス フィールド に一致が発生するように指定できます。
IPアドレス address 例外—送信元IPアドレスまたは宛先IPアドレス のいずれかが指定されたアドレスまたはプレフィックスと一致しない場合に一致します。
source-ip-address address except—送信元IPアドレス が指定されたアドレスまたはプレフィックスと一致しない場合に一致します。
destination-ip-address address except—宛先IPアドレス が指定されたアドレスまたはプレフィックスと一致しない場合に一致します。
MX シリーズ ルーターで VPLS トラフィックをフィルタリングする次の例では、送信元 IP アドレスが 例外範囲 55.0.1.0/255.0.255.0 内にあり、宛先 IP アドレスが 5172.16.5.0/8 に一致する場合に一致が発生します。
[edit]
firewall {
family vpls {
filter fvpls {
term 1 {
from {
ip-address {
55.0.0.0/8;
55.0.1.0/255.0.255.0 except;
}
}
then {
count from-55/8;
discard;
}
}
}
}
}
VPLSまたはレイヤー2ブリッジングトラフィックのMACアドレスを除外する
以下のVPLSまたはレイヤー2ブリッジ ングトラフィック一致条件では、 except キーワードを含めて、指定されたMACアドレスまたはプレフィックスに一致しないMACアドレスフィールド に一致するように指定できます。
source-mac-address address except—送信元MACアドレス が指定されたアドレスまたはプレフィックスと一致しない場合に一致します。
destination-mac-address address except—宛先MACアドレス のいずれかが指定されたアドレスまたはプレフィックスと一致しない場合、一致が発生します。
すべてのアドレスを除外するには、「0/0」アドレスに明示的に一致する必要があります
1つ以上のアドレス例外 一致条件( except キーワードを使用するアドレス一致条件)で構成されるが、 一致可能な アドレス一致条件がないファイアウォールフィルター一致条件を指定した場合、設定されたプレフィックスのいずれにも一致しないパケット は、全体の一致操作に失敗します。プレフィックスリストにないアドレスに一致するように、アドレス例外一致条件のファイアウォールフィルター条件を設定するには、 0/0 の明示的な一致を含めて、条件に一致可能なアドレスが含まれます。
次のIPv4トラフィック用ファイアウォールフィルターの例では、from-trusted-addresses条件が一致するトラフィックを破棄できず、show firewall運用モードコマンドの出力にINTRUDERS-COUNTカウンターがありません。
[edit]
user@host# show policy-options
prefix-list TRUSTED-ADDRESSES {
10.2.1.0/24;
192.168.122.0/24;
}
[edit firewall family inet filter protect-RE]
user@host# show
term from-trusted-addresses {
from {
source-prefix-list {
TRUSTED-ADDRESSES except;
}
protocol icmp;
}
then {
count INTRUDERS-COUNT;
discard;
}
}
term other-icmp {
from {
protocol icmp;
}
then {
count VALID-COUNT;
accept;
}
}
term all {
then accept;
}
[edit] user@host# run show firewall Filter: protect-RE Counters: Name Bytes Packets VALID-COUNT 2770 70 Filter: __default_bpdu_filter__
アドレス例外一致条件のフィルター項がプレフィックスリストにないアドレスに一致するようにするには、一連の一致条件に 0/0 の明示的な一致を含めます。
[edit firewall family inet filter protect-RE]
user@host# show term from-trusted-addresses
from {
source-address {
0.0.0.0/0;
}
source-prefix-list {
TRUSTED-ADDRESSES except;
}
protocol icmp;
}
一致条件に 0.0.0.0/0 送信元プレフィックスアドレスを追加すると、 from-trusted-addresses 条件は一致するトラフィックを破棄し、INTRUDERS-COUNTカウンターが show firewall 運用モードコマンドの出力に表示されます。
[edit] user@host# run show firewall Filter: protect-RE Counters: Name Bytes Packets VALID-COUNT 2770 70 INTRUDERS-COUNT 420 5 Filter: __default_bpdu_filter__
いずれかのIPアドレスフィールドを単一の値に一致させる
MX シリーズルーターのIPv4およびIPv6トラフィック、およびVPLSおよびレイヤー2 ブリッジングトラフィックの場合のみ、単一の一致条件を使用して、単一のアドレスまたはプレフィックス値を送信元または宛先IPアドレスフィールドに一致させることができます。
IPv4またはIPv6トラフィックのIPアドレスフィールドのいずれかに一致する
IPv4またはIPv6トラフィックの場合、単一の一致条件を使用して、送信元または宛先IPアドレスフィールドの一致と同じアドレスまたはプレフィックス値を指定できます。送信元アドレスと宛先アドレスの一致条件に同じアドレスを指定する個別のフィルター条件を作成する代わりに、アドレス一致条件のみを使用します。送信元 IP アドレスまたは宛先 IP アドレスのいずれかが指定されたアドレスまたはプレフィックスと一致する場合、一致が発生します。
アドレス一致条件でexceptキーワードを使用する場合、例外が適用される前に送信元IPアドレスと宛先IPアドレスの両方が指定された値に一致すると、一致が発生します。
送信元アドレスまたは宛先アドレスの一致条件を指定するファイアウォールフィルター条件では、アドレス一致条件も指定できません。
VPLSまたはレイヤー2ブリッジングトラフィックのIPアドレスフィールドのいずれかに一致
MX シリーズ ルーター上の VPLS またはレイヤー 2 ブリッジング トラフィックの場合のみ、単一の一致条件を使用して、送信元または宛先 IP アドレス フィールドの一致と同じアドレスまたはプレフィックス値を指定できます。送信元IPアドレスと宛先IPアドレスの一致条件に同じアドレスを指定するフィルター条件を別々に作成する代わりに、IPアドレス一致条件のみを使用します。送信元 IP アドレスまたは宛先 IP アドレスのいずれかが指定されたアドレスまたはプレフィックスと一致する場合、一致が発生します。
IPアドレス一致条件でexceptキーワードを使用する場合、例外が適用される前に送信元IPアドレスと宛先IPアドレスの両方が指定された値に一致すれば一致が発生します。
送信元IPアドレスまたは宛先IPアドレスの一致条件を指定するファイアウォールフィルター条件では、IPアドレスの一致条件も指定することはできません。
アドレスフィールドと連続していないプレフィックスの一致
IPv4トラフィックの場合のみ、IP送信元または宛先アドレスフィールドを指定されたプレフィックスに一致させる単一の一致条件を指定します。プレフィックス は連続している必要はありません。つまり、 送信元アドレス または 宛先アドレス の一致条件のプレフィックスは、互いに隣接または隣接している必要はありません。
次の例では、宛先アドレスがプレフィックス 10.0.0.0/8 またはプレフィックス 192.168.0.0/32 のいずれかに一致する場合に一致が発生します。
[edit firewall family inet filter filter_on_dst_addr term term5 from]
user@host# set destination-address 10.0.0.0/8
user@host# set destination-address 192.168.0.0/32
user@host# show
destination-address {
destination-address 10.0.0.0/8;
destination-address 192.168.0.0/32;
}
一致条件内でプレフィックスを指定する順序は重要ではありません。パケットは、一致条件のすべてのプレフィックスに対して評価され、一致が発生するかどうかを判断します。プレフィックスが重複する場合、最長一致ルールを使用して一致するかどうかを判断します。連続していないプレフィックスの一致条件には、暗黙的な 0/0 except ステートメントが含まれます。これは、一致条件に含まれるプレフィックスに一致しないプレフィックスは、明示的に一致しないと見なされることを意味します。
プレフィックスは順序に依存せず、最長一致ルールを使用するため、長いプレフィックスは、同じタイプである限り短いプレフィックスを含みます( except を指定するかどうかに関係なく)。これは、長いプレフィックスに一致するものはすべて、短いプレフィックスにも一致するためです。
次の例を考えてみましょう。
[edit firewall family inet filter filter_on_src_addr term term1 from]
source-address {
172.16.0.0/10;
172.16.2.0/24 except;
192.168.1.0;
192.168.1.192/26 except;
192.168.1.254;
172.16.3.0/24; # ignored
10.2.2.2 except; # ignored
}
送信元アドレス一致条件内では、2つのアドレスが無視されます。172.16.3.0/16値は、同じタイプのアドレス172.16.0.0/10に該当するため、無視されます。10.2.2.2 の except 値は、暗黙的な 0.0.0.0/0 except match 値に含まれているため、無視されます。
次の送信元 IP アドレスがこのファイアウォール フィルターによって評価されるとします。
送信元IPアドレス 172.16.1.2—このアドレスは 172.16.0.0/10 プレフィックスと一致するため、 then ステートメントのアクションが実行されます。
送信元 IP アドレス 172.16.2.2—このアドレスは 172.16.2.0/24 プレフィックスと一致します。このプレフィックスが否定されている(つまり、 except キーワードを含む)ため、明示的な 不一致 が発生します。フィルター内の次の項がある場合は、その項が評価されます。それ以上の条件がない場合、パケットは破棄されます。
送信元IPアドレス10.1.2.3—このアドレスは 、送信元アドレス条件に含まれるプレフィックスのいずれにも一致しません。代わりに、送信元アドレス一致条件の下で設定されたプレフィックスのリストの末尾を除き、暗黙の 0.0.0.0/0 に一致し、不一致と見なされます。
172.16.3.0/24ステートメントは、アドレス172.16.0.0/10に該当するため無視されます。どちらも同じタイプです。
10.2.2.2 の except ステートメントは、送信元アドレスの一致条件の下で設定されたプレフィックスのリストの最後にある暗黙的な 0.0.0.0/0 except ステートメントに含まれているため、無視されます。
ファイアウォールフィルターの条件に 送信元アドレス address 一致条件が含まれ、後続の条件に同じアドレスに対する 送信元アドレス address 一致条件が含まれる場合、パケットは、介在する条件によって評価される前に、後者の用語によって処理されることがあります。その結果、その間の用語によって拒否されるべきパケットが代わりに受け入れられたり、代わりに受け入れられるはずのパケットが代わりに拒否されたりする場合があります。
これを防止するには、以下のことを推奨します。 送信元アドレス address 一致条件を含むすべてのファイアウォールフィルター条件について、その用語を2つの別々の用語に置き換えます。1つは 送信元アドレス address 一致条件を含むもので、もう1つは 送信元アドレス address 一致条件を含むものです。
アドレスフィールドとプレフィックスリストの一致
ルーティングポリシーステートメントや、パケットアドレスフィールドを評価するステートレスファイアウォールフィルター一致条件で使用するIPv4またはIPv6 アドレスプレフィックスのリストを定義できます。
IPv4またはIPv6アドレスプレフィックスのリストを定義するには、 prefix-list prefix-list ステートメントを含めます。
prefix-list name {
ip-addresses;
apply-path path;
}
以下の階層レベルでステートメントを含めることができます。
[ポリシーオプションの編集]
[edit logical-systems logical-system-name policy-options]
プレフィックスリストを定義した後、IPv4またはIPv6アドレスプレフィックスに基づいてファイアウォールフィルター一致条件を指定するときに使用できます。
[edit firewall family family-name filter filter-name term term-name]
from {
source-prefix-list {
prefix-lists;
}
destination-prefix-list {
prefix-lists;
}
}