如何修改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系统中,开启调试打印(通常称为dbgprint)是开发者诊断内核或驱动问题的关键手段,本文提供三种主流方法,涵盖动态调试、日志级别调整和内核参数配置,所有操作需root权限,并假设内核已启用动态调试支持(CONFIG_DYNAMIC_DEBUG=y),适用场景:精准控制特定内核模块、文件或函数的调试……

    2025年7月15日
    7900
  • Linux启动过程如何跳过?详细步骤与方法说明

    Linux启动过程是一个涉及硬件初始化、引导加载、内核加载、系统初始化等多个阶段的复杂流程,用户可能因调试、修复或特定需求需要跳过某些阶段,常见的跳过场景包括跳过GRUB菜单选择、跳过自动启动的服务、跳过图形界面进入命令行,或在故障时进入救援模式跳过常规启动流程,以下从不同场景出发,详细说明Linux启动过程的……

    2025年9月10日
    4000
  • Linux 如何测试网络带宽?常用方法与工具详解

    在Linux系统中,测试带宽是网络管理、性能优化和故障排查的重要环节,无论是本地网络环境、服务器间互联,还是公网带宽验证,选择合适的工具和方法能准确反映网络性能,本文将详细介绍Linux下常用的带宽测试工具、使用方法及注意事项,帮助用户全面掌握带宽测试技巧,使用iperf3进行专业网络性能测试iperf3是目前……

    2025年8月30日
    4700
  • 在linux如何关机

    Linux中,可使用命令“sudo shutdown -h now”来关机,sudo

    2025年8月10日
    5100
  • Linux中如何直接快速回到根目录?

    在Linux操作系统中,根目录(用“/”表示)是整个文件系统的起点,所有目录、文件和设备都挂载在根目录或其子目录下,无论是系统管理、文件操作还是脚本编写,快速切换到根目录都是常见需求,本文将详细介绍Linux中直接回到根目录的多种方法、适用场景及注意事项,帮助用户在不同环境下高效操作,Linux根目录的核心地位……

    2025年10月5日
    3300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信