私はSteamホームストリーミングを活用して、2人が同時にプレイできるヘッドレスSteamゲームサーバーを構築しています。セットアップのマルチシート部分は完璧で動作しますが、ワイヤレスで操作するのはかなり面倒です。
一度に1つのSteamクライアントだけがホームストリーミングを有効にできます。これは、同じポートとIPアドレスを使用したために発生する可能性が高いです。各ユーザーに自分のIPアドレスをどのように割り当てますか?
ストリーミングはホームネットワーク内でのみ可能です。マシン自体にはすでに1つのインターフェイスに3つのIPがあります。
答え1
次のコマンドを使用して、プロセスに異なるネットワーク構成を割り当てることができます。Linuxネットワークネームスペース。理論的には構成可能でなければなりません。ポリアクリルアミド*各ユーザーを別々のネットワークネームスペースに設定する方が簡単ですが、関連するアプリケーションを独自のネームスペースで実行します。
一般的な設定では、ネームスペースをネットワークに接続するためのLinuxブリッジインターフェイスの作成について説明できます。より簡単な設定でアーカイブを実行できます。IPVLAN(カーネルバージョン3.19以降に含まれています)またはマクエバーランドデバイス(無線ユーザーの場合サービスの中断マクエバーランド)。 Linuxカーネルドキュメントに詳細例設定のためIPVLANネットワークネームスペースにあります。
マニュアルの例に従ってください。
ネットワークネームスペースの作成NS0
ip netns add ns0
eth0(マスター)にIPVLANスレーブを作成する
ip link add link eth0 ipvl0 type ipvlan mode l2
ネットワークネームスペースにスレーブを割り当てるNS0
ip link set dev ipvl0 netns ns0
ネットワークネームスペースでのスレーブデバイスの設定NS0
ip netns exec ns0 ip link set dev ipvl0 up ip netns exec ns0 ip link set dev lo up ip netns exec ns0 ip -4 addr add 127.0.0.1 dev lo ip netns exec ns0 ip -4 addr add $IPADDR dev ipvl0 ip netns exec ns0 ip -4 route add default via $ROUTER dev ipvl0
$IPADDR
にホストとルーターのアドレスを提供します$ROUTER
。次のコマンドを使用して、ネットワーク名前空間でアプリケーションを実行します。
ip exec
ip netns exec ns0 <command>
他のユーザーとしてコマンドを実行するには一般的な
su <user> -c -- <command>
。
*編集する:理論から実践まで:各ユーザーのネットワーク名前空間を変更する方法を示す簡単なPAMモジュールを作成しました。ip netns
上記のようにネットワーク名前空間を設定し、特定のユーザーを特定の名前空間にマッピングする必要があります。その後、すべてのユーザープロセスがデフォルトの名前空間の代わりに設定された名前空間に配置されます。コードが管理されています羽ハブから。自分の責任で使用してください。