brctl addif后,失去与主接口的连接

分享于 

3分钟阅读

互联网

  繁體 雙語

问题:

最近我正在设置一个服务器,我应该为服务器指派一个可以用于KVM客户机的public IP。 服务器具有以下设置:

主因特网连接主机,由 ip lo - 环回 virbr0 - 桥接到由KVM创建的虚拟网卡

使用打开云,我将virbr0分配给分配给客户机的虚拟网络并将特定配置设置为客机机:

来宾计算机-/etc/network/interfaces


auto ens3


iface ens3 inet static


 address y.y.y.y


 netmask 255.255.255.255


 pointopoint <provided by host provider>


 gateway <provided by host provider>



完成客户机配置后,在主机上运行以下命令:


 brctl addif virbr0 eno1



运行完这个之后,我可以通过新分配的IP访问客户机。 但是,我不能通过SSH或者开放星云访问主机。

为什么会发生这种情况还有一种方法在 /etc/network/interfaces 上设置virbr0配置,即使主机崩溃也会保持持久。


回答 1:

你需要在主机上架起一座桥梁。 假设它现在有地址 x.x. x.x。


auto eno1


iface eno1 inet manual


auto br1


iface br1 inet static


 address x.x.x.x


 netmask <hostnetmask>


 gateway <hostgateway>


 bridge_ports eno1


 bridge_stp off


 bridge_maxwait 0


 bridge_fd 0



以下是在引导时配置网络的设置。

如果只有一个网卡,则使用这些设置重新启动主机以激活网桥。

如果你有双网卡安装,你不需要重新启动,只需通过 nic2 ( eno2 )的地址进入你的机器,然后


ifdown eno1


ip link add name br1 type bridge


ip link set dev br1 up


ip link set dev eno1 master br1


ip addr flush eno1


ifup eno1



最后,使用br1网络接口启动客户机。


sudo kvm -net nic -net bridge,br=br1.. .




回答 2:

你需要将ip地址放在桥接设备"virbr0:


ip addr add y.y.y.y/32 dev virbr0



查看 @stefaan-ghysels 应答以了解在引导时配置的详细信息。



INT  添加  接口  MAIN