NAPTスタイルのスケーラブルMAC変換のためのNftables

NAPTスタイルのスケーラブルMAC変換のためのNftables

私は過去5年間、Linuxの内部を掘り下げて多くのネットワーキング機能をマスターしたネットワーキング先輩です。しかし、最近はNetfilterの世界に飛び込んで、過去3~4年間でnftablesを学び、私が必要なものを実装しました。実験室。私はこのポータルとServerFaultポータルで「MACアドレス変換/ NAT」を正直に検索してここに到着しました。

VM Linuxブリッジングを実行するときは、一部のESXI vSwitchの不足しているVLAN管理機能を解決する必要があります。ARP-hw_addrのMACアドレスと実際のパケットをLinux VMポートに割り当てられているVNICのMAC @と一致するように変換しようとしています。、テーマとして。

完全な物語は以下で共有されます。https://docs.google.com/document/d/1TBFYlO-n8G-inYO6cdnMnSEeYUP2Ch9vWNO_TwIxK9M/edit?usp=sharing

ちなみに何?私ができることは静的に翻訳するだけです。たとえば、Y側のホストIP @を一致させ、ARPヘッダーと実際のEthヘッダーのMAC @をMAC A(X側)のMAC @に変換するか、その逆に変換します。

table netdev mpls {
 chain input {
 type filter hook ingress device "mpls" priority filter; policy accept;
 arp daddr ip 172.16.100.189 arp daddr ether set 00:50:56:01:00:61 counter
 ether daddr 00:50:56:01:02:03 ether daddr set 00:50:56:01:00:61 counter accept
 }
 chain output {
 type filter hook egress device "mpls" priority filter; policy accept;
 arp saddr ip 172.16.100.189 arp saddr ether set 00:50:56:01:02:03 counter
 ether saddr 00:50:56:01:00:61 ether saddr set 00:50:56:01:02:03 counter accept
 }
}

ただし、これを動的に比例的に実行する必要があります。、選択したIPアドレスと一致し、NFがすぐに双方向操作を実行できるようにします。他のネットワーク/仮想化担当者がvSwitchのいくつかの欠点(主観的)を解決するのに役立つことを願っています。

質問:netdevドメインの背後で動作する大規模なNetfilterキャップを使用して動的に実行するにはどうすればよいですか?それ以外の場合、カスタムアプリケーションを使用するブリッジシリーズのnf-queue呼び出しのみこれを実行できますか?

ピーター氏

関連情報