ubuntu18.04下网络设置

背景:win10+virtualBox6.1+ubuntu18.04,实现虚拟机可访问外网,并且主机可访问虚拟机上部署的web服务

从零开始,依次安装好虚拟机,ubuntu系统。这里不讨论如何安装,不讨论虚拟机的其他配置,单单记录下网络配置。我采用的是网卡1:网络地址转换(NAT)+网卡2:仅主机(Host-Only)网络实现。先上两张图为证:

ubuntu18.04下网络设置ubuntu18.04下网络设置

配置成这样,可以实现一半的功能(虚拟机可以连上外网了)。同时,这种状态下,主机和虚拟机之间可互ping。此时主机是ping 192.168.56.100,虚拟机是ping 192.168.56.1。(192.168.*.*是虚拟机装好后自动分配的地址,查看方式如下图:虚拟机 管理->主机网络管理器)

ubuntu18.04下网络设置

能ping通,但是主机访问不了虚拟机上的web服务(此时虚拟机也可以访问到主机上的web服务)。查看虚拟机防火墙是关闭状态。在虚拟机上用ifconfig,只能看到有两个ip

ubuntu18.04下网络设置

此时按照一个程序员的思路来看,应该是3个,因为我配置了两个网卡,再加一个127.0.0.1。主机访问不了虚拟机,问题就出在这里。莫慌,且听我如何解决。

1、使用命令ifconfig -a

ubuntu18.04下网络设置

注意到这个enp0s8,没有IP,暂且把这理解为我们用来让主机访问的那个网卡。现在我们的工作就是给这个网卡加上IP。ubuntu18.04系统设置以太网是在 /etc/netplan/*.yaml这个文件下。打开这个文件,如下图

ubuntu18.04下网络设置

此处将我注释掉的enp0s8(注意这个enp0s8跟刚才ifconfig -a命令查到的那个没有ip的网卡名称要对应上)的相关配置放开,试用下netplan apply命令,再使用ifconfig -a命令,不出意外的情况下,就可以看到奇迹。

ubuntu18.04下网络设置

注意此*.ymal文件缩进工整。

ubuntu18.04下网络设置

至此,主机就可以访问虚拟机上的web服务了。

 

初玩Linux,算是小菜鸟一只。把我折腾了近一周的问题,被我着么简单的记录完了。各位看官若对此文有什么疑惑,敬请留言指导,如此甚好。