Ubuntu 24.04 LTS 解决网络连接问题

1. 问题描述

  • 现象 :ens33 网络接口无法获取 IPv4 地址,导致网络不可用。
  • 初步排查 :
    • 运行 ip a,发现 ens33 接口没有分配 IPv4 地址。
    • 运行 ping www.baidu.com,提示"网络不可达"。
    • 查看 NetworkManager 日志,发现 DHCP 请求失败。

2. 详细排查与修复过程

步骤 1:检查网络接口状态
  • 命令:
bash 复制代码
 ip a
  • 部分输出:
bash 复制代码
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 
link/ether 00:0c:29:75:7b:81 brd ff:ff:ff:ff:ff:ff 
altname enp2s1 
inet6 fe80::f06a:5b51:ac6a:a797/64 scope link noprefixroute 
valid_lft forever preferred_lft forever 
  • 分析 :
    • ens33 接口已启用(UP 状态),但没有分配 IPv4 地址(没有 inet 行)。

步骤 2:检查网络配置文件
  • 命令 :

    bash 复制代码
    sudo cat /etc/netplan/*.yaml
  • 输出 :

    yaml 复制代码
    network:
      version: 2
      ethernets:
        NM-1636652f-5720-414e-9282-xxxxxxxxcf99:
          renderer: NetworkManager
          match:
            name: "ens33"
          dhcp4: true
          dhcp6: true
          wakeonlan: true
          networkmanager:
            uuid: "1636652f-5720-414e-9282-xxxxxxxxf99"
            name: "配置 1"
            passthrough:
              ethernet._: ""
              ipv6.addr-gen-mode: "default"
              ipv6.ip6-privacy: "-1"
              proxy._: ""
  • 分析 :

    • 配置文件中启用了 dhcp4,但 DHCP 未分配 IP 地址。

步骤 3:检查虚拟机网络设置
  • 发现 :
    • 虚拟机的 vmnet8 网络设置如下:
      • 子网 IP:192.168.213.0
      • 网关:192.168.213.2
      • 子网掩码:255.255.255.0

步骤 4:手动配置静态 IP
  • 命令 :

    bash 复制代码
    sudo nano /etc/netplan/*.yaml
  • 修改后的配置文件 :

    yaml 复制代码
    network:
      version: 2
      ethernets:
        NM-1636652f-5720-414e-9282-xxxxxxxxcf99:
          renderer: NetworkManager
          match:
            name: "ens33"
          addresses:
            - 192.168.213.100/24
          routes:
            - to: 0.0.0.0/0
              via: 192.168.213.2
          nameservers:
            addresses:
              - 8.8.8.8
              - 8.8.4.4
          wakeonlan: true
          networkmanager:
            uuid: "1636652f-5720-414e-9282-xxxxxxxxcf99"
            name: "配置 1"
            passthrough:
              ethernet._: ""
              ipv6.addr-gen-mode: "default"
              ipv6.ip6-privacy: "-1"
              proxy._: ""
  • 应用配置 :

    bash 复制代码
    sudo netplan apply

步骤 5:验证网络配置
  • 命令 :

    bash 复制代码
    ip a
  • 输出 :

    复制代码
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 00:0c:29:75:7b:81 brd ff:ff:ff:ff:ff:ff
        inet 192.168.213.100/24 brd 192.168.213.255 scope global noprefixroute ens33
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe75:7b81/64 scope link
           valid_lft forever preferred_lft forever
  • 分析 :

    • ens33 接口已成功分配静态 IP 地址 192.168.213.100/24。

步骤 6:测试网络连接
  • 测试网关 :

    bash 复制代码
    ping 192.168.213.2
  • 输出 :

    复制代码
    PING 192.168.213.2 (192.168.213.2) 56(84) bytes of data.
    64 bytes from 192.168.213.2: icmp_seq=1 ttl=64 time=0.123 ms
    64 bytes from 192.168.213.2: icmp_seq=2 ttl=64 time=0.098 ms
  • 测试外部网络 :

    bash 复制代码
    ping 8.8.8.8
  • 输出 :

    复制代码
    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    64 bytes from 8.8.8.8: icmp_seq=1 ttl=115 time=10.2 ms
    64 bytes from 8.8.8.8: icmp_seq=2 ttl=115 time=9.8 ms
  • 分析 :

    • 网络连接正常。

步骤 7:重启系统并验证
  • 重启系统 :

    bash 复制代码
    sudo reboot
  • 验证网络 :

    • 重启后,运行 ping www.baidu.com,确认网络连接正常。

关键点总结

  • DHCP 失败:由于 DHCP 无法分配 IP 地址,手动配置静态 IP 是最有效的解决方案。
  • NetworkManager :确保 NetworkManager 服务正常运行。
  • 备份配置文件:在修改网络配置前,备份原有配置文件。
相关推荐
2301_780789661 天前
跨平台适配!SDK 游戏盾兼容全终端游戏场景
java·网络·ddos
Ruiery1 天前
Linux 6.6内核内存管理深度解析(十六):mmap — 用户态“申请内存“的真相
linux·运维·服务器
欧米欧1 天前
Linux系统篇(七),环境变量的底层溯源,核心获取机制与安全应用
linux·运维·服务器
Ruiery1 天前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全
qetfw1 天前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
星融元asterfusion1 天前
工业网络升级实战:100G 双轨 Leaf-Spine 架构破解高并发出货网络瓶颈
网络·架构·spine
Da Da 泓1 天前
五子棋 Web 端测试用例报告
前端·网络·websocket·网络协议·测试用例·项目
云和数据.ChenGuang1 天前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain
niucloud-admin1 天前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php
逆风的蚂蚁1 天前
linux服务器性能调整怎么落地?我把 CPU 调度、I/O 优先级和内核参数这几个旋钮都拧了一遍
linux·运维·服务器