VirtualBox设置静态ip和主机访问


背景

1.硬件环境

  • 使用的虚拟机是VirtualBox,因为这个占用资源更少
  • 安装的机器是Centos7 版本
  • 主机的ip不是固定的,自动分配

2.网络连接种类

由下图可以看到,网络有很多种选择,但是我们常用的是这是三个
网络地址转换(NAT)、桥接网卡、仅主机(Host-Only)网络
在这里插入图片描述
为什么有这些网络选择呢,因为每种网络有着自己的特点,下面列举下主要特点

模式名称特点
网络地址转换(NAT)连接这个网络可以访问外部网络,但是外部网络不可访问虚拟机
桥接网卡这个网络完全可以共享主机网络,主机网络发生变化时,也跟随变化,ip也随之变动
仅主机(Host-Only)网络这个网络也可以用来主机访问虚拟机以及虚拟机上web服务,但是虚拟机不可访问外网

一、网络选择

从上面的介绍来看有多种网络可以选择

最简单的就是:选择桥接网卡,直接共享主机网络,主机、虚拟机之间访问都没有问题

但是我们家用或者公司使用,都不会固定ip的,主机随时变化,那么虚拟机的ip也随时变化,很不方便,我们希望虚拟机的ip是固定的,方便我们连接和访问服务使用

所以最终的选择是:网络地址转换(NAT) + 仅主机(Host-Only)网络 的组合

二、实施步骤

1.新增 仅主机(Host-Only)网络

操作步骤:管理 => 主机网路管理器 => 创建网络

在这里插入图片描述

然后就会在 控制面板 => 网络和 Internet => 网络连接
这里看到对应的网络,这样主机(Host-Only)网络的ip就配置好了
在这里插入图片描述

2.配置虚拟机网络

点击安装好的Centos7虚拟机 设置 => 网络
网卡1 启用 选择 仅主机(Host-Only) 这里的网卡顺序也是有意义的,对应内部的设置
在这里插入图片描述
网卡2 启用 选择 网络地址转换(NAT) 网络
在这里插入图片描述

3.虚拟机内部设置

启动Centos7

执行

ifconfig

得到如下结果

在这里插入图片描述
进入网络配置文件的路径

cd /etc/sysconfig/network-scripts/

可以看到 ifcfg-enp0s3 (网络地址转换(NAT) 对应的配置)

vi ifcfg-enp0s3

在这里插入图片描述

结果参考

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static   #修改为static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
DEVICE=enp0s3
ONBOOT=yes  # 改为yes
IPADDR=192.168.11.11   # 自定义该虚拟机的固定IP ,只要其 IP 在 192.168.11.0 / 24 这个网段就行
UUID=c7695ef6-167b-4589-8c04-4feedef3e203 

修改完毕之后,需要重新启动网路

systemctl restart network

到这里就可以 执行 ifconfig 查看了,已经设置成固定ip了
同时 ping www.baidu.com 也是可以联网的

4. 防火墙设置

上面这些操作之后发现,只能通过xshell 连接

如果xshell 不能连接 ,是没有安装sshd

yum list | grep ssh
yum install openssh-clients.x86_64 

安装之后就可以了

当只能通过xshell 连接 ,比如启动一个tomcat服务8080端口,发现不能连接,这是就是防火墙问题了

CentOS 7的防火墙默认是firewall而不是之前的iptables,
所以需要确定防火墙是否已经关闭,如果没有安装iptables的话,
只需要通过

systemctl stop firewalld.service  ## 关闭firewall防火墙
systemctl disable firewalld.service  ## 禁止开机启动

然后通过

firewall-cmd --state

可以查看防火墙状态(关闭显示notrunning,开启显示running)。

可以使用关闭iptables防火墙

systemctl stop iptables.service

这样就能通过主机访问虚拟的服务了


总结

本文详细描述了VirtualBox设置静态ip和怎么让主机访问虚拟机内的服务,其中的一些网络配置都可以直接使用,linux指令也可以直接复制使用

  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值