在Linux系统中正确设置网卡是网络管理的基础操作,无论是服务器还是个人电脑,稳定的网络连接都依赖于正确的网卡配置,本文将详细介绍Linux系统中设置网卡的多种方法,包括通过命令行工具、配置文件以及图形界面进行操作,涵盖静态IP、动态IP、多网卡绑定等常见场景。

查看网卡信息
在设置网卡之前,首先需要确认系统中的网卡名称及相关信息,随着Linux内核的发展,网卡命名规则已从传统的eth0、eth1演变为基于硬件信息的命名方式(如ens33、enp0s3),使用以下命令可以查看系统中的网卡列表:
ip a:显示所有网卡的详细信息,包括IP地址、MAC地址、状态等。ifconfig -a:传统工具,可列出所有网卡及其配置(需安装net-tools包)。lspci | grep Ethernet:通过PCI设备列表查找网卡硬件信息。
执行ip a后,输出结果中会包含类似2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000的行,其中ens33即为网卡名称。
通过命令行临时配置网卡
临时配置网卡适用于测试场景,重启系统后配置将失效,主要使用ip和ifconfig命令(以CentOS 7/8为例):
配置静态IP
# 设置IP地址和子网掩码 ip addr add 192.168.1.100/24 dev ens33 # 启用网卡 ip link set ens33 up # 设置网关 ip route add default via 192.168.1.1 # 配置DNS(需安装net-tools) echo "nameserver 8.8.8.8" >> /etc/resolv.conf
配置动态IP(DHCP)
# 启用DHCP客户端(需安装dhclient) dhclient ens33
常用命令对比
| 命令 | 功能描述 | 示例 |
|---|---|---|
ip addr add |
添加IP地址 | ip addr add 192.168.1.100/24 dev ens33 |
ip link set |
启用/禁用网卡 | ip link set ens33 up |
ip route add |
添加路由 | ip route add default via 192.168.1.1 |
ifconfig |
传统配置工具(需安装net-tools) | ifconfig ens33 192.168.1.100 netmask 255.255.255.0 |
通过配置文件永久设置网卡
永久配置需要修改系统的网络配置文件,不同发行版的文件位置和格式有所不同:
基于Systemd的发行版(Ubuntu 16.04+、CentOS 7+)
使用Netplan(Ubuntu 18.04+)或NetworkManager(CentOS 7+)进行配置。
Netplan配置示例(Ubuntu 20.04):
编辑/etc/netplan/01-netcfg.yaml文件:
network:
version: 2
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
应用配置:netplan apply

NetworkManager配置文件(CentOS 7/8):
编辑/etc/sysconfig/network-scripts/ifcfg-ens33:
TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 ONBOOT=yes
重启网络服务:systemctl restart network
传统发行版(CentOS 6、Debian 7等)
配置文件位于/etc/sysconfig/network-scripts/下,格式与上述NetworkManager类似,需确保ONBOOT=yes。
配置文件关键字说明
| 关键字 | 说明 | 示例值 |
|---|---|---|
BOOTPROTO |
启动协议:static(静态)、dhcp(动态) | static |
IPADDR |
IP地址 | 168.1.100 |
NETMASK |
子网掩码 | 255.255.0 |
GATEWAY |
默认网关 | 168.1.1 |
DNS1 |
首选DNS服务器 | 8.8.8 |
ONBOOT |
是否开机启动网卡 | yes |
多网卡绑定(Bonding)
为了提高网络冗余或带宽,可以将多个物理网卡绑定为一个虚拟网卡,以CentOS 7为例:
加载bonding模块
编辑/etc/modprobe.d/bonding.conf,添加:
alias bond0 bonding options bonding mode=0 miimon=100
参数说明:
mode=0:平衡负载(Round Robin),需交换机支持miimon=100:链路检测间隔(毫秒)
配置绑定网卡
创建/etc/sysconfig/network-scripts/ifcfg-bond0:

DEVICE=bond0 BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 ONBOOT=yes
修改物理网卡配置(如ifcfg-ens33和ifcfg-ens37):
DEVICE=ens33 MASTER=bond0 SLAVE=yes ONBOOT=yes
重启网络服务:systemctl restart network
通过图形界面配置网卡
对于不习惯命令行的用户,可通过图形工具配置网络:
GNOME桌面环境(Ubuntu、CentOS 8)
- 进入“设置”>“网络”,选择网卡后点击“齿轮”图标。
- 选择“IPv4”标签页,选择“手动”配置IP,或选择“自动(DHCP)”获取动态IP。
KDE桌面环境
- 进入“系统设置”>“网络配置”,选择网卡后编辑连接属性。
传统工具(如system-config-network)
在CentOS 6中可通过yum install system-config-network安装,使用system-config-network命令打开图形界面。
常见问题排查
网卡无法启动
- 检查
ONBOOT是否设置为yes。 - 确认IP地址、子网掩码是否正确。
- 查看系统日志:
journalctl -u network或dmesg | grep ens33。
无法访问外网
- 检查网关配置:
ip route查看默认路由。 - 检查DNS配置:
cat /etc/resolv.conf。 - 使用
ping 8.8.8.8测试网络连通性,ping www.baidu.com测试DNS解析。
多网卡冲突
- 确保绑定模式(如bonding)与交换机配置匹配。
- 检查IP地址是否在同一网段。
Linux网卡配置是系统管理的重要技能,无论是临时测试还是长期部署,都需要掌握命令行和配置文件两种方式,通过合理设置静态IP、动态IP或多网卡绑定,可以满足不同场景下的网络需求,在实际操作中,建议先进行临时配置测试,确认无误后再修改配置文件,同时注意备份原始配置以避免误操作导致网络中断,随着Linux发行版的不断更新,网络管理工具也在迭代,建议优先使用发行版推荐的新工具(如Netplan、NetworkManager),以获得更好的兼容性和支持。

















