非仮想ネットワークインターフェイスのソリューションは次のとおりです。https://unix.stackexchange.com/a/210992
しかし、問題は、あるネットワークインターフェースに複数のIPがあり、各IPを別のアプリケーションに割り当てることができることです。
たとえば、eth0:0、eth0:1などがあります。
コマンドを実行するとき(仮想インターフェイスを参照):
ip link set eth0:0 netns test_ns
eth0:0の代わりにeth0 ipが必要です。また、インターフェイス全体を削除し、パブリックソースから接続することはできません。
共通ソースからサーバーにアクセスしながら、さまざまなプロセスに仮想ネットワークインターフェイスを使用する方法はありますか?
答え1
同様のインターフェイス名は、eth0:0
他のインターフェイス(「仮想または非仮想」)を表しませんが、同じインターフェイスのエイリアスです。エイリアスは、ifconfigのような古くて廃止されたツールが同じインターフェイス名を使用して複数のアドレスを割り当てることができないために必要です。
編集:veth
インターフェイスペアを使用して2つのネットワークネームスペースを接続できます。
sudo ip link add ns1_eth type veth peer name veth0
反対側ns1
をサイバースペースに移動する:
sudo ip link set ns1_eth netns ns1
ペアveth
はチューブのように機能し、一方の端からの送信が他方の端に表示されます。上記のコマンドに加えて、アドレス指定とルーティングも設定する必要があります。