要在一台服务器上实现两个网口互通,核心方法是配置网卡绑定(bonding)或桥接(bridge),具体取决于你的需求是链路聚合、负载均衡还是网络隔离。
很多运维人员第一次接触双网口服务器时,都会问同一个问题:两个网口插上线,为什么不能直接通信?默认情况下系统会将两个网口视为独立设备,要想让它们“协同工作”或者“互相访问”,必须进行专门的配置,下面我会从方案选择、具体步骤到故障排查,讲清楚这件事。
双网口服务器互通设置:绑定与桥接两大方案
两个网口的互通,并不是指物理上直接短接,而是指通过软件配置让它们共同承担网络任务,目前主流的方案有两种:网卡绑定(Bonding)和网桥(Bridge),选哪个,取决于你希望达到什么目的。
网卡绑定(Bonding)的原理与模式
网卡绑定的核心逻辑是将多个物理网口虚拟成一个逻辑接口,对外表现为一个IP,这样做的好处是提升带宽或增加冗余,绑定模式有多种,常见的是以下几种:
- mode 0(balance-rr):轮询模式,数据包依次从每个网口发出,需要交换机支持端口聚合。
- mode 1(active-backup):主备模式,一个网口工作,另一个待机,切换时对上层透明,适合追求高可用。
- mode 4(802.3ad):动态链路聚合,需要交换机开启LACP,兼顾负载均衡和冗余。
行业共识认为,在生产环境中mode 1和mode 4是最常用的,mode 1配置简单,不依赖交换机;mode 4能同时利用带宽,但需要网络设备配合。
网桥(Bridge)的适用场景
网桥的作用是把两个网口连接到一个逻辑二层网络中,类似一个虚拟交换机,常见场景是:
- 虚拟化平台:让虚拟机通过两个物理网口访问外部网络。
- 透明防火墙或网关:将两个网口桥接在一起,实现流量转发。
- 网络隔离测试:在同一台服务器上模拟不同网段互通。
相比绑定,网桥不会合并带宽,也不会提供故障转移,它的核心是转发,如果你需要的是“让两个网口都属于同一个广播域”,网桥是更合适的选择。
服务器两个网口怎么配置桥接?详细步骤
网桥配置并不复杂,但不同操作系统命令不同,下面以Linux和Windows为例,给出可操作的步骤,注意:配置前请备份当前网络设置。
Linux下配置网桥
使用bridge-utils工具包或iproute2,以CentOS 7/RHEL 8为例,配置两个网口eth0和eth1桥接到br0:
- 安装工具:
yum install bridge-utils -y - 创建网桥配置文件:
/etc/sysconfig/network-scripts/ifcfg-br0如下:DEVICE=br0 TYPE=Bridge BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 ONBOOT=yes - 修改eth0和eth1配置文件,去掉IP地址,加入
BRIDGE=br0:DEVICE=eth0 TYPE=Ethernet BOOTPROTO=none BRIDGE=br0 ONBOOT=yes - 重启网络服务:
systemctl restart network
完成后,用brctl show验证两个网口是否已加入桥接,在Ubuntu或Debian中,使用netplan或直接编辑/etc/network/interfaces,原理类似。
Windows下配置网络桥接
Windows Server操作相对直观:
- 打开“网络和共享中心” → “更改适配器设置”。
- 按住Ctrl键选中两个网卡,右键点击,选择“桥接”。
- 系统会自动创建一个“网桥”,并分配一个IP地址,如果需要固定IP,在网桥属性中手动设置。
注意:Windows网桥不支持无线网卡与有线网卡混合桥接,且桥接后两个网口的IP配置会失效,统一由网桥管理,配置完成后,可以在命令行用ipconfig查看网桥状态。
双网口链路聚合与负载均衡配置
如果你希望让两个网口同时工作,提升吞吐量,那么链路聚合或负载均衡配置是首选,这里以Linux绑定和Windows NIC Teaming为例。
Linux Bonding模式选择与配置
以CentOS 7为例,配置mode 4(802.3ad)链路聚合:
- 加载bonding模块:
modprobe bonding miimon=100 mode=4 - 创建绑定配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0:DEVICE=bond0 TYPE=Bond BONDING_MASTER=yes BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 ONBOOT=yes BONDING_OPTS="miimon=100 mode=4 lacp_rate=fast" - 修改eth0和eth1配置文件,加入
MASTER=bond0和SLAVE=yes:DEVICE=eth0 TYPE=Ethernet BOOTPROTO=none MASTER=bond0 SLAVE=yes ONBOOT=yes - 重启网络服务,用
查看绑定状态。cat /proc/net/bonding/bond0
如果交换机不支持链路聚合,可以选择mode 0(balance-rr)或mode 6(balance-alb),后者不需要交换机支持,但会有一定的CPU开销。
Windows NIC Teaming配置
Windows Server 2012及以上版本自带NIC Teaming功能:
- 打开“服务器管理器” → “本地服务器” → “NIC Teaming”。
- 在“任务”中选择“新建组”,勾选要加入的两个网卡。
- 选择负载均衡模式:地址哈希(类似mode 0)或动态(类似mode 4)。
- 配置备用适配器(用于故障转移),点击确定。
完成后,团队适配器会显示为一个虚拟网卡,分配IP即可,Windows NIC Teaming理论上支持最多32个网卡,但推荐两个网卡时使用动态模式,兼容性更好。
双网口网络冗余方案:保证业务不中断
对于不能接受单点故障的业务,双网口冗余是标配,业内专家指出,在数据中心环境中,双网卡绑定是保证服务器高可用的基础手段之一,冗余方案的核心是故障转移。
故障转移原理
基于mode 1(active-backup)的绑定,两个网口一个主用一个备用,当主网口链路断开或硬件故障时,备用网口自动接管IP和MAC地址,切换时间通常在1秒以内,这种方案对上层应用完全透明,ping包最多丢失一两个。
配置验证
配置完成后,可以通过以下方法验证冗余效果:
- 链路测试:拔掉主网口的网线,同时用另一台机器持续ping服务器IP,观察丢包情况。
- 日志查看:Linux下通过
dmesg | grep bond查看切换日志,Windows下在事件查看器中搜索“Teaming”。 - 性能监控:使用
iftop或nload分别监控每个物理网口的流量,确认主备切换后流量移动到备用口。
如果切换过程中出现长时间中断,检查交换机的STP(生成树协议)设置,部分交换机在端口切换时会有30秒左右的收敛时间,建议开启portfast或edge port。
双网口互通常见问题与排查
即使配置正确,也可能遇到各种问题,下面列举三个高频故障点,覆盖大多数情况。
网卡无法识别
插上网线后系统不识别,或链路状态一直是down,原因通常包括:
- 网线故障或接触不良,尝试更换网线。
- 网卡驱动未正确加载,Linux下用
lspci | grep Ethernet确认硬件,dmesg | grep eth查看驱动信息。 - 交换机端口down或配置了VLAN不匹配,检查交换机端口的state和VLAN membership。
绑定模式选择错误
配置了mode 4但交换机没开LACP,会导致链路无法聚合,网口可能频繁up/down,此时要么在交换机上启用LACP,要么将绑定模式改为mode 1或mode 6,如何判断?在Linux下查看cat /proc/net/bonding/bond0,如果出现“partner not ready”等提示,说明交换机不匹配。
IP地址冲突
双网口配置为同一网段但未绑定,系统会同时使用两个IP,导致网络不稳定,解决方法:始终使用绑定或桥接后的虚拟接口配置IP,不要给物理网口单独分配IP,如果已经配置了,用ip addr del删除物理口上的IP。
关于服务器双网口互通的常见问题
两个网口可以直接用网线直连来实现互通吗?
可以,但需要在两个网口上配置同一网段的IP地址,并且系统需要开启一个网口到另一个网口的转发,如果是同一台服务器的两个网口直连,在没有配置桥接或路由的情况下,数据包不会自动转发,更常见的做法是配置桥接,让两个网口属于同一个虚拟交换机,或者使用绑定模式。
配置双网口后网速没有提升,问题出在哪里?
首先确认绑定模式是否支持负载均衡,mode 1不会提升速度,只会提供冗余,mode 0或mode 4需要交换机配合,且流量要能均匀分布(例如基于源MAC或IP的哈希),如果两个网口连接同一个交换机,交换机端口配置为access模式且未启用聚合,那么mode 0和mode 4都可能无法正常工作,建议先用ethtool检查每个网口的速率是否一致,再用流量生成工具测试。
双网口配置后网络时断时续,是什么原因?
最常见的原因是绑定模式与交换机不匹配,导致链路协商错误,另一种可能是交换机启用了STP,端口在拓扑变化时重新收敛,解决方案:在Linux的bonding配置中增加miimon=100和updelay=0参数,减少切换延迟,在交换机端,将连接服务器的端口设置为portfast或edge trunk,如果问题仍然存在,尝试将绑定模式改为mode 1,排除硬件兼容性问题。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/569788.html




