インターネットアクセスを許可せずにどのようにWindowsプログラムを実行できますか?

インターネットアクセスを許可せずにどのようにWindowsプログラムを実行できますか?

だから私はLinuxにCrossOverを持っていますが、これは基本的にWineの人々を助けるプロジェクトであり、ほとんどすべての基本が両方に適用されるので、以下に尋ねます。

インターネットにまったくアクセスできないように、WineでWindowsプログラムを起動できますか?

これまで私はこの問題について手ぶらで出てきました。パッチを受け入れるために自分自身の共有オブジェクトを作成することを検討していますが、LD_PRELOADそのようなことはとにかくトピックから外れます。

純粋なユーザーの観点から私が望むことを達成する方法はありますか?どのような方法でカーネルネームスペースをこの目的に使用できますか?

答え1

私はこれを複雑な方法で考えることができます。たとえば、wineuserなどの別々のユーザーアカウントを作成し、そのアカウントでWindowsアプリケーションを実行することです。ユーザーアカウントでこのコマンドを実行し(xhost +SI:localuser:wineuserワインユーザーがグラフィカルセッションにアクセスできるようにするために)、ワインアカウントからDISPLAY変数をエクスポートできます。export DISPLAY=:0

このユーザーのインターネットアクセスを制限するには、次のコマンドを実行してiptablesルールを追加します。

iptables -I OUTPUT -m owner --uid-owner wineuser -j DROP

(またはDROPの代わりにREJECTを使用することもできます。)


OpenSnitchを試してみることもできます。https://itsfoss.com/opensnitch-firewall-linux/またはLAF(Linuxアプリケーションファイアウォール):https://github.com/matrix-ac/LAF

答え2

ネットワーク名前空間の共有を解除できます。

sudo unshare -n -- su your_user -c your_command

関連情報