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 服务正常运行。
  • 备份配置文件:在修改网络配置前,备份原有配置文件。
相关推荐
BetterNow.14 小时前
安卓内存Previous为什么可以算进freeRam
android·linux·安卓·安卓性能·安卓内存
Inhand陈工15 小时前
智能驾驶数据高可靠上云实战:EC3320+IR315双路冗余方案
网络·物联网·自动驾驶·智能路由器·边缘计算·腾讯云·信息与通信
时空自由民.15 小时前
ESP32 IDF HTTP OTA升级流程原理
linux·单片机
东北甜妹15 小时前
K8s -Daemonset,kube-proxy,service,statefulset
linux·运维·服务器
idolao15 小时前
CentOS 7 安装 xampp-linux-1.8.1.tar.gz 详细步骤(解压、启动、验证)
linux·运维·centos
码点15 小时前
Android 9休眠时任意键唤醒屏幕
android·linux·运维
杨云龙UP15 小时前
Docker 部署 MongoDB 6.0 数据库每日自动备份实践:本地 + 异地保留 7 天_20260429
linux·运维·数据库·mongodb·docker·容器·centos
云布道师15 小时前
阿里云 Tablestore 为 Hermes Agent 构建记忆系统最佳实践
网络·人工智能·阿里云
Wmenghu15 小时前
Ubuntu 安装 MySQL 8.0 + Redis 并开启远程访问
redis·mysql·ubuntu
雨浓YN15 小时前
GKMLT通讯工具箱(WPF MVVM) - 02-Modbus RTU 与 TCP 报文格式、原理与CRC校验
网络·网络协议·tcp/ip