ポリシーベースルーティングはルーティングできる経路が2つあって特定のパケットだけを通常のルーティングテーブルとは別の宛先へ転送したい時に使う。
ここではポリシーベースルーティング初めて設定する人に向けて設定コマンドについて説明する。
設定のイメージ
クライアントがサーバへFTPでデータを送信する。
サーバまでの経路は2つある。
デフォルトでは上の帯域を使用する。
FTPの通信のみ帯域の広い下を使うようにポリシーベースルーティングの設置をする。
設定コマンド
スイッチへログイン直後から開始。
switch> enable switch# configure terminal switch(config)# ip access-list extended FTP_ACL switch(config-ext-nacl)# permit tcp host 192.168.10.1 range 20 21 any switch(config-ext-nacl)# exit switch(config)# route-map FTP_Route permit 10 switch(config-route-map)# match ip address FTP_ACL switch(config-route-map)# set ip next-hop 192.168.20.1 switch(config-route-map)# exit switch(config)# interface Vlan100 switch(config-if)# ip policy route-map FTP_Route switch(config-if)# end switch# copy running-config startup-config
各コマンドの説明は下で行う。
アクセスリスト
ip access-list extended FTP_ACLは拡張IPアクセスリストで送信元や送信先のIPとポートを指定する事ができる。
FTP_ACLは名前なので自由に決めていい。
permit tcp host 192.168.10.1 range 20 21 anyで指定している内容
- プロトコル:TCP
- 送信元IPアドレス:192.168.10.1
- 送信元ポート:20から21
- 送信先IPアドレス:全て
- 送信先ポート:全て
ルートマップ
route-mapでルートマップの名前とシーケンス番号を指定する
FTP_Routeは名前なので自由に決めていい。
permitは固定で入れる。
10はシーケンス番号なので10桁単位で入れておく。
match ip addressでポリシールーティングさせたいパケットをACLの名前で指定する。
ここではアクセスリストの項目で作成したFTP_ACLにする。
set ip next-hopで宛先になるIPアドレスを指定する。
ここでは192.168.20.1にする。
ポリシーの適用
interfaceでポリシーを適用させるインタフェースを指定する。
ここではVlan100にする。
ip policy route-mapでルートマップを指定する。
ここではルートマップで作成したFTP_Routeにする。
今回はVlanに適用させたが、適用できるインタフェースはルーテッドポートかSVIのみになっている。
interface gigabitethernet などに直接適用したい場合はno switchportでL3ポートに変えてから適用する必要がある。
- interface port-channel XX
no switchport - interface gigabitethernet XX
no switchport - interface VlanXX
確認コマンド
ここでは3つ実行してみた。
switch# show route-map Load for five secs: 2%/1%; one minute: 3%; five minutes: 2% Time source is NTp, 10:10:10.500 JST Wed Feb 10 2020 route-map FTP_Route , permit, sequence 10 Match clauses: ip address (access-lists): FTP_ACL Set clauses: ip next-hop 192.168.20.1 Policy routing matches: 0 packets, 0 bytes
show route-mapではルートマップの条件と宛先を見ることができる。
下にカウンターがあるがポリシーベースルーティングはハード処理されるので通常このカウンタ はあがらないので動作しているかはパケットキャプチャや宛先装置側で見るなど工夫が必要になる。
switch# show ip policy Load for five secs: 2%/1%; one minute: 3%; five minutes: 2% Time source is NTp, 10:10:10.500 JST Wed Feb 10 2020 Interface Route map Vlan100 FTP_Route
show ip policyではインタフェース毎に適用されているポリシーマップが確認できる。
switch# show ip local policy Load for five secs: 2%/1%; one minute: 3%; five minutes: 2% Time source is NTp, 10:10:10.500 JST Wed Feb 10 2020 Local policy routing is disabled
show ip local policyではスイッチ本体から発信されるパケットについてのポリシーベースルーティングの情報を見ることができるコマンド。
今回は設定していないのでdisabledになっている。
ルートマップの適用は受信インタフェースに行うのでルートマップを適用しているスイッチ本体から発信されるPingなどのパケットは今回設定した内容では対象にならない。
注意点
ポリシーベースルーティングで指定した宛先が故障した場合はルートマップに一致するパケットは全て破棄されてしまう。
デフォルトルートには回らない。