在Ubtuntu中的ens33没有ip

如果Ubuntu版本过高

sudo netplan apply

如果是Ubuntu 16.04及更早版本

sudo vi /etc/systemd/resolved.conf

具体情况如下图所示

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

根据信息提示

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

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

sudo ip link set ens33 up

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

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

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

image-20230512083305710

输入

ipconfig

找到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

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

ip addr show ens33

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

image-20230512083654299

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

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

sudo service network-manager restart

1、无法ping通www.baidu.com

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

image-20230512084622406

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

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

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

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

sudo vi /etc/systemd/resolved.conf

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

nameserver 8.8.8.8

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

image-20230512085425664

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

sudo systemctl restart systemd-resolved.service

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

sudo resolvectl status

image-20230512085929900

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

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

sudo vi /etc/systemd/resolved.conf

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

#DNS=8.8.8.8
DNS=114.114.114.114

image-20230512091010806

保存并关闭文件。

重启systemd-resolved服务:

sudo systemctl restart systemd-resolved

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

resolvectl status

此时应该能看到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

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

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

sudo vi /etc/netplan/*.yaml 
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]

在上面的示例中,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 配置文件来实现。

修改ip网关使其保持一致

image-20230512100013772

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

sudo netplan apply

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

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

image-20230512103134618

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

sudo vi /etc/netplan/*.yaml 

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 服务器地址

应用配置

sudo netplan apply

重启服务

sudo systemctl restart NetworkManager
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐