网络虚拟化技术怎么配置
在公司做开发测试,经常需要模拟多台服务器之间的通信。如果每台都用物理机,成本高还麻烦。这时候网络虚拟化技术就派上用场了。通过软件定义网络(SDN),可以在一台主机上划分出多个虚拟网络,让虚拟机像真实设备一样互通。
常见的应用场景比如搭建一个小型的私有云测试环境,或者在本地跑微服务架构,每个服务运行在独立的虚拟网络中互不干扰。下面以 VMware 和 Linux 的桥接模式为例,讲讲具体怎么配置。
使用 VMware 配置虚拟交换机
打开 VMware Workstation,在“编辑”菜单里找到“虚拟网络编辑器”。这里可以创建和管理虚拟交换机。选择 VMnet0 并设置为“桥接模式”,这样虚拟机就能直接接入物理网络,获得和宿主机同网段的 IP 地址。
如果想隔离测试环境,可以选择“自定义”模式,比如使用 VMnet2 创建一个仅主机(Host-only)网络。这样虚拟机之间能通信,但不能访问外网,适合做安全测试或内网演练。
Linux 下用 Bridge 工具搭虚拟网桥
在 CentOS 或 Ubuntu 上,可以用命令行工具 bridge-utils 来配置网桥。先安装工具包:
yum install bridge-utils && yum install tunctl然后创建一个名为 br0 的网桥:
brctl addbr br0
brctl addif br0 eth0接着给网桥分配 IP,并启用接口:
ip addr flush dev eth0
ip addr add 192.168.1.100/24 dev br0
ip link set br0 up现在再启动 KVM 虚拟机时,就可以把它的网络接口绑定到这个网桥上,实现与外部网络互通。
使用 Open vSwitch 实现高级功能
如果需要 VLAN 划分、流量监控或 QoS 控制,Open vSwitch 是更合适的选择。它支持标准的 NetFlow、sFlow 和 SPAN,还能跟 OpenStack 集成。
安装完成后,创建一个 OVS 交换机:
ovs-vsctl add-br ovs-br0
ovs-vsctl add-port ovs-br0 eth0
ovs-vsctl add-port ovs-br0 vnet0这时 vnet0 就是某个虚拟机的虚拟网卡,已经接入到了 OVS 网络中。你可以进一步设置流表规则来控制数据包走向。
实际操作中,曾遇到过虚拟机无法获取 IP 的问题。排查发现是 DHCP 请求没传出去,原因是网桥没有正确转发广播包。解决办法是在 sysctl 中开启转发:
sysctl -w net.ipv4.ip_forward=1
sysctl -w net.bridge.bridge-nf-call-iptables=0网络虚拟化配置的核心就是搞清楚“虚拟交换机、虚拟网卡、网络模式”三者的关系。选对模式,配好桥接,再打开必要的转发开关,基本就能跑通大多数场景了。