iproute2 ですべてのテーブルのすべてのルートをダンプする

iproute2 ですべてのテーブルのすべてのルートをダンプする

すべてのルーティングテーブルのすべてのルートを保存したい。

次のようなスクリプトがあります:

#!/bin/bash

DUMP=dump.log

for i in `seq 0 255`;
do
    routes="`ip route show table ${i}`"
    if [ ! -z "${routes}" ];then
        echo "table: ${i}" >> ${DUMP}
        echo "${routes}" >> ${DUMP}
        echo "" >> ${DUMP}
    fi
done

このスクリプトに関する問題点は次のとおりです。

  1. すべてのテーブルを反復処理し、有効なテーブル番号は 0 ~ 255 のみであると想定していますが、これは有効な想定でしょうか?
  2. すべてのテーブルのすべてのルートを取得するためのシンプルな 1 行のコードはありますか?

ありがとう

答え1

ip route list table all

それは ip route help に書かれています。

関連情報