VyOS PBR設定 Policy Based Routing

目次に戻る

概要

PBR(Policy Based Routing)の設定例です。

PBRの簡単な説明

PBRはある条件によって使用するルーティングテーブルを選択できる機能です。主に使う条件は送信元IPアドレスになりますが、宛先アドレス、送信元/宛先ポート等も使用できます。PBRはルーティング設計を柔軟に行えますが、やたらとPBR(特にポート番号ベース)が使われるネットワークはトラブルシューティングが非常に煩雑になります。基本的には通常のネットワーク設計をし、どうしてもPBRが必要なところに絞って使用するべきです。

前提条件

OS

VyOS 1.4を使用します。

設定

firewall

PBRで使用するオブジェクトを作成しているだけです。

set firewall group network-group nwgrp-dmz network '192.168.188.0/24'
set firewall group network-group nwgrp-rfc1918 network '10.0.0.0/8'
set firewall group network-group nwgrp-rfc1918 network '172.16.0.0/12'
set firewall group network-group nwgrp-rfc1918 network '192.168.0.0/16'

policy

これがPBRの主要な設定となります。本稿ではnwgrp-rfc1918をPBRから除外(main:デフォルトのルーティングテーブルを参照)し、nwgrp-dmzは100のルーティングテーブルを参照しています。除外は必須ではありませんが、デフォルトルートをポリシーで分ける場合はおそらく必要になると思います(設計によりますね)。

set policy route pbr rule 4000 destination group network-group 'nwgrp-rfc1918'
set policy route pbr rule 4000 set table 'main'
set policy route pbr rule 4010 set table '100'
set policy route pbr rule 4010 source group network-group 'nwgrp-dmz'

protocols

前述の100のルーティングテーブルを設定しています。mainのルーティングテーブルのデフォルトルートはpppoe0が設定されていますが、100のルーティングテーブルのデフォルトルートのネクストホップは192.168.177.2です。

set protocols static route 0.0.0.0/0 interface pppoe0
set protocols static table 100 route 0.0.0.0/0 next-hop 192.168.177.2

interfaces

最後に作成したポリシーをインターフェイスに適用すると有効になります。ポリシーは対象インターフェイスのインプットでのみが対象となります。また、ポリシーはインターフェイスに対して1つですので、名前の付け方は考えましょう。本稿では名前をpbrとしていますが、policyの機能はPBRだけではないので、使用する機能によっては矛盾が発生するからです。

set interfaces ethernet eth1 address '192.168.188.1/24'
set interfaces ethernet eth1 policy route 'pbr'

確認

ポリシーの状態確認

PBRの条件にヒットしているかは下記のコマンドで確認しましょう。

$ show policy route

------------------------
Firewall Global Settings
------------------------

Firewall state-policy for all IPv4 and Ipv6 traffic

state           action   log
-----           ------   ---
invalid         drop     enabled
established     accept   disabled
related         accept   disabled

-----------------------------
Rulesets Information
-----------------------------
--------------------------------------------------------------------------------
IPv4 Policy Route "pbr":

 Active on (eth4,ROUTE)

rule  action   proto     packets  bytes
----  ------   -----     -------  -----
4000  set      all       241684434 26303684314
  condition - saddr 0.0.0.0/0 daddr 0.0.0.0/0 /* pbr-4000 */

4010  set      all       23677399 5703867985
  condition - saddr 0.0.0.0/0 daddr 0.0.0.0/0 /* pbr-4010 */

10000 drop     all       4092488  329486705
  condition - saddr 0.0.0.0/0 daddr 0.0.0.0/0

目次に戻る

VyOS PBR設定 Policy Based Routing

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る