如何创建虚拟网络接口并将其连接到网桥

时间:2019-03-10 11:24:35

标签: networking qemu

我正在尝试使用Arch Linux上的网桥来创建虚拟qemu机器和主机的网络,以测试我编写的分布式程序。我发现了许多使用网桥上主机的物理NIC连接到VM的方法。这很好。但是,我不希望虚拟机对外部网络可见,而是希望在主机上创建虚拟接口以连接到虚拟机。在创建网桥并在其上启动VM之后,到目前为止,我一直在尝试以下方法:

ip tuntap add tap2 mode tap
ip link set tap2 up
ip addr add dev tap2 10.10.10.2/24
ip link set tap2 master br0

由于我无法从主机访问虚拟机,因此我必须缺少某些内容。 ip链接输出为:

➜  ~ ip link                         
[...]
7: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether e6:69:29:67:cb:41 brd ff:ff:ff:ff:ff:ff
10: tap2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel master br0 state DOWN mode DEFAULT group default qlen 1000
    link/ether e6:69:29:67:cb:41 brd ff:ff:ff:ff:ff:ff

此外,该路线还显示为向下:

➜  ~ ip route
[...]
10.10.10.0/24 dev tap2 proto kernel scope link src 10.10.10.2 linkdown 

有人知道我想念什么吗?

1 个答案:

答案 0 :(得分:0)

由于可以将IP分配给网桥,因此无需设置其他虚拟接口:

ip addr add dev br0 <ip>

如果这些设备在同一子网中具有IP,则可以用来与网桥上的其他设备通信