文章目录
基于Ubuntu20.04系统,本人花了许久时间解决 NAT模式上网问题,如果你试过网上所有教程,检测Windows和Ubuntu环境没问题,无法启动系统服务、ping网络失败、重置虚拟机网络配置器也无效、重启虚拟机不出现网络图标等种种以下所列原因无法解决。仅供参考!!!
错误信息1:networking.service启动失败 //Ubuntu系统中自己不是这个服务,网上的这个服务是对应别人的服务
错误信息2:Failed to start network.service: Unit network.service not
错误信息3:ping: www.baidu.com: Name or service not known
错误信息4:ping: www.baidu.com: Temporary failure in name resolution
ifconfig
无法获取网卡地址ens问题

ifconfig -a
ifconfig -a能够查看到网卡

解决办法1—请求IP地址
sudo dhclient ens33
再次获取ifconfig和ping都能实现,但是在系统重启后图标仍然消失

解决办法2—重启网络服务
这个方式能解决一大半NAT网卡不能上网问题,由于Windows一般都是自动获取IP,个人认为不要为了配置ip而去修改windows的ip地址。如果还是有问题,即虚拟机重启后网络图标丢失,看解决办法3
sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start
解决办法3—查验NetworkManager
NAT Network Address Translation 指网络地址转换 。使用NAT网卡时,Ubuntu 要访问外网,是委托Windows发出数据包, Windows 接收到回应后再转发给 Ubuntu 。外界看到的都是Windows ,看不到Ubuntu。使用NAT时,只要 Windows 能上网,Ubuntu 就必定能上网,无需设置 Ubuntu 的网络 。
本人想了很久,首先Windos上网没问题,网上所有的解决办法和上述所提办法都试过,但是还是重启无法获取ip地址,无法上网。
因此需要考虑是否开启了NetworkManager服务,NetworkManager可以理解为自动发现网卡并配置IP地址。
所有验证猜想,最后发现确实是NetworkManager没用使能,使用下面的开机启动指令即可,你也可以查看是否开机启动指令验证是不是未使能
查看是否开机启动:systemctl is-enabled NetworkManager
启动:systemctl start NetworkManger
关闭:systemctl stop NetworkManager
开机启动:systemctl enable NetworkManager
禁用开机启动:systemctl disable NetworkManager
解决办法4----桥接网卡和NAT网卡不能同时使用问题
现象描述,不能够同时使用桥接网卡和NAT网卡,network界面只能切换一种方式,回想起,这可能是导致我前面认为自己ubuntu无法上网的原因,因为上次可能是使用的桥接方式(桥接方式是适用于局域网Windows、Ubuntu、嵌入式Linux开发板互相Ping通的)
修改配置文件,事先切换Root权限,.yaml文件每个人不一样,找到netplan文件下对应的即可
vim /etc/netplan/01-network-manager-all.yaml
network:
ethernets:
ens33:
dhcp4: true
ethernets:
ens37:
dhcp4: true
version: 2
renderer: NetworkManager
sudo netplan apply

解决办法5—NAT网卡解析DNS失败的上网问题
问题现象如下

补充:当都不能ping通,即百度ip和域名都失效也可以使用上述方法
1、能ping通百度ip地址的情况

能够成功ping百度的ip地址,但是无法ping通www.baidu.com,基本定位为解析DNS失败
解决办法,根据虚拟机里的NAT模式,设置固定ip。
vim /etc/netplan/01-network-manager-all.yaml
network:
ethernets:
ens33:
dhcp4: no
addresses: [192.168.79.130/24]
gateway4: 192.168.79.2
nameservers:
addresses: [114.114.114.114,8.8.8.8,8.8.4.4]

sudo netplan apply

2613





