Linux怎么配置虚拟机的网桥模式

千萱小哥_2100

千萱小哥_2100

2026-06-27

746人浏览

原创

linux主机配网桥不是仅在虚拟机中选择桥接模式,而是必须先在宿主机创建并启用bridge设备(如br0),将物理网卡绑定其上且清空原ip,否则虚拟机只能获得隔离私网地址、无法接入局域网。

linux怎么配置虚拟机的网桥模式

直接说结论:Linux主机上配网桥,不是给虚拟机“开个开关”就行,而是得先在宿主系统建好 bridge 设备(如 br0),再让虚拟机的网卡绑定到它上面——否则虚拟机拿到的只是隔离的私有网络,根本进不了局域网。

很多用户卡在“虚拟机设置里选了桥接模式却上不了网”,问题八成出在宿主机没真正配好网桥,或者物理网卡被错误保留了 IP。


怎么用 iproute2 快速验证网桥是否通(适合调试)

临时创建一个可工作的网桥,不改配置文件,5 分钟内能测通:

常见错误现象:ping 192.168.1.1 失败、ssh 连不上虚拟机、虚拟机 DHCP 拿不到地址

实操建议:

  • 先确认物理网卡名(比如 enp0s3):ip -br link show | grep UP
  • 加载模块:sudo modprobe bridge
  • 建桥:sudo ip link add name br0 type bridge
  • 配 IP 并启用:sudo ip addr add 192.168.1.100/24 dev br0 && sudo ip link set br0 up
  • 把物理网卡塞进桥:sudo ip link set enp0s3 master br0
  • 关键一步:清空物理网卡原有 IP(否则会路由冲突):sudo ip addr flush dev enp0s3
  • 确保物理网卡本身 up:sudo ip link set enp0s3 up

做完后执行 bridge link,能看到 enp0s3 在 br0 下;再 ip addr show br0 确认 IP 已生效。此时宿主机网络仍通,虚拟机才能真正“桥”进去。


/etc/network/interfaces 配置 br0 后 network 服务不生效

Debian/Ubuntu 用户常遇到:改完 /etc/network/interfaces,sudo systemctl restart networking 没报错,但 brctl show 空空如也。

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载

原因和对策:

  • ifup br0 手动试一下,如果报 Cannot find device "br0",说明 bridge 模块没自动加载 —— 在 /etc/modules 末尾加一行 bridge,再 reboot 或 sudo modprobe bridge
  • 检查原物理接口(如 enp0s3)是否还残留 iface enp0s3 inet dhcp 类配置,必须注释掉或删掉,否则 ifup 会抢着管它
  • bridge_ports 值写错(比如多空格、用了中文全角字符、拼错网卡名)会导致整个 br0 启动失败,journalctl -u networking 能看到具体哪行错
  • 某些云镜像禁用了 systemd-networkd 但启用了 NetworkManager,此时 interfaces 文件会被忽略 —— 先 sudo systemctl stop NetworkManager 再试

QEMU/KVM 虚拟机 XML 里 bridge 源设备填什么

很多人复制网上教程填 <source bridge="br0"></source>,结果启动报错:unable to connect to bridge 'br0': No such device

注意点:

  • XML 中的 bridge 值必须和宿主机上实际存在的 bridge 设备名完全一致(区分大小写),ip link show 输出里能看到 br0: <broadcast></broadcast> 才算就位
  • 不要填成物理网卡名(如 enp0s3)或 vnet 接口名(如 virbr0),那是 NAT 模式用的
  • 如果用 virt-manager 图形界面,新建虚拟机时选 “Host device br0 (Bridge)” —— 它生成的 XML 会自动带 <source bridge="br0"></source>,比手写安全
  • 权限问题:libvirtd 默认不允许普通用户操作 host bridge,需把用户加进 libvirt 组:sudo usermod -aG libvirt $USER,然后重登

桥接后虚拟机能上网但局域网其他设备 ping 不通

这是最隐蔽的问题:虚拟机 ping 8.8.8.8 成功,curl ifconfig.me 返回公网 IP,但手机或另一台电脑 ping 不通它的 IP。

可能原因:

  • 宿主机防火墙拦了入向流量:sudo ufw status verbose 查看,临时关掉测试:sudo ufw disable
  • 企业/学校交换机启用端口安全(Port Security),只认主机 MAC —— 需在交换机上放行虚拟机的 MAC 地址,或关闭该端口的 MAC 学习限制
  • 物理网卡工作在混杂模式(promiscuous mode)被禁用:有些笔记本 Wi-Fi 驱动不支持混杂模式,桥接下无法转发非本机 MAC 的包,换有线网卡或查驱动文档
  • 虚拟机自己开了防火墙(如 firewalld 或 iptables),且没放行 ICMP 或对应端口,sudo firewall-cmd --list-all 查规则

真正跑通桥接,核心就三点:宿主机 bridge 设备存在且 up、物理网卡已桥接且无 IP、虚拟机拿到同网段有效 IP —— 少一个环节,看起来都像“配置对了但就是不通”。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux 虚拟机

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4190

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3533

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2773

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6770

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6422

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3693

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3205

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3419

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习