我正在尝试了解 linux 桥接和本地 ip 规则,
我的 linux 笔记本电脑上有以下拓扑。
br0
___________|__________
| |
|tap0 tap1|
|________Application_______|
Run Code Online (Sandbox Code Playgroud)
上面的应用程序正在创建 2 个 tap 接口 tap0 和 tap1
我创建了桥接器并将抽头接口插入桥接器:
brctl addif br0 tap0
brctl addif br0 tap1
Run Code Online (Sandbox Code Playgroud)
为了 ping 工作,我需要向接口添加 ip 地址,所以我添加192.168.13.1 to tap0
和192.168.13.2 to tap1
对于这两个接口,应用程序从一个接口读取并写入另一个接口。
现在,如果我运行“ping 192.168.13.2 -I tap0”
PING 192.168.13.2 (192.168.13.2) from 192.168.13.1 tap0: 56(84) bytes of data.
From 192.168.13.1 icmp_seq=1 Destination Host Unreachable
Run Code Online (Sandbox Code Playgroud)
tcpdump 显示 arp 无法解析,所以我添加了静态 ARP 条目:
arp -i tap0 -s 192.168.13.1 62:34:58:e7:8a:3a
arp -i tap1 …
Run Code Online (Sandbox Code Playgroud)