私は過去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呼び出しのみこれを実行できますか?
ピーター氏