例:LAC 加入者の DHCPv6 および ICMPv6 制御トラフィックを除外するフィルターの設定
この例では、LAC でトンネル加入者のアイドル タイムアウト検出の対象から除外する DHCPv6 および ICMPv6 制御パケットを除外する、標準的なステートレス ファイアウォール フィルターを設定する方法を示します。
要件
この例を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。
概要
LAC での加入者アクセスは、加入者セッションの確立後、加入者がアイドル状態を維持できる最大時間を指定するアイドル タイムアウト期間を設定することで制限できます。LAC は、サブスクライバのアップストリームおよびダウンストリームのデータ トラフィックをモニタして、サブスクライバが非アクティブかどうかを判断します。セッションアカウンティング統計に基づきます。データ トラフィックがいずれかの方向で検出されている限り、サブスクライバーはアイドル状態とは見なされません。アイドル タイムアウト中にトラフィックが検出されない場合、RADIUS による切断や CLI によるログアウトと同様に、サブスクライバは正常にログアウトされます。
ただし、L2TP 加入者用にトンネルが確立されると、LAC のトンネルを通過するすべてのパケットはデータ パケットとして扱われます。その結果、セッションのアカウンティング統計は不正確になり、DHCPv6 および ICMPv6 制御パケットが送信されている限り、加入者はアイドル状態とは見なされません。
Junos OS Release 17.2R1以降、これらの制御パケットに一致する条件を使用して、 inet6
ファミリーのファイアウォールフィルターを定義できます。フィルター条件に exclude-accounting
終了アクションの使用を含め、これらの制御パケットをドロップします。
設定
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、[edit]階層レベルのCLIにコマンドをコピー&ペーストしてください。
set access profile v6-exclude-idle session-options client-idle-timeout 10 set access profile v6-exclude-idle session-options client-idle-timeout-ingress-only edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER set interface-specific set term EXCLUDE-ACCT-DHCP-INET6 from next-header udp set term EXCLUDE-ACCT-DHCP-INET6 from source-port 546 set term EXCLUDE-ACCT-DHCP-INET6 from source-port 547 set term EXCLUDE-ACCT-DHCP-INET6 from destination-port 546 set term EXCLUDE-ACCT-DHCP-INET6 from destination-port 547 set term EXCLUDE-ACCT-DHCP-INET6 then count exclude-acct-dhcpv6 set term EXCLUDE-ACCT-DHCP-INET6 then exclude-accounting set term EXCLUDE-ACCT-ICMP6 from next-header icmp6 set term EXCLUDE-ACCT-ICMP6 from icmp-type router-solicit set term EXCLUDE-ACCT-ICMP6 from icmp-type neighbor-solicit set term EXCLUDE-ACCT-ICMP6 from icmp-type neighbor-advertisement set term EXCLUDE-ACCT-ICMP6 then count exclude-acct-icmpv6 set term EXCLUDE-ACCT-ICMP6 then exclude-accounting set term default then accept top edit dynamic-profiles pppoe-dynamic-profile interfaces pp0 unit "$junos-interface-unit" set family inet6 filter input EXCLUDE-ACCT-INET6-FILTER set family inet6 filter output EXCLUDE-ACCT-INET6-FILTER set actual-transit-statistics
フィルターを設定する
ステップバイステップでの手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLI のナビゲーションについては、CLIユーザー・ガイドの コンフィギュレーション・モードでのCLIエディタの使用を参照してください。
フィルターを構成するには:
サブスクライバセッションのアイドルタイムアウトを設定します。
[edit access profile v6-exclude-idle] user@host# set session-options client-idle-timeout 10
アイドルタイムアウトは、イングレストラフィックにのみ適用されることを指定します。
[edit access profile v6-exclude-idle] user@host# set session-options client-idle-timeout-ingress-only
アカウンティング統計から DHCPv6 制御パケットを除外するファイアウォール フィルター条件を定義します。
最初の [次のヘッダー] フィールドが UDP(17)に設定されているパケットの一致を指定します。
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 from next-header udp
送信元ポートが 546 または 547(DHCPv6)のパケットの一致を指定します。
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 from source-port 546 user@host# set term EXCLUDE-ACCT-DHCP-INET6 from source-port 547
DHCP宛先ポートが546または547(DHCPv6)のパケットの一致を指定します。
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 from destination-port 546 user@host# set term EXCLUDE-ACCT-DHCP-INET6 from destination-port 547
一致したDHCPv6パケットをカウントします。
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 then count exclude-acct-dhcpv6
一致した DHCPv6 パケットをアカウンティング統計から除外します。
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 then exclude-accounting
アカウンティング統計から ICMPv6 制御パケットを除外するファイアウォール フィルター条件を定義します。
最初の [次のヘッダー] フィールドが ICMPv6(58)に設定されているパケットの一致を指定します。
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-ICMP6 from next-header icmp6
ICMPv6 メッセージ タイプのパケットの一致を指定します。
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-ICMP6 from icmp-type router-solicit user@host# set term EXCLUDE-ACCT-ICMP6 from icmp-type neighbor-solicit user@host# set term EXCLUDE-ACCT-ICMP6 from icmp-type neighbor-advertisement
一致した ICMPv6 パケットをカウントします。
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-ICMP6 then count exclude-acct-icmpv6
一致した ICMPv6 パケットをアカウンティング統計から除外します。
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term EXCLUDE-ACCT-DHCP-INET6 then exclude-accounting
他のすべてのパケットを受け入れるためのデフォルトのフィルター条件を定義します。
[edit firewall family inet6 filter EXCLUDE-ACCT-INET6-FILTER] user@host# set term default then accept
inet6
ファミリーの入力および出力インターフェイスにフィルターを適用する動的プロファイルを設定します。[edit dynamic-profiles pppoe-dynamic-profile interfaces pp0 unit "$junos-interface-unit"] user@host# set family inet6 filter input EXCLUDE-ACCT-INET6-FILTER user@host# set family inet6 filter output EXCLUDE-ACCT-INET6-FILTER
加入者管理の正確なアカウンティングを可能にします。
[edit dynamic-profiles pppoe-dynamic-profile interfaces pp0 unit "$junos-interface-unit"] user@host# set actual-transit-statistics
結果
コンフィギュレーションモードから、show access
show firewall
、、およびの各コマshow dynamic-profiles
ンドを入力し、コンフィギュレーションを確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@host# show access profile v6-exclude-idle { session-options { client-idle-timeout 10; client-idle-timeout-ingress-only; } }
user@host# show firewall family inet6 { filter EXCLUDE-ACCT-INET6-FILTER { interface-specific; term EXCLUDE-ACCT-DHCP-INET6 { from { next-header udp; source-port [ 546 547 ]; destination-port [ 546 547 ]; } then { count exclude-acct-dhcpv6; exclude-accounting } } term EXCLUDE-ACCT-ICMP6 { from { next-header icmp6; icmp-type [ router-solicit neighbor-solicit neighbor-advertisement ] } then { count exclude-acct-icmpv6; exclude-accounting; } } term default { then accept; } } }
user@host# show dynamic-profiles pppoe-dynamic-profile { interfaces { pp0 { unit "$junos-interface-unit" { actual-transit-statistics; family inet6 { filter { input EXCLUDE-ACCT-INET6-FILTER; output EXCLUDE-ACCT-INET6-FILTER; } } } } } }
デバイスの設定が完了したら、設定モードから commit を入力します。