トラフィック制御 / ポリシーベースルーティング


基本設定
アプリケーションコントロール(DPI)を併用する


ポリシーベースルーティング(PBR)は、始点・終点IPv4/IPv6アドレス、TCP/UDPポートなどのさまざまな条件に基づいて、ルーティング対象パケットの転送先(ネクストホップ)を決定する仕組みです。

経路表を用いる通常のIPv4/IPv6ルーティングでは転送先の判断に終点IPアドレスしか使いませんが、ポリシーベースルーティングではエンティティー定義とアプリケーション定義で指定可能なすべての条件を使用できるため、より細やかな経路制御が可能です。

本製品では、「PBRルール」を登録し、ポリシーベースルーティング機能を有効化することで、ポリシーベースルーティングを実現します。

ポリシーベースルーティングの基本的な仕様は次のとおりです。

なお、PBRルールは、回線状況に応じて複数回線間でトラフィックを分散させるSD-WANロードバランスでも使用します。これについては、「トラフィック制御」/「SD-WANロードバランス」をご参照ください。

Note
ポリシーベースルーティングとNATを併用した場合、NATの種類やパケットの方向(行き・戻り)によってPBRルールの動作するタイミングがそれぞれ以下のように異なります。
Note
netmapでNAT後のアドレスに対してPBRを実行することはできません。

基本設定

ポリシーベースルーティングの基本的な設定手順を説明します。

ここでは、ネットワーク「172.16.0.0/16」宛ての経路が2つスタティックに登録されているものとします。
awplus(config)# ip route 172.16.0.0/16 tunnel0
awplus(config)# ip route 172.16.0.0/16 tunnel1

本製品の初期設定では4経路までのECMP(等コストマルチパス)ルーティングが有効なため、172.16.0.0/16宛てのパケットは前記の2経路にロードバランスされます。ただしこの場合、どのパケットがどちらの経路を通るかは制御できません。

そこで、ポリシーベースルーティング機能を利用して、192.168.10.0/24から172.16.0.0/16に宛てたパケットはtunnel0側の経路を、192.168.20.0/24から172.16.0.0/16に宛てたパケットはtunnel1側の経路を使うよう設定してみます。

  1. PBRルールはアプリケーションとエンティティーを使って定義するため、最初にこれらを定義します。
    ここでは、送信元「192.168.10.0/24」、「192.168.20.0/24」と宛先「172.16.0.0/16」を識別するためのエンティティーを定義します。
    awplus(config)# zone local
    awplus(config-zone)# network net10
    awplus(config-network)# ip subnet 192.168.10.0/24
    awplus(config-network)# exit
    awplus(config-zone)# network net20
    awplus(config-network)# ip subnet 192.168.20.0/24
    awplus(config-network)# exit
    awplus(config-zone)# exit
    awplus(config)# zone remote
    awplus(config-zone)# network net
    awplus(config-network)# ip subnet 172.16.0.0/16
    awplus(config-network)# exit
    awplus(config-zone)# exit
    
    Note
    エンティティー定義、アプリケーション定義の詳細については、「UTM」/「エンティティー定義」「UTM」/「アプリケーション定義」をご覧ください。

  2. ポリシーベースルーティングの設定を行うため、policy-based-routingコマンドでポリシーベースルーティングモードに移動します。
    awplus(config)# policy-based-routing
    

  3. PBRルールを登録します。
    IPv4の場合はip policy-routeコマンドを、IPv6の場合はipv6 policy-routeコマンドを使います。
    ここではIPv4用のip policy-routeコマンドを使っていますが、パケットの種類(アプリケーション)には関知せず、すべてのIPv4パケットを対象とするため、matchパラメーターは省略しています(明示的に「match any」と指定しても同じです)。
    awplus(config-pbr)# ip policy-route from local.net10 to remote.net nexthop tunnel0
    awplus(config-pbr)# ip policy-route from local.net20 to remote.net nexthop tunnel1
    

  4. ポリシーベースルーティングを有効にします。これには、policy-based-routing enableコマンドを使います。
    awplus(config-pbr)# policy-based-routing enable
    

設定は以上です。

■ ポリシーベースルーティングの有効・無効とPBRルールの一覧はshow pbr rules briefコマンドで確認できます。
awplus# show pbr rules brief

■ PBRルールの詳細はshow pbr rulesコマンドで確認できます。
awplus# show pbr rules

■ IPv4のPBR設定を通常のIP経路とともに確認するには、show ip pbr routeコマンドを使います。
awplus# show ip pbr route

■ IPv6のPBR設定を通常のIPv6経路とともに確認するには、show ipv6 pbr routeコマンドを使います。
awplus# show ipv6 pbr route

アプリケーションコントロール(DPI)を併用する

PBRルールの条件としてDPIアプリケーションを使用する場合は、以下の点にご注意ください。

アプリケーションコントロール(DPI)では、各アプリケーション固有の通信パターンを検出するために一定量のパケットを検査する必要があることから、特定トラフィックに対する判定が「undecided」(未判別)→「HTTP一般」→「特定アプリケーション」のように段階的に行われる場合があります。その場合、該当トラフィックがマッチするPBRルールも変化し、結果的に同一フローに属するパケットの転送経路が途中で変動する可能性があります。

PBR・DPI併用時の意図せぬ経路変動を防ぐには、以下の設定を追加してください。

単にapplication-decisionの設定をonce-onlyに変更しただけでは多くのフローが「未判別(undecided)」扱いとなり、DPIによるアプリケーション判定がほとんど利用されなくなってしまいますが、あわせて DPI学習機能(learningコマンド)を有効にすれば、学習済みのアプリケーションについては1パケット目から判別が可能になるため、該当アプリケーション用のPBRルールにしたがった転送が可能になります。


(C) 2015 - 2021 アライドテレシスホールディングス株式会社

PN: 613-002107 Rev.AN