ポリシーベースのルーティング(その1)

 ポリシーベースルーティングでは、ネットワーク管理者が定義したポリシーに基づいてデータパケットの転送とルーティングが制御できます。特定のIPアドレスや、指定したTCP/UDPポート番号のトラフィックごとに異なる経路を利用させることができます。

 ポリシーベースのルーティングでは、任意のインタフェースで発生する通信の送信元、宛先のIPアドレスやTCP/UDPポート番号、ICMP等をFILTERで識別して、その識別した通信をポリシーで定めたルーティングを割り当てます。

まずは、ポリシールーティングを設定するコマンドを把握しておきましょう!

ポリシールーティングを設定するコマンド

ADD IP FILTER=filter-id SOURCE=ipadd {ACTION={INCLUDE|EXCLUDE}|POLICY=0..15[SMASK=ipadd] [SPORT={port-name|[port]:[port]}] [DESTINATION=ipadd [DMASK=ipadd]] [DPORT={port-name|[port]:[port]}] [ICMPCODE={icmp-code-name|icmp-code-id}] [ICMPTYPE={icmp-type-name|icmp-type-id}] [LOG={4..1600|DUMP|HEADER|NONE}] [OPTIONS={YES|NO}] [PROTOCOL={protocol|ANY|ICMP|OSPF|TCP|UDP}] [SESSION={ANY|ESTABLISHED|START}] [SIZE=size] [ENTRY=entry-id]

filter-id: フィルター番号(0~299)
ipadd: IPアドレスまたはネットマスク
port-name: サービス名
port: TCP/UDPポート番号(0~65535)
icmp-code-name: ICMPコード名
icmp-code-id: ICMPコード番号(0~65535)
icmp-type-name: ICMPメッセージ名
icmp-type-id: ICMPメッセージ番号(0~65535)
protocol: IPプロトコル番号(0~65535)
size: データグラム長
entry-id: エントリー番号(1~)

 ソフトウェアIPフィルターには、受信パケットを許可/破棄するトラフィックフィルターと、受信パケットに内部的な経路選択ポリシーを割り当て、経路選択時の動作に影響を与えるポリシーフィルターの2種類があります。

<パラメータ>
FILTER: フィルター番号。0~99はトラフィックフィルター、100~199はポリシーフィルター、200~299は使用不可。

SOURCE: 始点IPアドレス。0.0.0.0はすべてのアドレスを意味する。必須パラメーター

POLICY: ポリシーフィルター(フィルター番号100~199)において、マッチしたパケットに割り当てる経路選択ポリシーを指定する。経路選択ポリシーの範囲は0~7だが、POLICYパラメーターには0~15の範囲を指定することができる。

 上のコマンドを見てお分かりのように、パラメータが多く、きめ細かなアクセス制御が可能です。このコマンドをマスターするには、、コマンドリファレンスの熟読が必要です。

 今回は、ポリシーに基づいたスタティックルーティングの設定を行うので、以下のパラメータだけ使用します。

ADD IP FILTER=filter-id SOURCE=ipadd POLICY=0..15 [SMASK=ipadd] [SPORT={port-name|[port]:[port]}] [DESTINATION=ipadd [DMASK=ipadd]] [DPORT={port-name|[port]:[port]}] [PROTOCOL={protocol|ANY|ICMP|OSPF|TCP|UDP}]

FILTER: ポリシーフィルターの範囲である「100~199」を使用します。
POLICY: 経路選択ポリシーの範囲である「0~7」を使用します。

他、フィルターの設定で、おなじみの送信元、宛先のIPアドレス、ポート番号、プロトコルを指定します。

それでは、ポリシーを使ってマルチホーミングの設定を行ってみます。

 マルチホーミングを使うと、インターネット回線を複数の回線で接続して1つの回線が切断されても、他の回線で通信し続けられるようにしたり、複数の経路で負荷を分散させることができるようになります。

今回は、送信元IPアドレスを元に、複数のISPへ負荷を分散させるように設定します。

送信元IPアドレスを元にポリシールーティングを行う設定

<作成するポリシー>

  • VLAN30に所属する端末は、ISP1経由でインターネット接続を行う。
  • VLAN40に所属する端末は、ISP2経由でインターネット接続を行う。

 使用するネットワークは、下図のように構築したいところなのですが、各家庭で複数のISPと契約しているケースは、少ないと思います。

 そこで、下の図のように1つのISPで演習できるように、ネットワークの構成を変更して、ポリシールーティングの検証を行ってみることにします。インターネットへの接続には、ブロードバンドルータを使用します。最近のほとんどのブロードバンドルータには、スイッチが内蔵されているので、ポートが4つ程度付いています。Ciscoルータは、このポートに接続します。

通信の流れが、以下のようになるようにします。

VLAN30の端末 → ブロードバンドルータ → ISP
VLAN40の端末 → Ciscoルータ → ブロードバンドルータ → ISP

 今回、Ciscoルータを使用していますが、L3SWを使用しても代用できます。お手持ちのネットワーク機器で、ネットワークの構成をカスタマイズしてみて下さい。

ポリシールーティングを設定する手順は、以下の手順になります。

ポリシールーティングの定義手順

①フィルターを作成する
②フィルターをインタフェースに適用する
③ポリシーごとに経路を割り当てる

①フィルターを作成する

 VLAN30、VLAN40のIPインタフェースに適用させるポリシーフィルタを作成します。ポリシーフィルタは、フィルタ番号100~199を使う必要があります。

ADD IP FILTER=100 SOURCE=192.168.30.0 SMASK=255.255.255.0 DESTINATION=0.0.0.0 DMASK=0.0.0.0 POLICY=3
ADD IP FILTER=101 SOURCE=192.168.40.0 SMASK=255.255.255.0 DESTINATION=0.0.0.0 DMASK=0.0.0.0 POLICY=4

【注意事項】
 フィルターを作成するコマンドは、とても長くなります。一度にコマンドラインに入力できる文字数には制限があります。CentreCOM8624XLでは、最大122文字までです。長くなる場合には、コマンドやオプションの指定を省略形で、入力したり、省略してもコマンドが書ききれない場合には、コマンドを2行にわけで、setコマンドで追加するなどして対応して下さい。

②フィルターをインタフェースに適用する

作成したフィルターをインターフェースに適用します。

SET IP INT=VLAN30 POLICYFILTER=100
SET IP INT=VLAN40 POLICYFILTER=101

③ポリシーごとに経路を割り当てる

ポリシーごとにスタティックルートを定義します。

ADD IP ROUTE=0.0.0.0 MASK=0.0.0.0 INT=VLAN10 NEXT=192.168.1.254 POLICY=3
ADD IP ROUTE=0.0.0.0 MASK=0.0.0.0 INT=VLAN20 NEXT=192.168.2.254 POLICY=4

これで、

・ポリシー3に該当した通信は、ポリシー3のデフォルルートで、ブロードバンドルータに送られる。
・ポリシー4に該当した通信は、ポリシー4のデフォルルートで、Ciscoルータに送られる。

ようになります。

●L3SWのコンフィグ

create vlan=vlan10 vid=10
create vlan=vlan20 vid=20
create vlan=vlan30 vid=30
create vlan=vlan40 vid=40

add vlan=vlan10 port=1
add vlan=vlan20 port=5
add vlan=vlan30 port=8-16
add vlan=vlan40 port=17-24

enable ip
add ip int=vlan10 ip=192.168.1.253 mask=255.255.255.0
add ip int=vlan20 ip=192.168.2.253 mask=255.255.255.0

add ip int=vlan30 ip=192.168.30.254 mask=255.255.255.0
add ip int=vlan40 ip=192.168.40.254 mask=255.255.255.0

ADD IP FILTER=100 SOURCE=192.168.30.0 SMASK=255.255.255.0 DESTINATION=0.0.0.0
 DMASK=0.0.0.0 POLICY=3

ADD IP FILTER=101 SOURCE=192.168.40.0 SMASK=255.255.255.0 DESTINATION=0.0.0.0
 DMASK=0.0.0.0 POLICY=4

SET IP INT=VLAN10 POLICYFILTER=100
SET IP INT=VLAN30 POLICYFILTER=100

SET IP INT=VLAN20 POLICYFILTER=101
SET IP INT=VLAN40 POLICYFILTER=101

ADD IP ROUTE=0.0.0.0 MASK=0.0.0.0 INT=VLAN10 NEXT=192.168.1.254 POLICY=3
ADD IP ROUTE=0.0.0.0 MASK=0.0.0.0 INT=VLAN20 NEXT=192.168.2.254 POLICY=4

●Ciscoルータのコンフィグ

!
version 12.0
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname Router
!
!
ip subnet-zero
!
!
!
interface Ethernet0/0
 ip address 192.168.2.254 255.255.255.0
 no ip directed-broadcast
!
interface Ethernet0/1
 ip address 192.168.1.252 255.255.255.0
 no ip directed-broadcast
!
ip classless
ip route 0.0.0.0 0.0.0.0 192.168.1.254
ip route 192.168.40.0 255.255.255.0 192.168.2.253
!
!
line con 0
 transport input none
line aux 0
line vty 0 4
!
no scheduler allocate
end

●ブロードバンドルータの設定

ブロードバンドルータにスタティックルートを設定します。

192.168.2.0/24 → 192.168.21.252
192.168.30.0/24 → 192.168.1.253
192.168.40.0/24 → 192.168.1.252

それでは、送信元IPアドレスによりポリシールーティングが行われているかどうか、検証してましょう!

続きは、次の「ポリシーベースのルーティング(その2)」で検証します。