第五篇:KVM网络配置-NAT与桥接

KVM 网络配置实战:NAT 与桥接(Bridge)怎么选?

这是 KVM 虚拟化从入门到实战 系列的第 5 篇。虚拟机建好了、磁盘准备好了,接下来要解决"虚拟机怎么上网、怎么被访问"的问题,这就是网络配置。

KVM 网络模式总览

模式 说明 虚拟机能否被外部访问
NAT(默认 default) 虚拟机经宿主机转发上网,隐藏在内网 默认不能,需端口映射
桥接 Bridge 虚拟机与宿主机在同一网段,像独立主机 可以
隔离网络 虚拟机之间互通,不与外部相连 不能

一、NAT 模式(默认,最简单)

安装 libvirt 时自动创建了 default 网络(NAT):

bash

复制代码

|---|----------------------------------------|
| | # 查看网络 |
| | virsh net-list --all |
| | virsh net-info default |
| | |
| | # 查看网络的 DHCP 配置(通常 192.168.122.0/24) |
| | virsh net-dumpxml default |

NAT 模式下虚拟机通过宿主机上网,虚拟机的 IP 由 libvirt 内置 DHCP 分配(默认 192.168.122.x)。

特点:

  • ✅ 配置简单,开箱即用
  • ✅ 安全,虚拟机不直接暴露
  • ❌ 外部无法直接访问虚拟机,需配置端口转发

二、桥接模式(生产环境首选)

桥接让虚拟机直接接入物理网络,获得与宿主机同网段的 IP,就像一台独立主机。这是生产环境最常见的需求。

创建桥接

bash

复制代码

|---|--------------------------------------------------------------|
| | # 查看当前网卡 |
| | ip addr |
| | |
| | # 创建桥接 br0(配置文件 /etc/sysconfig/network-scripts/ifcfg-br0) |
| | cat > /etc/sysconfig/network-scripts/ifcfg-br0 << 'EOF' |
| | DEVICE=br0 |
| | TYPE=Bridge |
| | BOOTPROTO=static |
| | ONBOOT=yes |
| | IPADDR=192.168.1.100 # 宿主机原 IP |
| | NETMASK=255.255.255.0 |
| | GATEWAY=192.168.1.1 |
| | EOF |
| | |
| | # 修改物理网卡 enp0s3 桥接到 br0 |
| | cat > /etc/sysconfig/network-scripts/ifcfg-enp0s3 << 'EOF' |
| | DEVICE=enp0s3 |
| | TYPE=Ethernet |
| | ONBOOT=yes |
| | BRIDGE=br0 |
| | EOF |
| | |
| | # 重启网络 |
| | systemctl restart network |

创建桥接虚拟机

bash

复制代码

|---|--------------------------|
| | virt-install \ |
| | --name vm02 \ |
| | --network bridge=br0 \ |
| | ... |

三、常用网络操作

bash

复制代码

|---|-------------------------------------------------------------------------|
| | # 查看网络状态 |
| | virsh net-list --all |
| | |
| | # 查看网桥信息 |
| | brctl show |
| | |
| | # 为虚拟机动态添加网卡(需编辑配置后重启) |
| | virsh attach-interface vm01 --type bridge --source br0 --model virtio |

四、端口映射(NAT 下开放服务)

如果用了 NAT 又想暴露服务,可以配置端口转发,但比较繁琐。生产环境推荐直接改桥接更省心。

如何选择?

  • 个人测试、快速体验 → NAT(默认即可)
  • 生产环境、对外提供服务 → 桥接(首选)
  • 内部隔离网络、集群内网 → 隔离网络

小结

网络是虚拟机对外服务的桥梁。记住:生产环境用桥接,虚拟机才有独立的网络身份。下一篇进入性能优化,教你把 KVM 调优到接近物理机性能。

相关推荐
螺蛳粉 螺蛳粉6 小时前
第六篇:KVM性能优化与调优指南
性能优化·虚拟化·kvm·virtio·io优化·大页内存·cpu绑定
螺蛳粉 螺蛳粉13 天前
rsync + inotify 实时同步部署操作文档(新手版)
rsync·linux运维·文件备份·inotify·实时同步
java_logo14 天前
Docker 部署 dockurr/windows:轻松搭建浏览器可控 Windows 虚拟机
运维·windows·docker·容器·虚拟机·kvm·轩辕镜像
程序员大阳21 天前
副队长大数据教程(5)--集群情况下虚拟机网络配置
大数据·集群·nat·网路
.冰块.23 天前
VM 实战:从两种方式安装到热迁移,一篇打通
虚拟化·kvm·热迁移
爱网络爱Linux1 个月前
【系列】每天一个 Linux 命令(53)startx 命令
linux·rhce·rhca·linux运维·linux命令大全·红帽认证
好评1241 个月前
【Linux】五种IO模型与非阻塞IO
linux·服务器·nat
运维蒙工1 个月前
eNSP 综合拓扑实战:OSPF 骨干、DHCP 中继、AC+FIT‑AP、NAT 上网全套配置
ensp·nat·ospf·dhcp中继·ac+ap·企业网络实战·fit‑ap
便利店10242 个月前
边界与远程:墙、洞与加密通道
运维·服务器·防火墙·acl·nat