IPv6 後の NetworkManager ポストアップ スクリプトは実行できません

IPv6 後の NetworkManager ポストアップ スクリプトは実行できません

NetworkManager にバグを見つけたと思いますが、確信はありません。私は Ubuntu 14.04 を使用しており (Ubuntu のバージョンはここではあまり重要ではないと思います)、network-manager=0.9.8.8-0ubuntu7.3 がインストールされており、ネットワーク構成は確かに NetworkManager によって管理されています。

接続が確立された後にカスタム コマンドをいくつか実行したかったのですが、post-up (NM が呼び出す) 段階で実行するカスタム スクリプトを配置できるこの dispatcher.d フォルダーがあることが分かりました。接続が確立された後にルーティング テーブルを変更する必要があるため、これらのスクリプトを post-up で実行することが重要です。ソース アドレスが指定された新しい IPv6 ルートを追加したかったのですが、Network-Manager 設定では、指定されたソース アドレスでルートを提供するオプションがないため、実行できませんでした (NM だけのことだと思います)。

残念ながら、スクリプトは IPv4 構成がコミットされて完了した後、IPv6 構成が完了する前に実行されます。 IPv6 構成がまだない場合は IPv6 ルートを追加できないことが判明したため、ポストアップ段階で接続に IPv6 の変更を加えることはできません。これはバグのようです。

その証拠として、私の syslog には、IPv4 設定がコミットされていることを示す行と、それに続くスクリプトのカスタム出力があり、さらにその後ろに IPv6 の変更がスケジュールされていることを示す行 (直後から開始) が続きます。

NetworkManager 接続が確立された後に、ルーティング テーブルにカスタム IPv6 ルートを追加する方法を提案してもらえますか?

スクリプトに子プロセスを発生させ、ルートを適用する前に数秒間スリープさせ、親プロセスを終了させて​​ NetworkManager が処理を続行し、子プロセスがスリープ状態を終了してルートを追加する前に IPv6 アドレスを設定するといった面倒な解決策も考えられます。それが唯一の方法である場合、NM ソフトウェアは本質的に欠陥があり、IPv6 ユーザーを差別していることになります。

関連情報