• 2023.5.12解决Ubuntu中ens33没有ip


    在Ubtuntu中的ens33没有ip

    如果Ubuntu版本过高

    sudo netplan apply
    
    • 1

    如果是Ubuntu 16.04及更早版本

    sudo vi /etc/systemd/resolved.conf
    
    • 1

    具体情况如下图所示

    image-20230512082505417

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
        link/ether 00:0c:29:ba:af:1e brd ff:ff:ff:ff:ff:ff
        altname enp2s1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    根据信息提示

    ens33接口状态为“DOWN”,这意味着它目前处于禁用状态,可能没有被正确配置或者启动。你需要确保ens33接口已启用并配置了IP地址。
    
    • 1

    你可以通过以下命令启用ens33接口:

    sudo ip link set ens33 up
    
    • 1

    然后,你可以通过以下命令配置IP地址:

    sudo ip addr add <ip_address>/<subnet_mask> dev ens33
    
    • 1

    关于ip的选取,如果使用NAT模式,打开本地电脑的cmd窗口(win+R)

    image-20230512083305710

    输入

    ipconfig
    
    • 1

    找到VMnet8,选择合适的IPv4(192.168.220.***)

    image-20230512083403949

    例如,如果你的IP地址是192.168.220.200,子网掩码是255.255.255.0,则可以使用以下命令:

    sudo ip addr add 192.168.220.200/24 dev ens33
    
    • 1

    接下来,你可以使用以下命令来检查IP地址是否正确配置:

    ip addr show ens33
    
    • 1

    如果一切正常,你应该能够看到ens33接口的IP地址已经正确配置。

    image-20230512083654299

    另外,如果你的Ubuntu版本较新,则可能会出现类似于“ens33”这样的网络接口命名方案,而不是以前的“eth0”命名方案。这是因为Ubuntu引入了一种新的预测性网络接口命名方案。如果你的网络接口名称不是“ens33”,则需要相应地更改命令中的接口名称。

    接下来重启网络,如果你使用Network Manager管理网络连接,则可以使用以下命令重启Network Manager服务:

    sudo service network-manager restart
    
    • 1

    1、无法ping通www.baidu.com

    hadoop@ubuntu:~/Desktop$ ping www.baidu.com
    ping: www.baidu.com: Temporary failure in name resolution
    
    • 1
    • 2

    image-20230512084622406

    根据信息来看,ens33网络接口成功配置,并分配了IP地址。但是,ping命令无法解析域名,这可能是由于DNS设置问题导致的。

    可以尝试通过以下步骤解决这个问题:

    1. 检查你的DNS设置是否正确

    可以使用以下命令来添加DNS服务器地址:

    sudo vi /etc/systemd/resolved.conf
    
    • 1

    在该文件中添加以下行,将DNS服务器地址替换为你要使用的DNS服务器地址:

    nameserver 8.8.8.8
    
    • 1

    这将使用Google的公共DNS服务器。你也可以使用其他DNS服务器,例如你的ISP提供的DNS服务器。

    image-20230512085425664

    保存并关闭文件后,重启systemd-resolved服务以使更改生效:

    sudo systemctl restart systemd-resolved.service
    
    • 1

    可以使用resolvectl status命令来检查DNS是否已经配置成功。

    sudo resolvectl status
    
    • 1

    image-20230512085929900

    2、仍然ping不通,考虑是DNS的问题,选取公共DNS

    打开/etc/systemd/resolved.conf文件:

    sudo vi /etc/systemd/resolved.conf
    
    • 1

    注释掉DNS行,并添加一行DNS=114.114.114.114,即:

    #DNS=8.8.8.8
    DNS=114.114.114.114
    
    • 1
    • 2

    image-20230512091010806

    保存并关闭文件。

    重启systemd-resolved服务:

    sudo systemctl restart systemd-resolved
    
    • 1

    确认新的DNS服务器地址已经生效:

    resolvectl status
    
    • 1

    此时应该能看到Current DNS Server: 114.114.114.114

    3、忘记设置网关

    在旧版本的 Ubuntu(如 Ubuntu 16.04及更早版本),您可以在 /etc/network/interfaces 文件中配置网络接口和网关。您需要编辑该文件并添加以下行:

    auto eth0
    iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    gateway 192.168.1.1
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在上面的示例中,eth0 是网络接口的名称,address 是接口的IP地址,netmask 是子网掩码,gateway 是默认网关。请根据您的网络设置进行修改。

    如果您使用的是新版本的 Ubuntu(如 Ubuntu 18.04及更高版本),则使用 netplan 来配置网络接口和网关。在这种情况下,您需要编辑 /etc/netplan/*.yaml 文件,并添加以下行:

    sudo vi /etc/netplan/*.yaml 
    
    • 1
    network:
      version: 2
      renderer: networkd
      ethernets:
        eth0:
          dhcp4: no
          addresses:
            - 192.168.220.200/24
          gateway4: 192.168.220.1
          nameservers:
              addresses: [114.114.114.114]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在上面的示例中,eth0 是网络接口的名称,addresses 是接口的IP地址和子网掩码,gateway4 是默认网关,nameservers 是DNS服务器的IP地址。

    请注意,netplan 文件名以 .yaml 结尾,并且您需要运行 sudo netplan apply 命令来应用更改。

    image-20230512092416122

    发现了问题,原因在于我之前使用/etc/netplan/*.yaml 配置过了ip,但是又使用了 sudo ip addr add 192.168.220.200/24 dev ens33来配置,两个ip不一样导致混乱

    4、使用sudo ip addr add与/etc/netplan/*.yaml冲突

    如果您手动使用 sudo ip addr add 命令设置的IP地址与 /etc/netplan/*.yaml 文件中配置的IP地址不一致,可能会导致网络配置出现混乱和错误。这是因为Ubuntu系统在启动时将首先读取 netplan 配置文件,并使用其中的配置信息来设置网络接口。如果您手动更改了IP地址,但没有更新 netplan 配置文件,那么系统将在下一次启动时使用不同的IP地址,这可能会导致网络故障或连接问题。因此,建议您只在 netplan 配置文件中更改网络设置,以确保一致性和正确性。如果您需要更改IP地址或其他网络设置,最好通过修改 netplan 配置文件来实现。
    
    
    • 1
    • 2

    修改ip网关使其保持一致

    image-20230512100013772

    如果在 Ubuntu 18.04 或更高版本中使用 netplan 配置网络,当您修改 /etc/netplan/*.yaml 文件时,您需要应用更改以使其生效。为此,请运行以下命令:

    sudo netplan apply
    
    • 1

    这将重新加载网络配置并使更改生效。不需要重启任何服务。

    4、ip a显示的与/etc/netplan/*.yaml不一样

    image-20230512103134618

    可以发现网络连接成功,但是ip似乎不是我们设置的

    sudo vi /etc/netplan/*.yaml 
    
    • 1

    image-20230512103311036

    加入 dhcp4: no # 禁用 DHCP

    network:
      version: 2
      renderer: NetworkManager
      ethernets:
        ens33:
          addresses:
            - 192.168.220.200/24  # 请替换为您想要使用的 IP >地址和子网掩码
          dhcp4: no # 禁用 DHCP
          gateway4: 192.168.220.1  # 请替换为您的默认网关
          nameservers:
                  addresses: [114.114.114.114]  # 请替换为您>想要使用的 DNS 服务器地址
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    应用配置

    sudo netplan apply
    
    • 1

    重启服务

    sudo systemctl restart NetworkManager
    
    • 1
  • 相关阅读:
    C#【进阶】委托和事件
    Redis 各种用法总结,你知道几种?
    【2023春李宏毅机器学习】生成式学习的两种策略
    信息学奥赛一本通:1397:简单算术表达式求值
    开放式激光振镜运动控制器:C++ 快速调用图形库应用
    红日靶机vulnstack第二关
    Sass 和 SCSS
    【云原生 | Kubernetes 系列】--Ceph Dashboard和Ceph 监控
    Java多线程-线程生命周期(一)
    前端Ajax、Axios和Fetch的用法和区别笔记
  • 原文地址:https://blog.csdn.net/a_student_2020/article/details/130840054