Arch Linuxで特定のプログラムにwireguardを使用させる方法は?

Arch Linuxで特定のプログラムにwireguardを使用させる方法は?

私は1つのプログラムだけが私が保存したwireguard設定を介して実行/etc/wireguard/config.confし、他のすべてのプログラムは通常のIPアドレスを介して実行したいと思います。

見つけました。Wireguardのこのページはルーティングのためのページです。、名前空間の使用を提案しますが、次の特定のコマンドを実行しようとすると

sudo ip link set wlp2s0 netns physical
RTNETLINK answers: Invalid argument

Arch Linuxではこれを実行できないことをお勧めします。 Wireguardで特定のプログラムを実行する方法を見つけた人はいますか?


別のコンピュータで上記のチュートリアルを試しましたが、Wireguard設定をロードしようとしたときに次のエラーが発生しました。

wg setconf wgvpn0 /etc/wireguard/my_vpn.conf:フォーマットが間違っていますが、同じ設定を使用すると完全に機能します。wg-quick up

ところで、Wireguardの問題追跡システムについて知っている人はいますか?私がメーリングリストに提出した質問は公開されません。

ベストアンサー1

~からOPの質問にwireguard.comリンクがあります。、特に新しい名前空間ソリューション、イーサネットとワイヤレスを例に物理インターフェイスを移動する方法について説明します。

物理ネットワークの名前空間図 まず、「物理」ネットワークネームスペースを作成します。

# ip netns add physical

eth0次に、「物理」ネームスペースを入力しますwlan0

# ip link set eth0 netns physical
# iw phy phy0 set netns name physical

ワイヤレスデバイスは、iw指定された物理デバイスを使用して移動する必要がありますphy0)

言及したように、OPは最初のip link set ... netnsコマンドを読むように見えますが、ワイヤレスデバイスに2番目のコマンドが必要であるという事実は認識されません。

iwマニュアルページ不足していますが、以下iw --helpが含まれます:

   phy <phyname> set netns { <pid> | name <nsname> }
            Put this wireless device into a different network namespace:
                <pid>    - change network namespace by process id
                <nsname> - change network namespace by name from /run/netns
                           or by absolute path (man ip-netns)

一部のドライバはまだネットワーク名前空間と互換性がない可能性があります。動作するには、次の出力が必要です。

$ sudo iw phy0 info|grep netns
         * set_wiphy_netns

対応するデバイスを介して処理されるため、wlp2s0コマンドにまったく表示されない単純なワイヤレスデバイスしかないとします。これを使用する必要があります:iwphy0

sudo iw phy phy0 set netns name physical

おすすめ記事