Armadilloフォーラム

ip rule が使えない

otani818

2024年6月19日 10時53分

こちらにも同じ質問がありますが、
https://armadillo.atmark-techno.com/forum/armadillo/3104

# ip rule show
RTNETLINK answers: Address family not supported by protocol
Dump terminated

ip rule を使うことはできますか。

よろしくお願いします。

コメント

at_dominique.m…

2024年6月19日 12時42分

otani818さん

お世話になっています、
マルティネです。

> こちらにも同じ質問がありますが、
> https://armadillo.atmark-techno.com/forum/armadillo/3104
>
>

> # ip rule show
> RTNETLINK answers: Address family not supported by protocol
> Dump terminated
> 

>
> ip rule を使うことはできますか。

インクしていただいた先は「CONFIG_IP_MULTIPLE_TABLES」のオプションを見つけていましたが、今でも同じ状態です。
Armadillo IoT G3/G3L の Linux カーネルのコンフィグではこの設定が無効になっていますので、`ip rule` コマンドを ipv4 で使用できません(linux のデフォルト値として ipv6 で使えますね…)

Linux カーネルをビルドすればそのコンフィグを有効できますが、いかかでしょうか。

ビルド手順はこちらです:
4.9の場合: https://manual.atmark-techno.com/armadillo-iot-g3l/armadillo-iotg-g3l_p…
6.1の場合: https://manual.atmark-techno.com/armadillo-iot-g3l/armadillo-iotg-g3l_p…

コンフィギュレーションの「x1_defconfig」コマンドの後に「make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig」コマンドを実行してください。
そのメニューに:
* 「/」キーで「IP_MULTIPLE_TABLES」を検索します
* 「1」キーで選択します
* 「IP: advanced router」項目を y で有効します
* 「IP: policy routing」も y で有効します
* キーで保存まで戻って Yes でコンフィグを保存してください。

当時は未回答のままでしたが、今回は新しい 6.1 の Linux カーネルで有効することを検討します。

よろしくお願いします。

マルティネさま
迅速な対応、感謝します。

カーネルは4.9ですが、コンフィグを変更してビルドしました。
問題なく実行できました。

# ip rule show
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup default

6.1はデフォルトで有効でも良いと思います。

ありがとうございました。