問題タブ [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.
c - C API で「unshare」が期待どおりに機能しない
この一連のコマンドは機能します。
ただし、対応する C プログラムは期待どおりに動作しません (以前の /proc をアンマウントしないようであり、devpts をアンマウントしようとする EBUSY も提供します):
ここでは読みやすさのためにエラーチェックを省略しました
unshare または unmount は期待どおりに機能しないと思います: ゼロが返されたとしても、/proc をアンマウントしていないようです (system("mount")
その後で a を実行しようとすると、マウントされたファイルシステムが出力されます)。
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 ショー
事前に助けてくれてありがとう:)
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 の両方が完全に機能していますが、ユーザーアプリケーションの終了を処理できませんでした:(
linux - dhclient を名前空間に対応させるにはどうすればよいですか?
名前空間を使用して、サーバー上のいくつかの物理インターフェイスを分離しています。ルーティングは完全に機能します。また、DNS も正常に機能するように、/etc/netns/ などに各名前空間のフォルダーを用意しています。
dhclient で DHCP を使用すると、問題が発生します。名前空間内から dhclient を実行していますが、このエラーが発生しています。
/etc/resolvconf/update.d/libc の mv に、問題を引き起こす可能性のある mv が含まれていることがわかりました。
dhclient を名前空間に対応させるにはどうすればよいですか?
linux - Linux ユーザー名前空間が現在の OS カーネルでサポートされているかどうかを確認する方法
いくつか読んだ後、Linux ユーザー名前空間は通常、Linux バージョン >= 3.8 でサポートされていることがわかりました。ただし、特定の OS でユーザー名前空間が無効になっている可能性があり、カーネル バージョンのチェックが信頼できなくなります。現在使用している OS がユーザー名前空間をサポートしており、それを使用できるかどうかを確認する確実な方法はありますか?