Ubuntu双网卡配置指南:实现双网络接口的同步显示与高效利用
引言
在Ubuntu系统中,同时配置和使用两个网络接口(双网卡)是一项常见且实用的需求,特别是在需要同时连接内部和外部网络,或实施特定网络策略的场景下。然而,双网卡配置并非总是直观,尤其是在确保两个网络接口都能被系统正确识别并高效运行方面。本文将深入探讨在Ubuntu系统中配置双网卡的方法,并提供确保其同步显示与高效利用的详细步骤。

准备工作:硬件与网络环境确认
在着手配置之前,请务必完成以下准备步骤:
1. 硬件检查:确保您的Ubuntu系统已成功安装并被识别出两个独立的网卡。
2. 网络信息收集:明确您将连接的网络环境,包括各网络的IP地址、子网掩码以及网关信息。
双网卡配置详解
Ubuntu提供了多种网络配置方式,以下将介绍两种主要方法:
1. 使用Netplan进行配置(推荐,适用于Ubuntu 18.04及更新版本)
Netplan是Ubuntu 18.04及之后版本的默认网络管理工具,其配置通过YAML文件完成。
a. 识别网卡名称:
在终端执行以下命令,以列出系统中所有可用的网络接口及其名称:
ip -a
请根据实际输出,记下您需要配置的双网卡的名称(例如:enp1s3 和 enp0s8)。

b. 编辑Netplan配置文件:
使用您偏好的文本编辑器(如nano)打开Netplan的主配置文件:
sudo nano /etc/netplan/01-netplan-all.yaml
注意:如果该文件不存在,您可能需要创建它,或者根据实际情况调整文件名。

c. 配置网卡参数:
在配置文件中,为每个网卡添加相应的配置。以下是一个示例,请将`enp1s3`和`enp0s8`替换为您实际的网卡名称,并根据您的网络环境调整IP地址、子网掩码和网关:
yaml
network:
version: 2
ethernets:
enp1s3:
dhcp4: no # 禁用DHCP,手动配置IP
addresses:
- 192.168.1.10/24 # 第一块网卡IP及子网掩码
gateway4: 192.168.1.1 # 第一块网卡的网关
nameservers:
addresses:
- 8.8.8.8 # DNS服务器
enp0s8:
dhcp4: no # 禁用DHCP,手动配置IP
addresses:
- 10.0.0.10/24 # 第二块网卡IP及子网掩码
gateway4: 10.0.0.1 # 第二块网卡的网关
nameservers:
addresses:
- 8.8.4.4 # DNS服务器
d. 应用配置:
保存文件后,在终端执行以下命令使配置生效:
sudo netplan apply
2. 使用ifcfg文件配置(适用于较旧版本的Ubuntu或特定场景)
在较早的Ubuntu版本中,网络配置主要依赖于/etc/sysconfig/network-scripts/目录下的`ifcfg-*`文件(比如ubuntu 16)。
a. 创建网卡配置文件:
在`/etc/sysconfig/network-scripts/`目录下,为每个网卡创建配置文件,例如`ifcfg-enp1s3`和`ifcfg-enp0s8`。
b. 编辑网卡配置文件:
使用文本编辑器打开并编辑这两个文件,设置IP地址、子网掩码、网关以及启用状态。
示例:`ifcfg-enp1s3`
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes

示例:`ifcfg-enp0s8`
TYPE=Ethernet
BOOTPROTO=none
IPADDR=10.0.0.10
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
ONBOOT=yes

c. 重启网络服务:
应用配置后,需要重启网络服务使更改生效:
sudo systemctl restart network
实现双网络接口的同时显示与高效利用
1. 设置默认路由
为了确保系统能够正确地将流量路由到不同的网络接口,您需要配置默认路由。通常情况下,系统会根据网关的优先级或静态路由规则来决定使用哪个接口作为默认路由。如果您希望明确控制,可以手动添加路由(IP地址以实际为例):
sudo route add default gw 192.168.1.1 dev enp1s3
sudo route add default gw 10.0.0.1 dev enp0s8

注意:上述命令可能会覆盖已有的默认路由。更精细的路由策略可能需要使用`ip route`命令。
2. 使用网络桥接技术(适用于特殊场景)
如果您希望将两个网络接口合并为一个逻辑接口,以便它们在同一个网络段内通信或作为虚拟机网络的一部分,可以考虑使用网络桥接。
a. 创建桥接接口:
首先,使用`brctl`命令创建一个新的桥接接口(例如`br0`),并将物理网卡加入该桥接接口:
sudo apt-get install bridge-utils # 如果未安装,请先安装
sudo brctl addbr br0
sudo brctl addif br0 enp1s3
sudo brctl addif br0 enp0s8
b. 配置桥接接口:
接着,您需要通过Netplan(或ifcfg文件)为这个新创建的桥接接口`br0`配置IP地址、子网掩码和网关。
Netplan配置示例(编辑`01-netplan-all.yaml`):
yam:
network:
version: 2
bridges:
br0:
interfaces:
- enp1s3
- enp0s8
dhcp4: no
addresses:
- 192.168.2.1/24 # 桥接接口的IP地址
gateway4: 192.168.2.1 # 桥接接口的网关
nameservers:
addresses:
- 8.8.8.8
c. 应用配置:
应用Netplan配置:
sudo netplan apply
或者,如果使用ifcfg文件,需要重启网络服务。
通过以上步骤,您可以有效地在Ubuntu系统中配置并管理双网卡,实现两个网络接口的同步显示,并根据您的需求进行高效的网络通信。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
