Ubuntu 16.04多网卡配置需从基础设置到负载均衡逐步实现,首先通过lspci识别网卡,编辑/etc/network/interfaces配置静态IP,安装ifenslave工具实现网卡绑定,采用bonding驱动,选择mode0(平衡轮询)或mode4(LACP)模式,配置bond0为主接口,添加从属网卡,设置负载均衡策略(如基于连接或轮询),重启网络服务后,通过ip a查看接口状态,cat /proc/net/bonding/bond0验证绑定效果,确保多网卡协同工作提升带宽与冗余性。
在服务器、虚拟化环境或需要多网络接入的场景中,多网卡配置是提升网络性能、实现冗余备份或隔离不同业务流的关键,本文将以 Ubuntu 16.04 为例,详细讲解多网卡的基础配置、静态IP与DHCP设置、网桥配置,以及通过Bonding实现负载均衡与高可用的完整流程。
环境准备:确认网卡信息
在配置多网卡前,首先需要确认系统识别到的物理网卡或虚拟网卡信息,Ubuntu 16.04 中,可通过以下命令查看网卡状态:
查看所有网卡(包括未激活的)
ifconfig -a # 或使用 ip 命令(推荐,更现代) ip a
输出示例中会看到类似 eth0、eth1、ens33 等网卡名称(具体名称取决于硬件或虚拟化平台,如 VMware 可能显示 eth0/eth1,KVM 可能显示 ens33/ens34)。

查看网卡详细信息(如MAC地址、厂商)
lspci | grep Ethernet # 或 ethtool -i eth0
假设系统有两块物理网卡:eth0(用于连接外网)和 eth1(用于内网或业务隔离),以下配置将以这两个网卡为例。
基础配置:静态IP与DHCP设置
Ubuntu 16.04 的网络配置核心文件是 /etc/network/interfaces,通过修改该文件可为每个网卡设置静态IP或动态获取(DHCP)。
备份原始配置文件
修改前务必备份原配置,避免配置错误导致无法联网:
sudo cp /etc/network/interfaces /etc/network/interfaces.bak
配置静态IP(以 eth0 为例)
假设 eth0 需要配置静态IP:168.1.100,子网掩码:255.255.0,网关:168.1.1,DNS:8.8.8 和 114.114.114。
编辑 /etc/network/interfaces:
sudo nano /etc/network/interfaces
在文件中添加以下内容(根据实际网卡名称调整):
# 配置 eth0 为静态IP
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 114.114.114.114
auto eth0:开机自动启用eth0iface eth0 inet static:指定eth0为静态IP模式address/netmask/gateway:IP地址、子网掩码、默认网关dns-nameservers:DNS服务器地址(可配置多个)
配置DHCP(以 eth1 为例)
若 eth1 需要动态获取IP(如连接内网DHCP服务器),配置如下:
# 配置 eth1 为DHCP模式 auto eth1 iface eth1 inet dhcp
应用配置并测试
保存文件后,重启网络服务或重启系统使配置生效:
# 方式1:重启网络服务(推荐,无需重启系统) sudo systemctl restart networking # 或 sudo ifdown eth0 && sudo ifup eth0 # 单个网卡重启 # 方式2:重启系统(确保所有配置生效) sudo reboot
测试网络连通性:
# 测试 eth0 外网连通性 ping -I eth0 8.8.8.8 # 测试 eth1 内网连通性(假设内网网关为 192.168.2.1) ping -I eth1 192.168.2.1
进阶配置:网桥与负载均衡
场景1:网桥配置(虚拟化场景常用)
在 KVM、Xen 等虚拟化平台中,常需要将物理网卡桥接到虚拟网桥,使虚拟机直接通过物理网卡联网,以下是以 eth1 为例创建网桥 br0 的步骤:
安装网桥工具
sudo apt-get install bridge-utils
配置网桥
编辑 /etc/network/interfaces,将 eth1 桥接到 br0:
# 配置网桥 br0
auto br0
iface br0 inet static
address 192.168.2.100
netmask 255.255.255.0
gateway 192.168.2.1
dns-nameservers 
