一部のLinuxマシンのセットアップに問題があります。
同じIPアドレスを持つ複数のVLANIDを使用する必要があります。
そこで、次のように/ etc/network/interfacesにいくつかのエントリを追加しました。
auto eno1.42
iface eno1.42 inet static
address 10.1.0.1
netmask 255.255.255.0
broadcast 10.1.0.255
vlan-raw-device eno1
auto eno1.43
iface eno1.43 inet static
address 10.1.0.1
netmask 255.255.255.0
broadcast 10.1.0.255
vlan-raw-device eno1
等々。私はこれをいくつかのDebianベースの組み込みシステム(eno1の代わりにeth0を使用)で実行しました...そしてそれはうまく機能しました。
しかし、Ubuntu/Mintの最新リリースでこれを試してみると、問題が発生しました。
同じ方法でセットアップされた別のLinuxマシン(debianに基づく)にpingを送信すると、IP10.1.0.2で...
ping -I eno1.43 10.1.0.2
...応答がありません。
しかし、wiresharkでは、正しいタグ43の応答も時々(!)表示されます。しかし、「Who has 10.1.0.1」を照会する、Debianベースのマシンからの未応答のARP要求も多数表示されます。
ところで:IP転送が有効になっています。
私は何が間違っているのですか?
ルーティングテーブルにエントリを追加する必要がありますか?
このシナリオ(同じIP上の複数のVLAN)のより良い解決策はありますか?
同じIPを複数のネットワークインターフェイスに追加しても、それがVLANネットワークインターフェイスなどであるかどうかに関係なく、機能しません。すべてのアプリケーションがバインドされない限り、組み込みマシンでも機能しません。インターフェイスに(そして、それを実行できないアプリケーションがアクティブでなかったのは幸運だったかもしれません)。
これは XY問題 のように見えるので、質問を編集してなぜこれを実行したいのかを説明してくださいどの主な目標を達成しようとしていますか。
IP範囲が重複するVLANがあることも、ネットワークの大きな問題の原因となる可能性があるため、そうしないでください。
本当に本当に面白いことをする必要がある場合は、VLANごとにネットワーク名前空間を作成できます。ただし、セットアップを修正する方がおそらくはるかに優れています。