すべてのプログラミング言語のためのIPROUTE2 API

すべてのプログラミング言語のためのIPROUTE2 API

Linuxルーティングテーブルを操作するために使用できるAPIはありますか?ソケットでリッスンし、それに応じてルーティングテーブルを変更するプログラムを作成したいと思います。単純なコードですが、APIが必要です。

ベストアンサー1

あなたはそれを使用することができますNetlink。 ~からウィキペディア

Netlink は、Linux カーネル空間とユーザー空間プロセス間でさまざまなネットワーク情報を転送するように設計されています。 iproute2などのネットワークユーティリティは、Netlinkを使用してユーザースペースでLinuxカーネルと通信します。 Netlinkは、ユーザー空間プロセス用の標準ソケットベースのインターフェースと、カーネルモジュール用の内部カーネルAPIで構成されています。 ioctlのより柔軟な後続バージョンで設計されています。当初、NetlinkはAF_NETLINKソケットファミリを使用しました。

私は個人的iptablesにスクリプト自体でルール/パスを指定できるので、このようなタスクにはbashスクリプトを使用することを好みます。 Cなどのプログラミング言語を使用している場合は、プログラムがsystem戻り値を呼び出して使用して操作を実行できます。

というAPIがあります。から入手できますここ

おすすめ記事