問題タブ [linux-namespaces]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
2332 参照

c - C API で「unshare」が期待どおりに機能しない

この一連のコマンドは機能します。

ただし、対応する C プログラムは期待どおりに動作しません (以前の /proc をアンマウントしないようであり、devpts をアンマウントしようとする EBUSY も提供します):

ここでは読みやすさのためにエラーチェックを省略しました

unshare または unmount は期待どおりに機能しないと思います: ゼロが返されたとしても、/proc をアンマウントしていないようです (system("mount")その後で a を実行しようとすると、マウントされたファイルシステムが出力されます)。

0 投票する
1 に答える
5640 参照

linux - ネットワーク名前空間とブリッジング

皆さん、こんにちは。私はときどき Linux ユーザーですが、やらなければならないプロジェクトがあり、ブリッジングの助けが必要です :)
Google で試してみましたが、問題は解決しませんでした。

私の仕事は、ネットワーク名前空間を作成することです。そのため、そこから他のタスクを実行するために使用できます。

Debian 8.2 は、Windows 7 の VMWare 仮想マシンで使用されます。Raspberry Pi 2 でも同じことを試しましたが、同じ問題が発生します。

まず、チュートリアルhttps://lwn.net/Articles/580893/に従って、仮想イーサネット インターフェイスのペアを作成しました。これで、IP アドレス 10.1.1.2/24 のグローバル名前空間に veth0 があり、IP アドレス 10.1.1.1/24 の netns1 名前空間に veth1 があります。

次に、チュートリアルhttp://www.linuxfoundation.org/collaborate/workgroups/networking/bridgeに従ってeth0 と veth0 をブリッジし、netns1 名前空間からインターネットにアクセスできるようにしました。

  • まず、eth0 と veth0 の両方のインターフェイスの IP アドレスを削除し、ダウン状態に設定しました。

  • 新しいブリッジが作成され (br0)、両方のインターフェース (eth0 と veth0) がそれに追加されます。

  • 次に、両方のインターフェイスを UP 状態に設定し、「dhclient br0」を実行して IP アドレスを br0 に割り当てます。

グローバル名前空間から「ping google.com」を実行できるようになりましたが、netns1 名前空間からは「ネットワークに到達できません」というエラーが発生します。(ルートに問題があると思います。いくつかのデフォルト ルートを netns1 名前空間に追加しようとしましたが、うまくいきませんでした。私のネットワークの知識はあまりないので、助けを求めています。)

$ ip アドレス ショー

$ルート

$ ip netns exec netns1 ip addr show

$ ip netns exec netns1 ルート

$ brctl ショー

事前に助けてくれてありがとう:)

0 投票する
0 に答える
309 参照

c - netlink_register_notifier はネットワーク名前空間のサポートでは利用できませんか?

netlink_kernel_create( net , ...) 関数を使用するネットワーク名前空間をサポートする現在の Unix カーネルで、 「 NETLINK_URELEASE 」などのイベント中に通知を処理するために使用された関数「netlink_register_notifier」または「netlink_unregister_notifier 」が見つかりませんでした。

では、Netlink 通知を処理する方法は何ですか? NETLINK_URELEASE のような?

ユーザー空間プロセスが閉じるか終了すると、カーネルの netlink 通知機能が呼び出され、クリア クローズを処理できます。ネットワーク名前空間をサポートする現在の Linux カーネルでこれを処理する方法。

例えば:

さて、実行してlxcを起動すると

その後、カーネルがクラッシュしましたが、通知機能全体を削除すると、 netlink_register_notifier と netlink_unregister_notifier の両方が完全に機能していますが、ユーザーアプリケーションの終了を処理できませんでした:(

0 投票する
1 に答える
3171 参照

linux - dhclient を名前空間に対応させるにはどうすればよいですか?

名前空間を使用して、サーバー上のいくつかの物理インターフェイスを分離しています。ルーティングは完全に機能します。また、DNS も正常に機能するように、/etc/netns/ などに各名前空間のフォルダーを用意しています。

dhclient で DHCP を使用すると、問題が発生します。名前空間内から dhclient を実行していますが、このエラーが発生しています。

/etc/resolvconf/update.d/libc の mv に、問題を引き起こす可能性のある mv が含まれていることがわかりました。

dhclient を名前空間に対応させるにはどうすればよいですか?

0 投票する
3 に答える
8370 参照

linux - Linux ユーザー名前空間が現在の OS カーネルでサポートされているかどうかを確認する方法

いくつか読んだ後、Linux ユーザー名前空間は通常、Linux バージョン >= 3.8 でサポートされていることがわかりました。ただし、特定の OS でユーザー名前空間が無効になっている可能性があり、カーネル バージョンのチェックが信頼できなくなります。現在使用している OS がユーザー名前空間をサポートしており、それを使用できるかどうかを確認する確実な方法はありますか?