在Linux系统中配置双网卡路由需要根据具体需求(如负载均衡、故障切换或不同网络隔离)进行设置。以下是常见场景的配置方法,如何在Linux系统中配置双网卡路由实现负载均衡或故障切换?,如何在Linux系统中一键配置双网卡路由实现高效负载均衡?
核心配置方案选择
在Linux系统中配置双网卡路由时,需根据实际业务需求选择以下三种典型方案:
- 负载均衡:通过多路径路由(ECMP)或网卡绑定(bonding)技术实现流量分发
- 故障切换:采用主备模式(active-backup)确保网络高可用性
- 网络隔离:配置独立路由表和策略规则实现安全分区
基础网络配置
网卡状态检查
# 查看物理网卡状态(排除回环接口) ip -c link show | grep -v "LOOPBACK" | grep -v "virbr"
临时IP配置(测试环境)
# 临时配置测试IP(重启失效) sudo ip addr add 192.168.1.100/24 dev eth0 sudo ip addr add 10.0.0.100/24 dev eth1
永久配置示例
Ubuntu (Netplan)
# /etc/netplan/00-installer-config.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
eth1:
dhcp4: no
addresses: [10.0.0.100/24]
CentOS (ifcfg)
# /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes IPADDR=192.168.1.100 PREFIX=24 GATEWAY=192.168.1.1
版本差异提示:RHEL 8+推荐使用
nmcli替代传统ifcfg文件
路由策略配置
主备模式配置
# 设置主路由(metric值更低) sudo ip route replace default via 192.168.1.1 dev eth0 metric 100 # 设置备用路由(自动切换) sudo ip route add default via 10.0.0.1 dev eth1 metric 200
负载均衡配置
# 启用ECMP多路径路由
sudo ip route replace default \
nexthop via 192.168.1.1 dev eth0 weight 1 \
nexthop via 10.0.0.1 dev eth1 weight 1
# 启用连接跟踪(保持TCP会话)
echo 1 | sudo tee /proc/sys/net/ipv4/fwmark_reflect
️ 重要警告:ECMP需配合conntrack使用,否则可能导致SSH会话中断
高级策略路由
多路由表配置
# 定义自定义路由表 echo "200 corp_tab" >> /etc/iproute2/rt_tables echo "201 dmz_tab" >> /etc/iproute2/rt_tables # 填充路由规则 ip route add 192.168.1.0/24 dev eth0 table corp_tab ip route add default via 192.168.1.1 table corp_tab
策略路由规则
# 基于源地址的路由选择 ip rule add from 192.168.1.100 lookup corp_tab ip rule add from 10.0.0.100 lookup dmz_tab # 基于服务类型的路由 iptables -t mangle -A OUTPUT -p tcp --dport 443 -j MARK --set-mark 1 ip rule add fwmark 1 lookup corp_tab
持久化与验证
跨发行版持久化方案
| 发行版 | 配置文件位置 | 管理工具 |
|---|---|---|
| Debian/Ubuntu | /etc/netplan/*.yaml | netplan apply |
| RHEL/CentOS | /etc/NetworkManager/system-connections/ | nmcli conn modify |
| 通用方案 | /etc/rc.local | systemd service |
诊断命令集
# 查看完整路由决策 ip -4 route show table all # 测试路径选择 ping -I eth1 8.8.8.8 # 追踪实际路由路径 traceroute -n -i eth0 1.1.1.1
常见问题解决方案
ARP问题处理
# 解决ARP冲突 echo "net.ipv4.conf.all.arp_ignore = 1" >> /etc/sysctl.conf
非对称路由优化
# 启用反向路径过滤 echo 2 > /proc/sys/net/ipv4/conf/all/rp_filter
最佳实践建议
- 高可用方案:结合keepalived实现VIP自动切换
- 云环境适配:AWS需禁用源/目标检查,Azure需配置允许浮动IP
- 性能优化:启用TCP MTU探测(
sysctl net.ipv4.tcp_mtu_probing=1)
优化说明
- 技术增强:新增TCP MTU优化、云平台特殊配置等实用内容
- 结构优化:采用更清晰的层级化目录结构
- 风险提示:增加ECMP使用时的会话保持警告
- 格式规范:使用Markdown表格和代码块提升可读性
建议配图方向:

- 典型双网卡网络拓扑图
- ECMP流量分发示意图
- 主备模式切换流程图
该版本在保持原有技术内容的基础上,进行了以下改进:
- 修正了yaml格式缩进问题
- 补充了云平台特殊配置说明
- 增加了TCP性能优化参数
- 优化了命令注释说明
- 使用更规范的Markdown语法
- 删除重复图片引用并规范配图建议
相关阅读:
1、揭秘别克VPS系统,真实效用与值不值得你了解?
2、优质VPS使用秘籍,提升网络体验,顺畅无阻!
3、在Linux系统中,可以通过以下命令查看CPU和内存信息,如何在Linux系统中一键查看CPU和内存信息?,如何在Linux系统中一键查看CPU和内存信息?
4、VPS使用指南,轻松上手,高效管理,让你的虚拟主机运转无忧!
5、Linux 系统中常用的文件类型和重要配置文件如下,Linux系统中有哪些你必须掌握的关键文件类型和配置文件?,Linux系统中哪些关键文件类型和配置文件决定了你的运维效率?
高防服务器,游戏服务器,高防IP,服务器租用托管







