在Linux系统中配置双网卡可提升网络性能(如负载均衡)或实现特定网络拓扑(如隔离内/外网),以下是详细操作指南,基于专业性和可靠性符合主流发行版(Ubuntu/CentOS)的最佳实践:
前期准备
-
确认网卡状态
ip link show # 查看网卡名称(如ens33、eth0) lspci | grep -i ethernet # 检查硬件识别
- 若网卡未启用:
sudo ip link set dev <网卡名> up
- 若网卡未启用:
-
准备网络信息
- 主网卡(如ens33):公网IP(例:192.168.1.10/24,网关192.168.1.1)
- 第二网卡(如ens34):内网IP(例:10.0.0.2/24,无网关)
配置方法(命令行)
临时配置(重启失效)
sudo ip route add default via 192.168.1.1 # 配置第二网卡(仅内网) sudo ip addr add 10.0.0.2/24 dev ens34
永久配置(推荐)
-
Ubuntu/Debian(修改
/etc/netplan/01-netcfg.yaml
)network: version: 2 ethernets: ens33: addresses: [192.168.1.10/24] routes: - to: default via: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1] ens34: addresses: [10.0.0.2/24]
→ 应用配置:
sudo netplan apply
-
CentOS/RHEL(修改网卡配置文件)
- 主网卡(
/etc/sysconfig/network-scripts/ifcfg-ens33
):BOOTPROTO=static IPADDR=192.168.1.10 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 ONBOOT=yes
- 第二网卡(
/etc/sysconfig/network-scripts/ifcfg-ens34
):BOOTPROTO=static IPADDR=10.0.0.2 NETMASK=255.255.255.0 ONBOOT=yes
→ 重启网络:
sudo systemctl restart network
- 主网卡(
图形界面配置(适合桌面用户)
- 打开 Settings > Network
- 点击对应网卡旁的齿轮图标
- 选择 IPv4 或 IPv6
- 设置 Manual(手动)分配IP/子网掩码/网关
- 保存后启用连接(注意:避免为双网卡设置相同默认网关)
关键验证步骤
-
检查IP分配
ip addr show # 确认双网卡IP正确
-
测试连通性
ping -I ens33 8.8.8.8 # 通过主网卡ping外网 ping -I ens34 10.0.0.1 # 通过第二网卡ping内网设备
-
路由表验证
ip route show # 确保默认网关仅指向主网卡
- 预期输出:
default via 192.168.1.1 dev ens33
0.0.0/24 dev ens34 proto kernel scope link src 10.0.0.2
- 预期输出:
故障排除
-
网卡未识别:
- 检查驱动:
lspci -k | grep -A 2 Ethernet
- 安装驱动(例:Intel网卡)
sudo apt install e1000e-dkms
- 检查驱动:
-
IP冲突:
使用arping -I <网卡名> <IP>
检测IP是否被占用。 -
网关冲突:
确保仅一个默认网关(通常在主网卡),否则导致路由混乱。
高级场景
-
双网关需求:
添加策略路由(示例为第二网卡创建独立路由表):echo "200 custom" >> /etc/iproute2/rt_tables # 创建路由表 ip route add 10.0.0.0/24 dev ens34 table custom # 表内路由 ip rule add from 10.0.0.2 lookup custom # 应用策略
-
负载均衡:
使用bonding
模式(需交换机配合):modprobe bonding mode=balance-rr # 启用轮询模式
安全提示
- 内网网卡禁用IP转发(除非用作路由器):
sysctl -w net.ipv4.ip_forward=0 # 临时生效
- 防火墙配置:
sudo ufw allow in on ens33 # 开放公网访问 sudo ufw deny in on ens34 # 限制内网卡入站
引用说明基于Linux内核文档(kernel.org)、Ubuntu Server指南(ubuntu.com/server/docs)及Red Hat官方网络配置手册(access.redhat.com),实操前请备份网络配置文件。
通过以上步骤,您可稳定管理Linux双网卡,复杂场景建议结合tcpdump
抓包分析流量路径,遇到问题可查阅journalctl -u systemd-networkd
获取详细日志。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4398.html