MacOS下VMware Fusion Ubuntu虚拟机配置Nat静态IP

MacOS下VMware Fusion Ubuntu虚拟机配置Nat静态IP

  • 1. 配置环境
  • 2. VMware Fusion配置Nat静态IP
    • 2.1 创建Nat网络
    • 2.2 修改Nat网络配置
      • 2.2.1
      • 2.2.2
      • 2.2.3
    • 2.3 虚拟机网络配置
      • 2.3.1 设置网卡配置文件
      • 2.3.2 设置DNS客户机配置文件
    • 2.3 延伸
      • 2.3.1 关于`/etc/network/interfaces`文件
      • 2.3.2 关于`/etc/resolv.conf`文件
      • 参考

之前在学校学web的时候安了一个VM上的Ubuntu虚拟机,回国隔离的时候上网课突然不能用了,网上查了无数的帖子都没搞好,4个小时的网课我生生搞了4个小时还没搞好。网上没有和我环境一模一样的,记录一下,为后来者
1. 配置环境

  • MacOS Majave 10.14.6
  • VMware Fusion下 Ubuntu 20.04

2. VMware Fusion配置Nat静态IP

原来我们在使用虚拟机的时候,如果使用桥接的方式,我们会换地方wifi变了,ip会变化,那么很多与ip相关的服务都会出现问题,所以我们最好使用nat模式,配置静态ip。

2.1 创建Nat网络

VMware Fusion -> 偏好设置 -> 网络
在这里插入图片描述
点击锁的按钮,输入密码解锁;
然后,我们点击+号,增加一个网络,在这里显示的是vmnet3,在其他机器可能是vmnet2,这一点不影响,然后,将上图所示的3代表的选项选中,将下面的DHCP的选项取消。

(注意:要配置静态ip,一定要取消DHCP选项!)
在这里插入图片描述

2.2 修改Nat网络配置

下面我们需要在Mac的终端对VM进行网络配置。

2.2.1

打开终端,进入下面的目录:

1
cd /Library/Preferences/VMware\ Fusion/

( 注意:在路径中出现空格需要用\转义)
在这里插入图片描述
然后我们就能看到上面的配置文件,首先打开networking:

1
  sudo vim networking

没有vim的可以用vi,一定记得加sudo,需要root权限才能修改)
在这里插入图片描述
如上图,VNET_3开头的配置就是我们创建的那块网卡。
标号为1的是子网掩码,标号为2的是子网地址。这里的子网掩码和子网地址我选择了上面VMware Fusion网络设置中DHCP选项下默认的子网掩码和子网地址。(如果不是很清楚,建议大家按自己机器上的默认值来,不会出问题)
在这里插入图片描述

2.2.2

然后我们进入vmnet3,看到下图所示的配置文件:
在这里插入图片描述

1
sudo vi nat.conf

设置vmnet3网关(转发其他服务器通信数据的服务器)的ip地址和子网掩码
ip地址要和上面networking中的ip在同一个网段(即192.168.68前三个数字保持一样),这里我们配置为192.168.68.2
子网掩码要和networking中的子网掩码保持一致
在这里插入图片描述

2.2.3

选择VM菜单的虚拟机 -> 网络适配器 -> 网络适配器设置
在这里插入图片描述
选中自定的vmnet3
在这里插入图片描述

2.3 虚拟机网络配置

接下来,我们就需要对虚拟机进行网络配置了,目前我装的是Ubuntu 20.04

2.3.1 设置网卡配置文件

打开Ubuntu终端,输入

1
sudo vi /etc/network/interfaces

(如果没有interfaces文件会自动创建)

输入下图内容,注意:
address与上面的设的ip要在一个网段(前三位一致)
netmask与上面一致
gatewayvmnet3下的nat.conf文件中的gateway的ip一致

在这里插入图片描述

2.3.2 设置DNS客户机配置文件

输入

1
sudo vi /etc/resolv.conf

进入DNS客户机配置文件,看到如下图内容
在这里插入图片描述把我们之前设置的网关添加到DNS服务器列表中(添加方框内的一行)

重启网络服务,输入

1
2
3
4
5
6
sudo service network-manager restart

/etc/init.d/networking restart

ifdown ens33
ifup ens33

最后检查,在终端在输入:

1
ifconfig -a

在这里插入图片描述
ping一下百度,ping通了就大功告成了!
在这里插入图片描述

2.3 延伸

2.3.1 关于/etc/network/interfaces文件

1.打开ubuntu的/etc/network/interfaces文件默认的内容如下:

1
2
auto lo
iface lo inet loopback

动态获取的配置方法:

1
2
auto ens33  #开机自动连接网络
iface ens33 inet dhcp #static表示使用固定ip,dhcp表述使用动态ip

静态分配的配置方法:

1
2
3
4
5
auto ens33
iface ens33 inet static #static表示使用固定ip,dhcp表述使用动态ip
address 192.168.68.1 #设置ip地址
netmask  255.255.255.0 #设置子网掩码
gateway  192.168.68.1 #设置网关

2.3.2 关于/etc/resolv.conf文件

该文件是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。该文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。它的格式很简单,每行以一个关键字开头,后接一个或多个由空格隔开的参数。

1
2
3
4
nameserver     //定义DNS服务器的IP地址
domain       //定义本地域名
search        //定义域名的搜索列表
sortlist        //对返回的域名进行排序

一个/etc/resolv.conf的示例:

1
2
3
4
domain  51osos.com
search  www.51osos.com  51osos.com
nameserver 202.102.192.68
nameserver 202.102.192.69

其中最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。

nameserver表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个nameserver没有反应时才查询下面的nameserver。

domain   声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( .)前面的内容。

search   它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。
domain和search不能共存;如果同时存在,后面出现的将会被使用。

sortlist  允许将得到域名结果进行特定的排序。它的参数为网络/掩码对,允许任意的排列顺序。

参考

VMware Fusion配置Nat静态IP
linux根文件系统 /etc/resolv.conf 文件详解
关于Ubuntu网卡配置文件
Linux 初学者:如何在 Ubuntu 中重启网络