Linux配置网桥

virsh default network

可以利用virsh自带的default network,它是利用NAT实现的。

sudo virsh net-start default
# 关闭
# sudo virsh net-destroy default

然后ip a就可以看到一个名为virbr0的网桥。让它开机自启:

sudo virsh net-autostart default
# 取消开机自启
#sudo virsh net-autostart --disable default
Network default marked as autostarted
sudo virsh net-list    
 Name      State    Autostart   Persistent
--------------------------------------------
 default   active   yes         yes]

如果要允许普通用户在libvirt虚拟机里用这个网桥,首先确保qemu-bridge-helpersetuid,即权限位为4755,如果没有,则手动加上:

# 不同发行版的路径不一样
chmod u+s /usr/libexec/qemu-bridge-helper
chmod u+s /usr/lib/qemu/qemu-bridge-helper

然后在/etc/qemu/bridge.conf里加上allow virbr0

参考:https://forums.gentoo.org/viewtopic-t-1093206-start-0.html

nmcli (高危)

先安装nmcli,Debian 11:

sudo apt install network-manager

然后以root身份运行如下命令,记得把ens3换成自己的网卡号。

nmcli connection add type bridge ifname br0
nmcli connection modify bridge-br0 bridge.stp no
nmcli connection add type bridge-slave ifname ens3 master bridge-br0
# Debian 11可能会改变IP。此时可能br0会得到一个IP,而原来的连接(ens3)在br0得到IP时会没有IP,过一段时间又可能会得到IP。由于IP改变,此时很可能会断网。
# CentOS Stream 8不会改变IP,bridge直接继承了ens3的IP,而ens3也不会再获得IP了。
nmcli connection up bridge-slave-ens3
nmcli connection up bridge-br0

好像对无线网卡不起作用,nmcli c up bridge-slave-wlan0会报错:

错误:连接激活失败:No suitable device found for this connection (device br0 not available because profile is not compatible with device (mismatching interface name)).

参考:

Centos8关于kvm-qemu、libvirt和nmcli创建桥网络的使用和理解

CentOS8创建网桥

如何在 Linux 里使用 nmcli 添加网桥 | Linux 中国

不起作用:

如果只有nmcli connection up bridge-br0,就算通过nmcli connection down ens3甚至是nmcli device down ens3关掉原来的以太网连接,也会一直卡在获取IP地址。

https://www.cyberciti.biz/faq/centos-8-add-network-bridge-br0-with-nmcli-command/#Adding_network_bridge

https://wiki.archlinux.org/title/Network_bridge

https://askubuntu.com/questions/574962/stuck-at-getting-ip-configuration

posted @ 2024-09-28 13:42  寻找繁星  阅读(38)  评论(0编辑  收藏  举报