VPNでRIPを利用した時のトラブル対応手順をまとめておく。
VPNがリンクアップしていて通信が正常にできないとき、原因としては2つ考えられる。
– ポリシー
– ルーティングテーブル
まずポリシーについてはANY ANYでパーミットを入れておく。これによりPolicyは調査項目から除外できる。
次にルーティングテーブルについて調べる。このときあらかじめStatic route(両方とも)で接続ができることを確認しておく。
ここまでが前提条件としてRIPの調査を進める。
手順は以下のようになる
- ルーティングテーブルの確認
- neighborsの確認
- インタフェースの確認
- databaseの確認
Routing Tableの全体を確認
RoutingテーブルでStatic/Connected/Hostが正しく表示されているかを確認する。RIPは再配送されてきた情報以外は、Connected/Hostについて認識されていなければやり取りをすることができない。ローカルインタフェースおよびStaticインタフェースについて正しくルーティングテーブルに取り込まれていることを確認する。
get vrouter trust-vr ID IP-Prefix Interface Gateway P Pref Mtr Vsys -------------------------------------------------------------------------------------- * 17 192.168.1.0/24 bgroup0 0.0.0.0 C 0 0 Root * 1 10.0.0.0/24 eth0/0 0.0.0.0 C 0 0 Root * 2 10.0.0.1/32 eth0/0 0.0.0.0 H 0 0 Root * 18 192.168.1.1/32 bgroup0 0.0.0.0 H 0 0 Root * 14 0.0.0.0/0 eth0/0 10.0.0.254 S 20 1 Root * 32 192.168.2.0/24 tun.1 10.0.0.2 R 100 11 Root 31 192.168.1.0/24 tun.1 10.0.0.2 R 100 3 Root
RIP Neighborsの確認
ルーティングテーブル上にRがない場合にはneighborsが認識されていない可能性がある。インタフェース毎にRIPプロトコルの相手が表示されるかを検証する。
get vrouter trust-vr protocol rip neighbors ssg5-serial-> get vrouter trust-vr protocol rip neighbors VR: trust-vr ---------------------------------------------------------------------------- Flags : Static - S, Demand Circuit - T, NHTB - N, Down - D, Up - U, Poll - P, Demand Circuit Init - I Neighbors on interface bgroup0 ---------------------------------------------------------------------------- IpAddress Version Age Expires BadPackets BadRoutes Flags ---------------------------------------------------------------------------- Neighbors on interface tunnel.1 ---------------------------------------------------------------------------- IpAddress Version Age Expires BadPackets BadRoutes Flags ---------------------------------------------------------------------------- 10.0.0.2 2 00:32:45 00:02:35 0 0 U
ここではtunnel.1で10.0.0.2がneighborとして認識されていることがわかる。
RIPが有効になっているインタフェースを確認
RIPはインタフェースで明示的に有効にする必要がある。ここではRIPが対象としているインタフェースで正しく有効になっているかを確認する。
get vrouter trust-vr protocol rip Interface IP-Prefix Admin State Flags NbrCnt Metric Ver-Rx/Tx ---------------------------------------------------------------------------- bgroup0 192.168.1.1/24 enabled enabled S 0 10 v1v2/v1v2 tun.1 unnumbered enabled enabled S 1 1 v1v2/v1v2
この時RIPのメトリックがInterfaceで設定された値であることも確認しておく。
RIPデータベースの確認
RIPデータベースを確認して予定している情報が取り込まれているかを確認する。
Connected/HostがFlags = I
Connected/HostがFlags = Iのルーティングとして出ているかを確認する。ここに出ていないローカルネットワークのサブネットは配送されない。表示されない原因として、1)インタフェースの設定がおかしい、2)再配送がインタフェースで居されていない、3)アクセスリストにIPアドレスが入っていない。
MR
MRについては、NexthopとSourceが正しいこと、インタフェースがNexthopと矛盾していないことを確認する。SourceはRIP情報が来たルータである。Nexthopは該当のサブネットについて送り込むゲートウェイになる。このNexthopとIfpで示されるインタフェースは一致している必要が合る。
metricを確認する
Flags=Iである場合にはCost=0である。それ以外はデフォルトではない設定がされているの確認する。Rである場合にはその前のSourceで確認する。現在のcost – 1でSource側では設定されている。
ssg5-serial-> get vrouter trust-vr protocol rip database VR: trust-vr ---------------------------------------------------------------------------- Total database entry: 3 Flags: Added in Multipath - M, RIP - R, Redistributed - I, Default (advertised) - D, Permanent - P, Summary - S, Unreachable - U, Hold - H DBID Prefix Nexthop Ifp Cost Flags Source ---------------------------------------------------------------------------- 69 192.168.1.0/24 0.0.0.0 bgroup0 0 I - <-- connected routeについて確認する OK <-- Nexthopが0.0.0.0であるならばRIP経由で取得したroutingではないことがわかる、よってSourceもブランク <-- RIP経由で取得したルーティングであればSourceに値が入っているはず <-- Redistributedフラグがついているのでneighborsで学習されているかを確認すること <-- connetedは配送の許可をしているのでこれは構成どおりである 72 192.168.1.0/24 10.0.0.2 tun.1 3 MR 10.0.0.2 <-- from 10.0.0.2 need to check on peer <-- こちらは対向ではredistributedになっていないし、pemissionにもはいっていない、おかしい。 73 192.168.2.0/24 10.0.0.2 tun.1 11 MR 10.0.0.2 <-- from 10.0.0.2 need to check on peer <-- 対向ではredistributedになっている。
Iは送り込み先でRとして表示されていることを確認する。このときCostはneighborsでは+1もしくは+2となっている。MRについてはSourceで表示されているneighborsでどうなっているかを確認する。たどっていけばIで表示されるレコードに到達する。 おかしなレコードがあった場合には送信元の該当インタフェースでRIPを無効にして確認してみるとよい。 メトリックの比較 192.168.1.1 85 192.168.2.0/24 10.0.0.2 tun.1 11 MR 10.0.0.2 81 192.168.1.0/24 0.0.0.0 bgroup0 0 I - 192.168.2.1 55 192.168.2.0/24 0.0.0.0 n/a 10 I - 56 192.168.1.0/24 10.0.0.1 tunnel.1 2 MR 10.0.0.1