LoginSignup
0
0

Lookup の CIDR match を利用してルーティングを検査

Last updated at Posted at 2024-05-13

Splunk Version 9.2.1

簡単なルーティング検査であればさくっと調べる事ができる。
ルーティングループ有無の事前調査などに活用できるかも。
(ソースルーティングも可能、ロードバランシングは未対応)

必要な情報

・Lookup1:対象ネットワークの全ルーティングテーブル
  - node
  - dest_network
  - source_network
  - next_hop_ip
  - next_hop_node

・Lookup2:検査したいパケット
  - source_ip
  - dest_ip
  - 1_node  (※どのノードからパケットをスタートさせるか)

サンプル構成図

image.png

Lookup1:対象ネットワークの全ルーティングテーブル

①下記例のようにLookupファイルとして纏める。

 検査したいネットワークのルーティングテーブルを、1つのLookupファイルに纏める。
 ソースルーティングしない場合は、全て 0.0.0.0/0 で良い。(または登録しない、Lookupの条件から外す)

routing.csv
node dest_network source_network next_hop_ip next_hop_node
node1 172.16.0.0/24 0.0.0.0/0 192.168.1.2 node3
node1 172.16.1.0/24 0.0.0.0/0 192.168.1.2 node3
node1 192.168.0.0/24 0.0.0.0/0 connected connected
node1 192.168.1.0/24 0.0.0.0/0 connected connected
node2 172.16.0.0/24 0.0.0.0/0 192.168.3.2 node4
... ... ... ... ...
②ルックアップ定義で CIDRを指定。

image.png

Lookup2:検査したいパケット

デバッグしたいパケット情報を登録する。

例として3種類のパケットがnode1からスタートした場合、
どのようにルーティングされるか検査する。

packet.csv
source_ip dest_ip 1_node
10.0.0.1 172.16.0.11 node1
10.0.0.10 172.16.0.11 node1
10.0.0.16 172.16.1.22 node1

各パケットのルーティング結果

パケット毎に、どのノードを経由してルーティングされるか検査できる。
この場合、最後が「connected」だとパケットが目的のネットワークに到達できたことを示す。
それ以外の場合、到達できずに捨てられている。

image.png

SPL例 (調査したいhop数だけ lookupをコピーしてください)
qiita.rb
| inputlookup packet.csv
| lookup routing node AS 1_node dest_network AS dest_ip source_network AS source_ip OUTPUT next_hop_node AS 2_node
| lookup routing node AS 2_node dest_network AS dest_ip source_network AS source_ip OUTPUT next_hop_node AS 3_node
| lookup routing node AS 3_node dest_network AS dest_ip source_network AS source_ip OUTPUT next_hop_node AS 4_node
| lookup routing node AS 4_node dest_network AS dest_ip source_network AS source_ip OUTPUT next_hop_node AS 5_node

| table dest_ip source_ip *_node

試しにルーティングループさせてみるとこうなる。

Node3 で、宛先 172.16.1.0/24の nexthopを逆(node4 → node1)にしてみると、、、
image.png

いつまでも node1 ~ node3 間をピンポンして、宛先にたどり着かない様子が確認できる。
以上、現場からルーティングの検査でした!

記事終了

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0