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 服务正常运行。
  • 备份配置文件:在修改网络配置前,备份原有配置文件。
相关推荐
小生不才yz2 分钟前
shell编程 - 数据流指南
linux
未来之窗软件服务5 分钟前
自己平台接入国家网络身份认证公共服务接入
网络·仙盟创梦ide·东方仙盟
好奇的菜鸟5 分钟前
Ubuntu 18.04 启用root账户图形界面登录指南
数据库·ubuntu·postgresql
lisanmengmeng7 分钟前
添加ceph节点
linux·服务器·ceph
Tinyundg11 分钟前
Linux系统分区
linux·运维·服务器
要做一个小太阳14 分钟前
华为Atlas 900 A3 SuperPoD 超节点网络架构
运维·服务器·网络·华为·架构
江畔何人初18 分钟前
service发现
linux·运维·云原生
vx-bot55566623 分钟前
企业微信接口在混合云环境下的集成架构与网络互联方案企业微信接口在混合云环境下的集成架构与网络互联方案
网络·架构·企业微信
life码农25 分钟前
Linux系统清空文件内容的几种方法
linux·运维·chrome
蒸蒸yyyyzwd29 分钟前
c网络编程学习笔记
c语言·网络·学习