数码工坊
白蓝主题五 · 清爽阅读
首页  > 表格技巧

网络虚拟化技术怎么配置 实用操作步骤与避坑指南

网络虚拟技术怎么配置

在公司新上线的项目里,开发团队需要快速搭建多个隔离的测试环境。传统做法是买服务器、接网线、配IP,费时又费钱。后来我们改用网络虚拟化技术,几分钟就能拉起一套完整网络环境,效率提升明显。

网络虚拟化的核心是把物理网络资源抽象成可灵活分配的虚拟网络。常见的实现方式有VLAN、VXLAN、Open vSwitch和Linux Bridge等。下面以Linux服务器上使用Bridge为例,讲讲具体怎么配。

基础环境准备

假设你有一台运行Ubuntu 20.04的服务器,已经装好net-tools和bridge-utils工具包。先查看当前网卡:

ip addr show

通常会看到一个eth0或者ens33这样的物理接口。接下来要创建一个虚拟网桥br0,并把物理网卡挂上去。

创建虚拟网桥

编辑网络配置文件(路径可能因系统而异):

nano /etc/netplan/01-netcfg.yaml

写入以下内容:

network:
version: 2
renderer: networkd
bridges:
br0:
interfaces:
- eth0
dhcp4: yes
parameters:
stp: false
forward-delay: 0

保存后应用配置:

sudo netplan apply

执行完这一步,br0就起来了,所有流量都会通过它转发。

配合KVM使用虚拟机

如果你用KVM跑虚拟机,可以用virsh命令指定虚拟机连接到br0:

<interface type='bridge'>
<source bridge='br0'/>
<model type='virtio'/>
</interface>

这样虚拟机就能直接获取局域网IP,和其他设备互通,就像一台真实主机一样。

实际运维中,我们还遇到过虚拟机无法上网的问题。排查发现是宿主机没开IP转发。解决方法是在/etc/sysctl.conf里启用:

net.ipv4.ip_forward=1

然后执行sysctl -p生效。

进阶:用VXLAN跨主机通信

当虚拟机分布在不同物理机上时,可以用VXLAN打通二层网络。比如在主机A上创建VXLAN接口:

ip link add vxlan0 type vxlan id 42 dstport 4789 remote 192.168.1.100 dev eth0
ip link set vxlan0 master br0
ip link set vxlan0 up

这条命令的意思是:创建一个ID为42的VXLAN隧道,目标地址是另一台主机的IP,数据走eth0发出。两边都配好后,虚拟机即使在不同机器上也能像在同一局域网里通信。

这些操作看起来复杂,其实只要把步骤写成脚本,一键就能部署。我们在数码工坊内部就维护了一套自动化配置模板,新人入职三天就能上手操作。