需求

平时在做一些实验或学习的时候,比如rocketmq、kafaka、zookeeper等,需要在虚拟机上创建几个虚拟机组成集群来做实验;一般有两个要求:

  • 虚拟机能访问网络,需要下载安装东西
  • 虚拟机的ip需要固定;不然在虚拟机重启或者电脑从家里拿到办公室的时候,ip变了,又要一个个进命令行去看ip,然后改代码里的配置,麻烦的很
  • 虚拟机之间能互相访问,集群/主从架构节点需要互相通信

网络连接方式选择

可以访问网络的连接方式:

  • nat(网络地址转换)
  • 桥接

但是,

  • NAT不支持静态IP、虚拟机之间不能互相访问
  • 桥接的话会占用局域网的ip,在自己屋里还好,设备少,可以避开,要是拿到办公环境就容易和其他机器的ip冲突了

多块网卡 NAT + Host Only

直接用桥接模式,到时能满足需求,但是也不大好; 但是我们这是用的虚拟机,有多个网卡

我们可以通过多个网卡,设置不同的网络连接方式,达到目标;

  • 第一个网卡选择 NAT 模式使得虚拟机能访问网络
  • 第二个网卡选择 Host Only 使多个虚拟机之间能互相通信并且还能设置静态ip

1. 第一块网卡设置NAT

首先 VirtualBox 使用 NAT 模式,需要先开始一个全局设置 (管理 -> 全局设置)



然后网络连接设置为 NAT

ping 一下网络试试

2. 第二块网卡设置 Host Only

设置静态ip

进入网卡配置目录 cd /etc/sysconfig/network-scripts

ifcfg- 开头的文件, 由于现在有多个网卡,ifcfg的文件有多个

那么编辑哪个呢?网卡有唯一的 mac 地址,看看第二块host only 的网卡mac地址为

看看虚拟机网络 ip addr



可以看到,第二块网卡mac地址对应的设备为 enp0s8

那么编辑的文件应该是 ifcfg-enp0s8

BOOTPROTO=static  ## 改为static静态ip
IPADDR=192.168.56.104 ##设置静态ip
NETMASK=255.255.255.0 ## 设置子网掩码

注意:IPADDR 和 NETMASK 要和宿主机的网络设置匹配;我自己的笔记本 ip是 192.168.56.1 所以上面虚拟机的ip地址只能设置成 192.168.56.x 这个ip段

从笔记本(宿主)ping一下虚拟机试试

成功! 其他台虚拟机可以用一样的方式去设置,或者再配置完整个虚拟机环境(网络、基本的java环境、zookeeper节点)后,直接利用virtual box复制后改改ip 更省事

virtualbox结合nat和host-only设置固定ip的环境的更多相关文章

  1. VMware workstation CentOs 7 虚拟机网卡设置为NAT模式并设置固定IP

    一.背景知识      虚拟机网络模式 无论是vmware workstation,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3 ...

  2. VMware workstation 14 CentOs 7.5.1804 虚拟机网卡设置为NAT模式并设置固定IP

    一.背景知识     虚拟机网络模式 无论是vmware workstation,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3. ...

  3. vmware fusion nat网络模式设置固定ip

    最近想在本地用虚拟环境搭一个k8s环境,但是发现虚拟机的ip会不定时自动变化,导致mosh客户端连接经常中断.于是就想让虚拟机的ip固定住,不再变动. mac 上的 vmware fusion 设置固 ...

  4. CentOS6.4虚拟机设置固定IP、安装JDK、Tomcat、Redis并部署web项目

    一.CentOS设置固定IP 1.直接修改配置文件的方式,原文地址:http://www.cnblogs.com/zhja/p/3964159.html (1)首先获取你的GATEWAY 方便后面在c ...

  5. VMware虚拟机安装CentOS6.4、部署web项目全过程(设置固定IP、安装JDK、Tomcat、Redis、部署项目)

    概述:该篇随笔介绍了在VMware上安装centOS.在centOS上安装JDK.安装Tomcat.安装Redis并部署项目的全过程,虽然参考了很多优秀的文章,但实践.整理.补充都很用心,若要复制粘贴 ...

  6. 转 -- Linux系列:Ubuntu虚拟机设置固定IP上网(配置IP、网关、DNS、防止resolv.conf被重写)

    原文转自:http://www.cnblogs.com/lanxuezaipiao/p/3613497.html#undefined 虚拟机里设置上网方式为NAT最方便,因为无需手动设置即可上网,但是 ...

  7. Linux系列:Ubuntu虚拟机设置固定IP上网(配置IP、网关、DNS、防止resolv.conf被重写)

    虚拟机里设置上网方式为NAT最方便,因为无需手动设置即可上网,但是NAT的上网方式默认是DHCP动态分配IP的,这意味着你每次重启虚拟机都 有不一样的IP地址,这对一般用户没任何问题.但是如果你的机子 ...

  8. Linux - ubuntu 设置固定ip和设置dns

    ubuntu 设置固定ip和设置dns 1.ifconfig 查看网卡名称 root@jiqing-virtual-machine:~# ifconfig ens32 Link encap:以太网 硬 ...

  9. docker设置固定ip地址

    Docker安装后,默认会创建下面三种网络类型 $ docker network ls NETWORK ID NAME DRIVER SCOPE 9781b1f585ae bridge bridge ...

随机推荐

  1. 预测汽车级Linux专业技术的需求

    预测汽车级Linux专业技术的需求 Anticipating need for Automotive Grade Linux expertise 在听了多年汽车级Linux(AGL)及其所有潜力之后, ...

  2. 初具雏形的UL标准侧重于自主车辆的安全性

    初具雏形的UL标准侧重于自主车辆的安全性 Nascent UL standard focuses on autonomous vehicle safety 就任何自主汽车(AV)的安全性进行可信的争论 ...

  3. flume实时采集mysql数据到kafka中并输出

    环境说明 centos7(运行于vbox虚拟机) flume1.9.0(flume-ng-sql-source插件版本1.5.3) jdk1.8 kafka(版本忘了后续更新) zookeeper(版 ...

  4. java后端知识点梳理——java集合

    集合概览 Java中的集合,从上层接口上看分为了两类,Map和Collection.Map是和Collection并列的集合上层接口,没有继承关系. Java中的常见集合可以概括如下. Map接口和C ...

  5. VNC 相关

    vncserver启动报错root A VNC server is already running as :1 [root@42 ~]# service vncserver startStarting ...

  6. 深入Netty逻辑架构,从Reactor线程模型开始

    本文是Netty系列第6篇 上一篇文章我们从一个Netty的使用Demo,了解了用Netty构建一个Server服务端应用的基本方式.并且从这个Demo出发,简述了Netty的逻辑架构,并对Chann ...

  7. 使用mockjs模拟分页请求

    首先安装mockjs npm install mockjs --save-dev 创建mock.js //mock.js const Mock = require("mockjs" ...

  8. SQL中的分组之后TOPN问题

    SQL分组查询然后取每一组的前N条数据 由于SQL的不同的数据库SQL的语法有些略微不同,所以我们这里采用MySQL展示. 创建表 create table person(   id         ...

  9. 学习Qt Charts - 不使用UI的情况下使用QTCharts

    新建一个Qt Widgets Application项目,不添加UI文件,如下图: 建立工程后,在.pro文件中添加: QT += charts 然后在.h文件中添加: #include " ...

  10. 番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

    使用NSSM工具安装bat文件为Windows服务 nssm是一个可以把bat批处理文件部署为Windows服务的小工具.例如很多.net项目可能还是在Windows服务器上面跑的,但是很多组件只提供 ...