各ユーザーにIPを割り当てる方法は?

各ユーザーにIPを割り当てる方法は?

私はSteamホームストリーミングを活用して、2人が同時にプレイできるヘッドレスSteamゲームサーバーを構築しています。セットアップのマルチシート部分は完璧で動作しますが、ワイヤレスで操作するのはかなり面倒です。

一度に1つのSteamクライアントだけがホームストリーミングを有効にできます。これは、同じポートとIPアドレスを使用したために発生する可能性が高いです。各ユーザーに自分のIPアドレスをどのように割り当てますか?

ストリーミングはホームネットワーク内でのみ可能です。マシン自体にはすでに1つのインターフェイスに3つのIPがあります。

ベストアンサー1

次のコマンドを使用して、プロセスに異なるネットワーク構成を割り当てることができます。Linuxネットワークネームスペース。理論的には構成可能でなければなりません。ポリアクリルアミド*各ユーザーを別々のネットワークネームスペースに設定する方が簡単ですが、関連するアプリケーションを独自のネームスペースで実行します。

一般的な設定では、ネームスペースをネットワークに接続するためのLinuxブリッジインターフェイスの作成について説明できます。より簡単な設定でアーカイブを実行できます。IPVLAN(カーネルバージョン3.19以降に含まれています)またはマクエバーランドデバイス(無線ユーザーの場合サービスの中断マクエバーランド)。 Linuxカーネルドキュメントに詳細例設定のためIPVLANネットワークネームスペースにあります。

マニュアルの例に従ってください。

  1. ネットワークネームスペースの作成NS0

    ip netns add ns0
    
  2. eth0(マスター)にIPVLANスレーブを作成する

    ip link add link eth0 ipvl0 type ipvlan mode l2
    
  3. ネットワークネームスペースにスレーブを割り当てるNS0

    ip link set dev ipvl0 netns ns0
    
  4. ネットワークネームスペースでのスレーブデバイスの設定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

  5. 次のコマンドを使用して、ネットワーク名前空間でアプリケーションを実行します。ip exec

    ip netns exec ns0 <command>
    

    他のユーザーとしてコマンドを実行するには一般的なsu <user> -c -- <command>


*編集する:理論から実践まで:各ユーザーのネットワーク名前空間を変更する方法を示す簡単なPAMモジュールを作成しました。ip netns上記のようにネットワーク名前空間を設定し、特定のユーザーを特定の名前空間にマッピングする必要があります。その後、すべてのユーザープロセスがデフォルトの名前空間の代わりに設定された名前空間に配置されます。コードが管理されています羽ハブから。自分の責任で使用してください。

おすすめ記事