1. ホーム
  2. docker

[解決済み] DockerコンテナでPipeworkを使用する際に、RTNETLINK Operation Not Permittedが発生するのはなぜですか?

2022-03-05 18:54:37

質問

Vagrant/VirtualBox を使って CoreOS stable 494.5.0 を実行しており、vanilla ruby:2.1.5 Docker イメージが動作しています。Dockerコンテナをローカルの物理インターフェースに接続するためにPipeworkを使おうとしています(Vagrantを使うのとは対照的です)。 --net=host コンテナ実行時に)トラフィックをスニッフィングできるようにするためです。Pipeworkは eth1@if2 はコンテナ内にあり、その IP アドレスを正しく設定しますが、リンクは最終的に UNKNOWN の状態で、リンクを表示させようとすると ip link と表示されます。 RTNETLINK answers: Operation not permitted .

もし、違いがあるとすれば ip link set dev eth1 up の代わりに ip link set dev eth1@if2 up でないと Cannot find device "eth1@if2" .

何が間違っているのか、何か思い当たることはありますか?

解決方法は?

Dockerコンテナはデフォルトで全権限を持ちません。 これを docker run コマンドを実行します。

--cap-add=NET_ADMIN

能力一覧