zoukankan      html  css  js  c++  java
  • virtualbox结合nat和host-only设置固定ip的环境

    需求

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

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

    网络连接方式选择

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

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

    但是,

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

    多块网卡 NAT + Host Only

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

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

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

    1. 第一块网卡设置NAT

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

    nat网络明细

    然后网络连接设置为 NAT
    image

    ping 一下网络试试
    image

    2. 第二块网卡设置 Host Only

    image

    设置静态ip

    进入网卡配置目录 cd /etc/sysconfig/network-scripts
    ifcfg- 开头的文件, 由于现在有多个网卡,ifcfg的文件有多个
    image

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

    看看虚拟机网络 ip addr
    image
    可以看到,第二块网卡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段
    image

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

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

    本文来自博客园,作者:mushishi,转载请注明原文链接:https://www.cnblogs.com/mushishi/p/15058125.html

  • 相关阅读:
    多线程
    异常
    接口
    多态
    对象和封装
    DIV+CSS命名规范集合
    MySql 最新官方安装教程-下载
    乐嘉性格色彩-4色特性,学习感悟
    Eclipse 的常用快捷方式
    学习方法_2011年编写和锻炼的思维题
  • 原文地址:https://www.cnblogs.com/mushishi/p/15058125.html
Copyright © 2011-2022 走看看