このローカルネットワークサービスとそれにアクセスする必要があるクライアントプログラムがあります。権限のないユーザーとして実行します。
私はFirejailを使用して、クライアントがlocalhostを除外(またはサービスを除いてより良い)ネットワークにアクセスできないようにサンドボックス化する方法を探しています。もちろん、私が最初に試したことは
firejail --net=lo program
しかし、それはうまくいきませんでした。
Error: cannot attach to lo device
仮想ネットワークインターフェイス(veth0やveth1など)を作成し、サービスを実行している新しいネットワークネームスペースにveth1を移動し、firejailを使用してクライアントをveth0に制限すると、この問題を解決できるようです。
Firejail設定ファイルで実際にこの設定を自動化して入力するときに、これらのすべてのインターフェイスが作成され、veth1が移動されるようにする方法はありますか?
firejail server
(ルートで何も実行せず)?
それともこの問題を解決するより簡単な方法はありますか? (サービスにはネットワークアクセスが必要なため、同じ名前空間でクライアントとサービスの両方を実行することはできません)
答え1
次のようなオプションを使用します。
firejail --interface=eth0.vlan100 --ip=someipaddress someprogram
ipvlanドライバのサポートはLinuxカーネル3.19で導入されました。
ここで見つける:男地獄|