従来のVXLANUDPユニキャストカプセル化方法を使用して、VXLANカプセル化パケットを選択した宛先に配信する新しい仮想化トラフィックミラーリングサービス(SPANと同様)を評価しようとしています。私の目標は、これらのパケットを2つのインターフェースを備えたLinuxインスタンスに送信し、2番目のインターフェースをこれらのトラフィックフィードの受信専用にすることです。
2つの論理インターフェイスを備えたインスタンスを作成したら、これらのパケットをクリーンなVXLAN仮想インターフェイスに受信して、VXLANラッパーが削除されたパケットのみでセキュリティツール(Suricata、BROなど)を実行できるようにします。これまで、次の2つの簡単なコマンドを実行することで、(マルチキャスト環境で)それを達成することができました。
Sudo ip link add vxlan0 type vxlan id 0 dev ens6 dstport 4789 group 239.1.1.1
Sudo ip link set vxlan0 up
マルチキャスト環境では、デュアルインターフェイスLinuxマシンでのこれらの2つのコマンドは、仮想インターフェイスvxlan0に到達するカプセル化解除されたパケットのクリーンストリームを取得するのに十分でした。つまり、私が実行した場合
Sudo tcpdump -nvi vxlan0
VXLANヘッダーが削除された後、元のパケットのみが残るパケットが表示されます。そして今、私のセキュリティツールはこのインターフェースを監視するだけで、VXLANパケットを除外することを心配する必要はありません。
ユニキャスト環境に移行すると、マルチキャストグループを除いた同じコマンドで同じ結果が得られると思いますが、そうではないようです。これが私が試していることです。
Sudo ip link add vxlan0 type vxlan id 0 dev ens6 dstport 4789
Sudo ip link set vxlan0 up
この場合、vxlan0インターフェイスでtcpdumpを実行しようとすると、期待するものが表示されません。これは、VXLANヘッダーのないカプセル化解除されたパケットです。
私が試したこと:
誰かが私をここで正しい方向に向けることができますか?
私はあなたが説明することをしました。私の場合、Suricataを使用してpcapモードでVXLANインターフェースを監視しています。ネットワーク環境はユニキャストのみをサポートします。 VXLANインターフェースを構成する方法は次のとおりです。
auto vxlan-tap
iface $IFACE inet manual
pre-up ip link add $IFACE type vxlan id 1000 dev eth0 local 10.20.30.1 dstport 4789
up ip link set $IFACE up
up ip link set $IFACE promisc on
down ip link set $IFACE promisc off
down ip link set $IFACE down
post-down ip link del $IFACE
構成に明らかに問題はありませんが、確認する必要があることがいくつかあります。
tcpdump udp -i ens6 port 4789
)?そうでない場合は、すべてのUDPトラフィックをダンプして、送信元が別のポートで送信していないことを確認してください。VNI
は、VXLANインターフェースで構成したid
と一致しますか?iptables
フィルターはありますか?