次のコードを読んでいます(dot1xブリッジバイパス)。 https://github.com/mubix/8021xbridge/blob/master/scripts/trans_bridge.prepop
簡単に説明すると、2つのインターフェイスがあり、最初のものはスイッチ($ SWINT)に接続され、もう1つはターゲットホストに接続されます。目標は、トラフィックがターゲットホストによって生成されたように見えるようにしながら、残りのネットワークと対話することです。
引用されたコードを使用して、次の2つのコマンドが必要な理由を特定します。
# use ebtables to source NAT the $COMPMAC for traffic leaving the device from the bridge mac address
(A)ebtables -t nat -A POSTROUTING -s $SWMAC -o $SWINT -j snat --to-src $COMPMAC
(B)ebtables -t nat -A POSTROUTING -s $SWMAC -o $BRINT -j snat --to-src $COMPMAC
$BRINTのPOSTROUTINGトラフィックをSNAT化する理由を理解できません。私たちの目標は、ターゲットホストとは異なるソースMACを使用してスイッチ側インターフェイスにフレームを送信することではないので、最初のebtablesルールで十分ですか?
それとも、$SWINT(スイッチ側インターフェイス)がすべてのフレームがスイッチに到達する唯一の方法ではありませんか?以下の図によれば、ルール(B)はeth0(SWINT)に行くフレームにのみ興味があり、すでにeth0にSNATを適用しているため、重複しているようです。
橋で見つけたいくつかの良い資料は次のとおりです(しかしまだ私の質問に答えていません)。
Linuxネットワークの内部構造の理解
https://doc.lagout.org/operating%20system%20/linux/Understanding%20Linux%20Network%20Internals.pdfページ 359