トラフィック制御 / ポリシーベースルーティング
ポリシーベースルーティング(PBR)は、始点・終点IPv4/IPv6アドレス、TCP/UDPポートなどのさまざまな条件に基づいて、ルーティング対象パケットの転送先(ネクストホップ)を決定する仕組みです。
経路表を用いる通常のIPv4/IPv6ルーティングでは転送先の判断に終点IPアドレスしか使いませんが、ポリシーベースルーティングではエンティティー定義とアプリケーション定義で指定可能なすべての条件を使用できるため、より細やかな経路制御が可能です。
本製品では、「PBRルール」を登録し、ポリシーベースルーティング機能を有効化することで、ポリシーベースルーティングを実現します。
ポリシーベースルーティングの基本的な仕様は次のとおりです。
- PBRルールはIPv4/IPv6あわせて128個まで登録可能
- 各ルールでは対象となるパケットの条件をアプリケーション定義(パケット種別)とエンティティー定義(送信元、宛先)で指定する。
アプリケーション定義ではDSCP値も条件に指定できる(DSCP値はPBRとQoSでのみサポート)。
- 各ルールではネクストホップを8つまで指定できる(同時に使うのは1つ)。
通常時は最初に指定したネクストホップが使われるが、同ネクストホップが使用できなくなった場合は次に指定したネクストホップが使われる。
- IPv4/IPv6パケットの転送判断時には、PBRルールをID順(1~128)に検索し、最初にマッチしたルールで指定されたネクストホップに転送する
- どのPBRルールにもマッチしなかったパケットは、通常のIPv4/IPv6経路エントリーにしたがって転送される。
なお、PBRルールは、回線状況に応じて複数VPN回線間でトラフィックを分散させるSD-WANロードバランスでも使用します。これについては、「トラフィック制御」/「SD-WANロードバランス」をご参照ください。
基本設定
ポリシーベースルーティングの基本的な設定手順を説明します。
ここでは、ネットワーク「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側の経路を使うよう設定してみます。
- 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 ↓
エンティティー定義、アプリケーション定義の詳細については、「UTM」/「エンティティー定義」、「UTM」/「アプリケーション定義」をご覧ください。
- ポリシーベースルーティングの設定を行うため、policy-based-routingコマンドでポリシーベースルーティングモードに移動します。
awplus(config)# policy-based-routing ↓
- 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 ↓
- ポリシーベースルーティングを有効にします。これには、policy-based-routing enableコマンドを使います。
awplus(config-pbr)# policy-based-routing enable ↓
設定は以上です。
■ ポリシーベースルーティングの有効・無効と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 ↓
(C) 2015 - 2019 アライドテレシスホールディングス株式会社
PN: 613-002765 Rev.A