PBR(ポリシーベースルーティング)とは、ルーティングテーブルに従ってパケットを転送するのではなく、「送信元アドレス、プロトコル、ポート番号、パケットサイズ、入力I/F」の情報に基づき、ルーティングを行える技術のことです。
様々なルーティング処理を行えるPBRですが、実装上の注意点があるため、過度な利用は推奨しません。利用は最小限に留めます。
デメリット
-1-
行きと帰りのルートが異なる経路になりやすい-
PBRは、通常のルーティングとは異なる経路へ転送するため、行きの通信と戻りの通信が違う経路になることがあります。経路上にファイアウォールなどのネットワーク機器が存在すると、往復通信が異経路になっていることが原因で、通信不可となる可能性があります。
-2-
ルータに負荷がかかる。遅延が発生する可能性がある-
PBRは、指定されたインターフェスに着信する全てのパケット対して、PBR対象かどうかをチェックします。そのため、ルーターに負荷がかかる、パケットの転送に遅延が発生する可能性があります。
-3-
ルーティングが設計が複雑になる-
PBRを多用していると、ルーティング設計が複雑になり、管理しきれないネットワーク環境となってしまいます。
ルートマップのルール
・ ルートマップにはシーケンス番号があり、シーケンス番号の小さい値のroute-mapから処理されます。
・ 合致したroute-mapがあればそれが実行され、以降で定義しているroute-mapの処理は行われません
・ access-list、ip prefix-listコマンド同様に、route-mapコマンドの最後には暗黙のdenyが存在します。
[コマンド構文:PBR用のルートマップの設定]
(config)#route-map {マップ名} [permit | deny] [シーケンス番号]
(config-router-map)#match {条件}
(config-router-map)#set {動作}
マップ名 ・・・任意の名前を入力
permit ・・・ポリシーベースルーティングを行います。
deny ・・・ポリシーベースルーティングを行わずに通常のルーティングを行います。
シーケンス番号 ・・・ルートマップの処理を行う順番(若い番号から順に処理される)
match ip address {ACL}・・・一致条件にACL番号またはACL名を使用すします。
match length {最小値} {最大値} ・・・一致条件にL3のパケット長を使用します。
set ip next-hop {IPアドレス} ・・・「match」に一致したトラフィックを指定したIPアドレスに転送します。
set ip default next-hop {IPアドレス} ・・・ルーティングテーブルに宛先が無かった場合「ip next-hop」の動作をします。
set interface {インターフェース} ・・・「match」に一致したトラフィックを指定したインターフェースから転送します。
set default interface {インターフェース} ・・・ルーティングテーブルに宛先が無かった場合「interface」の動作をします。
set ip precedence {値} ・・・「match」に一致したトラフィックのIP precedence値(優先度を示す値)を書き換えて転送します。
「set ip default next-hop {IPアドレス}」は、ルーティングテーブルに宛先ルートがある場合はルーティングテーブルに従った転送を行い、ルーティングテーブルに宛先ルートが無かった場合は指定したIPアドレスへの転送(ポリシーベースルーティング)を行います。
OSPFでのconfig例
NW構成図
全ルータ(R1~R5)はOSPFでルーティングしている。
OSPF Costを設定し、正常時以下の経路になるようにします。
*注 OSPFのメトリックはコストの小さい方を優先します。
- PC1 -> R1 -> R2 -> R5-> PC3
- PC2 -> R1 -> R2 -> R5 -> PC3
config
--R1--
hostname R1
!
interface GigabitEthernet0/0
ip address 192.168.1.254 255.255.255.0
no sh
ip policy route-map R-MAP
ip ospf cost 5
!
interface GigabitEthernet0/1
ip address 10.12.1.1 255.255.255.0
no sh
ip ospf cost 100
!
interface GigabitEthernet0/2
ip address 10.13.1.1 255.255.255.0
no sh
ip ospf cost 200
!
interface GigabitEthernet0/3
ip address 10.14.1.1 255.255.255.0
no sh
ip ospf cost 300
!
router ospf 1
passive-interface GigabitEthernet0/0
network 0.0.0.0 255.255.255.255 area 0
!
ip access-list extended PBR
permit ip host 192.168.1.100 host 5.5.5.5
!
route-map R-MAP permit 10
match ip address PBR
set ip next-hop 10.13.1.3
!
end
--R2--
hostname R2
!
interface GigabitEthernet0/0
ip address 10.12.1.2 255.255.255.0
no sh
ip ospf cost 10
!
interface GigabitEthernet0/1
ip address 10.25.1.2 255.255.255.0
no sh
ip ospf cost 100
!
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
!
!
end
--R3--
hostname R3
!
interface GigabitEthernet0/0
ip address 10.13.1.3 255.255.255.0
no sh
ip ospf cost 10
!
interface GigabitEthernet0/1
ip address 10.35.1.3 255.255.255.0
no sh
ip ospf cost 100
!
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
!
!
end
--R4--
hostname R4
!
interface GigabitEthernet0/0
ip address 10.14.1.4 255.255.255.0
no sh
ip ospf cost 10
!
interface GigabitEthernet0/1
ip address 10.45.1.4 255.255.255.0
no sh
ip ospf cost 100
!
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
!
!
end
--R5--
hostname R5
!
interface GigabitEthernet0/0
ip address 192.168.10.254 255.255.255.0
no sh
ip ospf cost 5
!
interface GigabitEthernet0/1
ip address 10.25.1.5 255.255.255.0
no sh
ip ospf cost 100
!
interface GigabitEthernet0/2
ip address 10.35.1.5 255.255.255.0
no sh
ip ospf cost 200
!
interface GigabitEthernet0/3
ip address 10.45.1.5 255.255.255.0
no sh
ip ospf cost 300
!
router ospf 1
passive-interface GigabitEthernet0/0
network 0.0.0.0 255.255.255.255 area 0
!
!
end
PBRの設定
この構成での場合、R1に以下の設定が必要です
① PBRを適用するトラフィックをACLで定義します。
ip access-list extended PBR
permit ip host 192.168.1.100 host 192.168.10.100
② route-mapでACLにマッチしたトラフィックのネクストホップを定義します。
route-map R-MAP permit 10
match ip address PBR
set ip next-hop 10.13.1.3
③ Inboundのインターフェイスにpolicy route-mapを定義します。
interface GigabitEthernet0/0
ip policy route-map R-MAP
[set ip next-hop] を設定した結果
PBR設定無し
PC1 -> R1 -> R2 -> R5 -> PC3
PC2 -> R1 -> R2 -> R5 -> PC3
PBR設定有り
PC1 -> R1 -> R3 -> R5 -> PC3
PC2 -> R1 -> R2 -> R5 -> PC3
set ip next-hop 10.13.1.3 を設定したので、10.13.1.3(R3)の経路を通っています。
以上