如何修改Linux系统的上网网卡配置?

在Linux系统中,改变上网网卡通常涉及识别当前网络接口、配置目标网卡参数、调整路由策略等操作,具体方法需根据网络环境(如静态IP/DHCP)和发行版(Ubuntu/CentOS等)灵活调整,以下是详细操作步骤和注意事项。

如何改变linux上网网卡

识别当前网络状态与网卡信息

首先需确认当前系统中的网卡名称及网络配置状态,通过以下命令可查看所有网络接口及其IP信息:

ip a  # 查看所有网卡名称(如ens33、eth0)及IP配置
ip route show  # 查看当前路由表,确认默认网关指向的网卡
nmcli connection show  # 列出NetworkManager管理的网络连接(适用于Ubuntu/CentOS 7+)

输出中ens33状态为UP且包含inet地址,则表示当前该网卡为活动网卡;若默认网关通过ens33转发,则该网卡为当前上网网卡。

临时切换上网网卡(无需重启)

若需临时指定某网卡为上网网卡(如测试备用网络),可通过修改路由表实现:

  1. 激活目标网卡(若未激活):
    ip link set <网卡名> up  # ip link set ens38 up
  2. 为目标网卡配置IP(若未配置):
    ip addr add <IP地址/子网掩码> dev <网卡名>  # ip addr add 192.168.1.100/24 dev ens38
  3. 添加默认网关(指向目标网卡所在网络):
    ip route add default via <网关IP> dev <网卡名>  # ip route add default via 192.168.1.1 dev ens38
  4. 验证切换
    ip route show  # 确认默认网关是否指向目标网卡
    ping 8.8.8.8   # 测试外网连通性

    注意:临时配置在系统重启后会失效,需通过永久配置保存。

永久修改上网网卡配置

(一)基于NetworkManager的发行版(Ubuntu 18.04+/CentOS 7+)

NetworkManager是现代Linux发行版的默认网络管理工具,可通过命令行或图形界面配置:

如何改变linux上网网卡

  1. 命令行配置(nmcli)

    • 查看目标网卡连接名称:nmcli connection show
    • 修改目标连接的IP配置(以静态IP为例):
      nmcli con mod "<连接名>" ipv4.method manual ipv4.addresses <IP/掩码> ipv4.gateway <网关> ipv4.dns <DNS服务器>
      # nmcli con mod "ens38" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8
    • 启动连接并设置自动连接:
      nmcli con up "<连接名>"
      nmcli con mod "<连接名>" connection.autoconnect yes
    • 禁用原上网网卡连接(避免冲突):
      nmcli con down "<原连接名>"  # nmcli con down "ens33"
  2. 图形界面配置(nmtui)

    • 执行nmtui命令,进入文本界面,选择“Edit a connection”→ 选择目标连接 → 修改IPv4配置 → 保存退出 → 激活连接。

(二)基于传统配置文件的发行版(CentOS 6/Ubuntu 16.04及更早)

此类系统通过ifcfg文件配置网卡参数:

  1. 定位配置文件
    ls /etc/sysconfig/network-scripts/  # 查找ifcfg-<网卡名>文件,如ifcfg-ens38
  2. 编辑目标网卡配置文件
    vim /etc/sysconfig/network-scripts/ifcfg-ens38

    添加/修改以下参数:

    TYPE=Ethernet
    BOOTPROTO=static  # 静态IP,DHCP则改为dhcp
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    ONBOOT=yes  # 开机自启
  3. 禁用原网卡配置文件(可选,避免IP冲突):
    mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
  4. 重启网络服务
    systemctl restart network  # CentOS 7+
    service networking restart  # Ubuntu 16.04及更早

多网卡环境下的路由策略优化

若系统存在多张网卡,需确保路由策略正确,避免流量错误转发,可通过ip rule添加策略路由,例如指定特定IP段通过目标网卡访问:

如何改变linux上网网卡

ip rule add from <源IP段> table <路由表号> pref 10000  # 添加策略
ip route add default via <目标网关> dev <目标网卡> table <路由表号>  # 为指定表添加默认路由
ip route flush cache  # 刷新路由缓存

永久保存需将规则写入/etc/rc.local或NetworkManager的 dispatcher 脚本。

常用工具与命令速查

操作场景 命令/工具 说明
查看网卡信息 ip a / ifconfig 显示网卡状态、IP地址、MAC地址等
查看路由表 ip route show / route -n 查看默认网关、目标网络等路由信息
激活/禁用网卡 ip link set <网卡名> up/down 临时启用或禁用网卡
配置静态IP(临时) ip addr add <IP/掩码> dev <网卡名> 临时为网卡分配IP,重启后失效
配置默认网关(临时) ip route add default via <网关> dev <网卡名> 临时添加默认网关
重启网络服务 systemctl restart network CentOS 7+/Ubuntu 18.04+
图形化网络配置 nmtui / gnome-control-center network 文本/图形界面工具,适合新手

注意事项

  1. 避免IP冲突:修改IP前确保目标IP未被网络中其他设备使用,可通过ping <IP>测试。
  2. 备份配置文件:修改ifcfg文件前建议备份,避免配置错误导致网络中断。
  3. 防火墙与SELinux:CentOS系统需检查firewalldiptables是否阻止出站流量,必要时临时关闭测试:systemctl stop firewalld
  4. DHCP与静态IP:若网络环境为DHCP,确保目标网卡配置文件中BOOTPROTO=dhcp,避免手动IP冲突。

相关问答FAQs

Q1:修改网卡配置后无法上网,如何排查?
A:首先检查网卡状态:ip link show <网卡名>,确认是否为UP状态;其次查看IP配置:ip addr show <网卡名>,确认IP、子网掩码是否正确;然后检查默认网关:ip route show | grep default,确保网关可达(可通过ping <网关>测试);最后检查DNS解析:ping 8.8.8.8(测试外网连通性),ping www.baidu.com(测试DNS解析),若DNS异常,修改/etc/resolv.conf添加nameserver 8.8.8.8

Q2:如何让Linux在多网卡环境下优先使用特定网卡上网?
A:可通过设置路由表和策略路由实现优先级,优先使用ens38,可执行以下步骤:

  1. ens38添加默认网关:ip route add default via 192.168.1.1 dev ens38
  2. 添加策略路由,指定所有流量优先从ens38发出:
    ip rule add pref 10000 from all lookup main
    ip route add default dev ens38 table main
  3. 永久保存:将上述命令写入/etc/rc.local,并赋予执行权限:chmod +x /etc/rc.local
    若NetworkManager管理网卡,可通过修改连接优先级:nmcli con mod "<连接名>" connection.autoconnect-priority 100(数值越大优先级越高)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/30751.html

(0)
酷番叔酷番叔
上一篇 2025年9月26日 11:12
下一篇 2025年9月26日 11:34

相关推荐

  • Linux如何修改用户名和忘记密码怎么办

    在Linux系统中,用户名和密码是账户安全的核心,偶尔需要修改用户名(如更规范命名)或处理密码遗忘问题,以下分两部分详细说明操作步骤及注意事项,Linux如何修改用户名修改用户名需root权限操作,涉及用户信息、家目录及相关配置文件的调整,具体步骤如下:确认当前权限并备份用户数据首先切换至root用户(su……

    2025年9月10日
    2400
  • 如何linux安装 iscsi

    Linux 上安装 iSCSI,可先安装相关软件包如 iscsi-init

    2025年8月17日
    3500
  • Linux中如何分别用tar、gzip等压缩文件与目录?

    Linux作为广泛使用的操作系统,压缩文件是日常运维和开发中常见的操作,主要用于节省存储空间、加快文件传输速度以及便于文件归档管理,Linux下提供了多种压缩工具,每种工具在压缩率、压缩速度、兼容性等方面各有特点,掌握这些工具的使用方法能显著提升工作效率,常用压缩工具及基本用法gzip:快速压缩的经典工具gzi……

    2025年9月28日
    1100
  • linux中如何放大终端字体大小

    Linux 终端中,可通过 Ctrl + Shift + +和`

    2025年8月9日
    3300
  • 如何以root身份进入Linux系统?

    在Linux系统中,root用户是拥有最高权限的超级管理员,能够执行所有系统操作,包括安装软件、修改系统配置、管理用户权限等,由于root权限的敏感性,正确、安全地以root身份进入系统至关重要,本文将详细介绍多种以root身份进入Linux系统的方法,包括适用场景、操作步骤及注意事项,并通过表格对比不同方法的……

    2025年8月29日
    5100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信