例:Configuring a DHCP Firewall Filter to Protect the Routing Engine
この例では、適切なDHCPパケットがMXシリーズルーターのルーティングエンジンに確実に到達できるように、ファイアウォールフィルターを設定する方法を示しています。
要件
この設定例は、DHCP ローカル サーバーと DHCP リレー エージェント サービスが、従来の dhcpd プロセスや fud(UDP 転送)プロセスではなく、jdhcpd プロセスによって提供されるルーターにのみ適用されます。MXシリーズのルーター、M120ルーター、M320ルーターはjdhcpdを使用します。つまり、DHCPリレーでは、設定は[edit forwarding-options dhcp-relay]
階層レベルでのみ設定が必要で、[edit forwarding-options helpers bootp]
階層レベルでは必要ありません。
この機能を設定する前に、デバイスの初期化以上の特別な設定を行う必要はありません。
概要
適切なDHCPパケットのみを許可してルーティングエンジンを保護するフィルターなど、ルーティングエンジンでDHCPパケットに対して何らかのアクションを実行するファイアウォールフィルターでは、ポート67(bootps)とポート68(bootpc)の両方が送信元ポートと宛先ポートとして設定されている必要があります。
ラインカードで受信されたDHCPパケットは、jdhcpdが新しいUDPヘッダーでカプセル化し、ルーティングエンジンに転送される前に送信元と宛先アドレスがポート68に設定されます。DHCPリレーとDHCPプロキシでは、ルーターからDHCPサーバーに送信されたパケットは送信元と宛先のUDPポートが双方とも67に設定されます。DHCPサーバーは同じポートを使用して応答します。ただし、ラインカードがこれらのDHCP応答パケットを受信すると、ルーティングエンジンにパケットをパスする前に双方のポート番号を67から68に変更します。このため、フィルターは、クライアントからサーバーにリレーされたパケットではポート67を受け入れ、サーバーからクライアントにリレーされたパケットではポート68を受け入れる必要があります。
この例では、 dhcp-client-accept
と dhcp-server-accept
という 2 つのフィルター条件を設定します。dhcp-client-accept
の一致条件は、ブロードキャスト パケットの送信元アドレスと宛先アドレス、DHCP パケットに使用する UDP プロトコル、bootpc(68)送信元ポートを指定します。これらの条件に一致するパケットがカウントされ、受け入れられます。この条件では、boot ps(67)宛先ポートの一致条件を指定する必要はありません。以下のように設定するように、この用語は、パケット転送エンジンに渡される実際のパケット(ポート68)と、DHCPデーモンに到達するカプセル化されたパケット(jdhcpdによって68に変換されたポート67)の両方を処理できます。
dhcp-server-accept
の一致条件は、DHCP パケットに使用する UDP プロトコルを指定し、送信元ポートと宛先ポートの両方でポート 67 と 68 の両方を指定します。これらの条件に一致するパケットがカウントされ、受け入れられます。
この例では、可能なすべての設定の選択肢を示しているわけではなく、設定にフィルターがどのように適用されるかも示していません。この例は、フィルターの静的アプリケーションと、動的プロファイルを使用した動的アプリケーションの両方に適用されます。
設定
手順
CLIクイック構成
サンプルのルーティング エンジン DHCP フィルターをすばやく構成するには、次のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除してから、コマンドをコピーして CLI に貼り付けます。
[edit] edit firewall family inet filter RE-protect edit term dhcp-client-accept set from source-address 0.0.0.0/32 set from destination-address 255.255.255.255/32 set from protocol udp set from source-port 68 set then count dhcp-client-accept set then accept up edit term dhcp-server-accept set from protocol udp set from source-port 67 set from source-port 68 set from destination-port 67 set from destination-port 68 set then count dhcp-server-accept set then accept top
ステップバイステップでの手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、設定モードでのCLIエディターの使用を参照してください。
ルーティング エンジンを保護する DHCP ファイアウォール フィルターを設定するには、次の手順に従います。
ファイアウォールフィルターを作成または指定します。
[edit firewall] user@host# edit family inet filter RE-protect
クライアントのフィルター項目を作成します。
[edit firewall family inet filter RE-protect] user@host# edit term dhcp-client-accept
DHCP パケットの一致条件を指定します。
[edit firewall family inet filter RE-protect term dhcp-client-accept] user@host# set from source-address 0.0.0.0/32 user@host# set from destination-address 255.255.255.255/32 user@host# set from protocol udp user@host# set from source-port 68 user@host# set from destination-port 67
一致したパケットに対して実行するアクションを指定します。
[edit firewall family inet filter RE-protect term dhcp-client-accept] user@host# set then count dhcp-client-accept user@host# set then accept
サーバーのフィルター項目を作成します。
[edit firewall family inet filter RE-protect] user@host# edit term dhcp-server-accept
DHCP パケットの一致条件を指定します。
[edit firewall family inet filter RE-protect term dhcp-server-accept] user@host# set from protocol udp user@host# set from source-port [67 68] user@host# set from destination-port [67 68]
一致したパケットに対して実行するアクションを指定します。
[edit firewall family inet filter RE-protect term dhcp-server-accept] user@host# set then count dhcp-client-accept user@host# set then accept
結果
設定モードから、show firewall
コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit] user@host# show firewall family inet { filter RE-protect { term dhcp-client-accept { from { source-address { 0.0.0.0/32; } destination-address { 255.255.255.255/32; } protocol udp; source-port 68; destination-port 67; } then { count dhcp-client-accept; accept; } } term dhcp-server-accept { from { protocol udp; source-port [ 67 68 ]; destination-port [ 67 68 ]; } then { count dhcp-server-accept; accept; } } } }
デバイスの設定が完了したら、設定モードから commit
を入力します。
検証
ルーティング エンジンの DHCP 保護フィルターが DHCP パケットを正しく通過させていることを確認するには、次のタスクを実行します。
DHCP フィルタの動作の検証
目的
DHCP トラフィックがルーティング エンジンに渡されるにつれて、両方のカウンタが増加することを確認します。
アクション
動作モードからshow firewall family inet filter RE-protect
コマンドを入力します。
user@host> show firewall family inet filter RE-protect Filter: RE-protect Counters: Name Bytes Packets dhcp-client-accept 328 1 dhcp-server-accept 574 1 user@host> show firewall family inet filter RE-protect Filter: RE-protect Counters: Name Bytes Packets dhcp-client-accept 660 2 dhcp-server-accept 1152 2
意味
出力には、dhcp-client-acceptとdhcp-server-acceptの両方の設定されたカウンタがリストされます。コマンドを複数回発行すると、バイトフィールドとパケットフィールドの両方が、トラフィックが受け入れられ、カウントされていることを示していることがわかります。