计算机集群安装之前,准备先在虚拟机上尝试一下,网上多是采用VMware虚拟机和CentOS系统,个人则准备采用已经安装好的VirtualBox虚拟机和Ubuntu16,但遇到第一个问题即是配置静态IP,那么对于以上两种虚拟机静态IP配置的问题都记录一下:
第一、对于三种虚拟网络常见连接方式需要了解一下
可以参看VMware虚拟机三种网络模式:桥接模式,NAT模式,仅主机模式
和VirtualBox网络配置超全详解
- NAT模式:最简单的实现虚拟机上网的方式,无需配置,默认选择即可接入网络。虚拟机访问网络的所有数据都是由主机提供的,虚拟机访问网络是先通过VirtualBox转换后再发送出去的,数据接收也是先由VirtualBox接收后再转换发送到虚拟机上的,访问速度较慢;虚机可以直接访问主机,主机不能直接访问虚拟机。
- Bridged Adapter模式:即桥接模式,可以为虚拟机模拟出一个独立的网卡,有独立的IP地址,所有网络功能和主机一样,并且能够互相访问,实现文件的传递和共享。被桥接的网卡会开启混杂模式。
- Internal模式:即内网模式,虚拟机与外网完全断开,只实现虚拟机于虚拟机之间的内部网络模式,和主机之间不能互相访问,就相当于虚拟机之间架设了一个独立的局域网。只有 同一名称(如:intnet)的内部网络模式的虚拟机之间才能互相访问 ,还有一个条件是在同一网段。
- Host-only Adapter模式:即主机模式,VirtualBox 在宿主机中虚拟一个 host-only 网卡,然后把虚拟主机桥接到 host-only 网卡上,我们可以通过设置 host-only 网卡(共享、桥接)来实现网络连接,是所有接入模式中最复杂的一种,需要有比较扎实的网络基础知识才行。前面几种模式所实现的功能,通过虚拟机及网卡的设置都可以被实现。
Bridged Adapter模式 | NAT模式 | Internal模式 | Host-only Adapter模式 | |
虚拟机与宿主机 | 处于同一网段,彼此互通 | 虚拟机能访问宿主机;宿主机不能访问虚拟机 | 彼此不通 | 虚拟机能访问宿主机;宿主机不能访问虚拟机 |
虚拟机与虚拟机 | 处于同一网段,彼此互通 | 彼此不通 | 彼此互通,处于同一网段 | 彼此互通,处于同一网段 |
虚拟机与其他主机 | 处于同一网段,彼此互通 | 虚拟机能访问其他主机;其他主机不能访问虚拟机 | 彼此不通 | 彼此不通;需要设置 |
虚拟机与互联网 | 虚拟机可以上网 | 虚拟机可以上网 | 虚拟机不能上网 | 彼此不通;需要设置 |
第二、对于采用Virtual虚拟机和Ubuntu系统的情况
可以参考文章VirtualBox安装Ubuntu后的静态ip配置
和VirtualBox虚拟机Ubuntu server 16.04配置固定IP及联网(与主机可互Ping)
前一篇文章中对宿主电脑(或者称之为物理机)连接网络方式分为有线和无线分别进行了说明,如果物理机是通过有线上网,那么网卡需要使用NAT网络连接方式,如果是无线网络,那么网卡需要使用桥接方式上网,该网卡负责虚拟机的上网。
1.无论何种连接方式,需要先对虚拟机中“管理”——“工具”——“网络管理器”进行设定
选中【VirtualBox Host-Only Ethernet Adapter】,去掉DHCP(因为我们要设置静态IP,这个也可以勾选DHCP吧,个人认为),选手动配置网卡,设置IP地址
这里IPv4地址可以设置与物理机不在一个网段?我理解的是可以的。
2.回到首页选择相应系统【ubuntu-16-04-server-1】-》【设置】-》【网络】。如果物理主机是有线连接,网卡1连接方式选择网络地址转换(NAT)【该网卡连外网用】;如果物理主机是无线连接,网卡1连接方式选择桥接网卡【该网卡连外网用】。设置如下图
再点【网卡2】-【启用网络连接】,选择连接方式为仅主机(Host-only)网络(该网卡连主机用),界面名称选择VirtualBox Host-Only Ethernet Adapter,然后点OK,如下
3.启动ubuntu-16-04-server-1并登录虚拟机,输入ifconfig,查看当前网卡信息,根据HWaddr字段查看是否和VirtualBox里面看到的两个网卡对应。
如果采用GUI方式设置静态IP,点击右上角,网络连接的符号——“Edit Connections”,
点击“Ethernet”——查看“Device”,和上方ifconfig中“HWaddr”是一样的
然后点击“IP4v Settings”,将其中Address,Netmask按照信息填入,Gateway和DNS servers填入,即可
如果通过配置文件设置静态IP,执行命令
sudo vim /etc/network/interfaces
在文件末尾添加
auto enp0s8
iface enp0s8 inet static
address 192.168.10.21
netmask 255.255.255.0
sudo /etc/init.d/networking restart
配置dns服务
sudo vim /etc/resolv.conf
在文件末尾添加
nameserver 192.168.10.2
sudo /etc/init.d/networking restart
然后重启一下虚拟机就可以了。在采用以上步骤配置一台机器时,虚拟机可以ping通外网(www.baidu.com)和主机,虚拟机可以上网,主机也可以ping通虚拟机,后来又安装了另外一台虚拟机之后,两台虚拟机之间也可以互相ping通,但此时两台虚拟机均无法ping通外网,但可以上网。
这篇文章(“”virtualbox下ubuntu16.04虚拟机的网卡静态IP配置)把动态IP设置也做了介绍
需要注意的是,ubuntu20及之后版本配置文件改为/etc/netplan/中的.yaml文件
Ubuntu20.04 如何设置静态 IP?
后记:
其实没有说“有线连接用NAT、无线连接用桥接”的说法,后来试验之后,可以这样做
“管理”——“工具”——“网络管理器”无需设置,采用VirtualBox Host-Only,DHCP服务器启用也没有关系
“设置”——“网络”,网卡1设为“网络地址转换NAT”(用于连接外网),启用网卡2并设为“仅主机网络Host-Only”(用于虚拟机间连接)
开机,点击右上角网络连接符号“↑↓”——“Edit Connections”——“Add”再添加一个网络连接。
打开终端,输入"ifconfig",注意图中黄色标记信息
之后选中其中一个网络连接,点击“Edit”,查看“Ethernet”——“Device”
使得“HWaddr”与之前“Device”对应,然后将对应的IPv4地址填入“IPv4 Settings”选项卡中,网卡1(NAT网络)对应的IPv4 Settings中填入获得的IP address,Netmask填255.255.255.0,Gateway填入将IP地址最后一位变为2之后的内容,DNS可以填入物理机对应的DNS
网卡2(Host-Only)对应的IPv4 Setting中填入获得的IP address,Netmask填255.255.255.0,Gateway填入将IP地址最后一位变为2之后的内容,不要填写DNS,这样才能使用网卡1解析外网进行访问。
第三,对于采用VMware虚拟机和Ubuntu系统情况
VMware虚拟机 ubuntu20系统下设置固定ip方法_ubuntu20固定ip-CSDN博客
1.点击编辑-虚拟网络编辑器,点击更改设置、修改虚拟网络配置器并确认保存(见图)
即在“虚拟网络编辑器”中设定“VMnet1”为仅主机Host-only类型,“VMnet8”为NAT模式类型,这里面这两个端口默认的就是这两种类型。
2.打开“虚拟机”——“设置”——“网络适配器”,设置为NAT模式。
3.启动并登录虚拟机,输入ifconfig,查看当前网卡信息,根据HWaddr字段查看是否和VMware网络适配器——高级选项中的MAC地址是否一致。
如果采用GUI方式设置静态IP,点击右上角,网络连接的符号——“Edit Connections”,
点击“Ethernet”——查看“Device”,和上方ifconfig中“HWaddr”是一样的
然后点击“IP4v Settings”,将其中Address,Netmask按照信息填入,Gateway和DNS servers填入,即可
配置完成之后重启虚拟机,虚拟机可以ping通外网和主机,也可以上网,主机也可以ping通虚拟机,虚拟机之间也可以互相ping通。