主网卡配置问题如何解决?

在Linux系统中配置双网卡可提升网络性能(如负载均衡)或实现特定网络拓扑(如隔离内/外网),以下是详细操作指南,基于专业性可靠性符合主流发行版(Ubuntu/CentOS)的最佳实践:


前期准备

  1. 确认网卡状态

    ip link show  # 查看网卡名称(如ens33、eth0)
    lspci | grep -i ethernet  # 检查硬件识别
    • 若网卡未启用:sudo ip link set dev <网卡名> up
  2. 准备网络信息

    • 主网卡(如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

永久配置(推荐)

  1. 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

  2. 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


图形界面配置(适合桌面用户)

  1. 打开 Settings > Network
  2. 点击对应网卡旁的齿轮图标
  3. 选择 IPv4IPv6
  4. 设置 Manual(手动)分配IP/子网掩码/网关
  5. 保存后启用连接(注意:避免为双网卡设置相同默认网关)

关键验证步骤

  1. 检查IP分配

    ip addr show  # 确认双网卡IP正确
  2. 测试连通性

    ping -I ens33 8.8.8.8  # 通过主网卡ping外网
    ping -I ens34 10.0.0.1  # 通过第二网卡ping内网设备
  3. 路由表验证

    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  # 启用轮询模式

安全提示

  1. 内网网卡禁用IP转发(除非用作路由器):
    sysctl -w net.ipv4.ip_forward=0  # 临时生效
  2. 防火墙配置:
    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

(0)
酷番叔酷番叔
上一篇 2025年6月13日 17:29
下一篇 2025年6月13日 18:21

相关推荐

  • Linux环境下2个PV如何进行扩容操作?

    在Linux系统中,LVM(逻辑卷管理)通过物理卷(PV)、卷组(VG)和逻辑卷(LV)的分层结构,提供了灵活的磁盘管理能力,当现有存储空间不足时,扩容PV是增加VG可用空间的基础,进而可以扩容LV以满足业务需求,本文将详细介绍在Linux系统中,如何利用2个现有PV进行扩容的完整流程、注意事项及操作示例,LV……

    2025年10月7日
    1400
  • 在Linux操作系统中,如何更新Ruby到最新版本的具体操作方法?

    在Linux系统中,Ruby作为常用的编程语言,其版本更新可能涉及安全漏洞修复、性能优化或新特性支持,更新Ruby的方法多样,需根据使用场景(如开发环境、生产环境)和需求(如版本灵活性、稳定性)选择合适的方式,本文将详细介绍Linux下更新Ruby的多种方法、注意事项及常见问题解决,检查当前Ruby版本更新前需……

    2025年9月28日
    1800
  • Linux安装Maven详细指南,Java开发,Linux安装Maven教程,Linux安装Maven完整步骤,Linux安装Maven官方推荐

    环境准备安装Java JDKMaven依赖Java环境(至少JDK 1.7+):sudo apt update && sudo apt install openjdk-11-jdk # Ubuntu/Debian# 或sudo yum install java-11-openjdk-devel……

    2025年7月25日
    4000
  • 在Linux系统中如何解压gzip文件及打开解压后的内容?

    在Linux系统中,gzip是一种常用的文件压缩格式,它通过DEFLATE算法压缩文件,通常以.gz作为文件扩展名,解压gzip文件是日常运维和开发中常见的操作,掌握相关命令和方法能提高工作效率,本文将详细介绍Linux环境下解压gzip文件的多种方式、常用选项及文件打开方法,gzip文件解压基础命令Linux……

    2025年9月19日
    3100
  • Linux如何查看进程ID?

    ps 命令(最常用)作用:列出当前进程信息,常用组合:ps aux | grep [进程名] # 查看特定进程的PIDps -ef | grep [进程名] # 完整格式列表示例:查找Nginx进程的PIDps aux | grep nginx输出示例:root 1234 0.0 0.1 12345 6789……

    2025年7月15日
    5100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信