我正在尝试桥接虚拟接口 dummy0 和物理接口 eth1。我已使用以下命令为两个接口创建桥 br0,但它们没有桥接。有什么建议么?
ip link add dev dummy0 type dummy # Create dummy0. eth1 already exists
brctl addbr br0 # Create bridge br0
brctl addif br0 dummy0 # Add dummy0 to br0
brctl addif br0 eth1 # Add eth1 to br0
ip link set dev dummy0 up
ip link set dev eth1 up
ip link set dev br0 up
Run Code Online (Sandbox Code Playgroud)
此时,eth1 上从外界接收到的任何数据包(因为 eth1 是连接到外部设备的物理端口)都应该由 dummy0 传输,反之亦然。这似乎并没有发生。
它们是通过接口的另一端传输的。在“虚拟”接口上,它不附加到任何 \xe2\x80\x93 ,这就是“虚拟”接口 \xe2\x80\x93 的整个想法,因此数据包无处可去。
\n想象一下 eth0 连接到“前面”的操作系统网络堆栈和“后面”的物理以太网端口。从端口接收的数据包被操作系统视为来自 eth0,反之亦然,操作系统通过 eth0 发送的数据包来自物理端口。
\n\n例如 eth0 和 eth1 之间的网桥将连接所有“前端”端,因此“后”连接 \xe2\x80\x93 之间的中继数据包通过 eth0 物理端口接收到的内容将通过网桥中继并发回通过eth1物理端口出去。
\n桥接 dummy0 的工作方式相同,但由于 dummy0 在“另一侧”没有任何内容,因此任何数据包被丢弃 \xe2\x80\x93 它们不会“反射”回操作系统(虚拟接口不\ 一般情况下不反映数据包,而且 dummy0 的前面无论如何都被桥接管了)。
\n\n换句话说,桥接 dummy0 几乎没有用。(它唯一有帮助的情况是当您需要使桥显示为非空时。)如果您希望操作系统与桥对话,您已经可以在没有虚拟接口 \xe2\x80\x93 br0 接口本身的情况下这样做情况下这样做连接到操作系统网络堆栈。
\n| 归档时间: |
|
| 查看次数: |
2431 次 |
| 最近记录: |