【VirualBox虚拟机】CentOS7设置NAT网络并且后台启动

一 说明

  1. 主机操作系统是Windows10
  2. VirualBox版本是6.1
  3. 虚拟机的操作系统是Liunx(CentOS7)

二 下载安装VirualBox并且安装CentOS7

不是重点,暂略。


三 设置NAT网络

3.1 VirualBox有哪些网络连接方式

VirtualBox的5种连接方式

  • NAT :虚拟机之间不能互通
  • NAT网络 :本文对象
  • 桥接 :一般情况下虚拟机无法设置静态IP,并且浪费外部局域网IP
  • 内部 :虚拟机不能连外网
  • 仅主机(host-only) :虚拟机不能连外网,并且不互通

NAT网络面向需求

  • 虚拟机可以连外网
  • 虚拟机与主机互通
  • 虚拟机与虚拟机互通
  • 虚拟机需要固定IP (防止意外)
  • 主机所在局域网的其他机器访问虚拟机

3.2 NAT配置方式(以自己为例)

1、打开VirualBox,【管理】→【全局设定】→【网络】
【VirualBox虚拟机】CentOS7设置NAT网络并且后台启动
2、添加一个新的NAT网络
【VirualBox虚拟机】CentOS7设置NAT网络并且后台启动
这里的网段是默认的,一开始我改了这里的网段,结果导致虚拟机连不上网。在搞清楚原因之前,先按照初始设置吧。

3、设置端口转发
【VirualBox虚拟机】CentOS7设置NAT网络并且后台启动

  • 因为后续会让虚拟机的ip固定,所以这里的子系统ip先确定下来(如果不设置子系统ip也保存不了)
  • 主机ip设置成127.0.0.1,可能会有问题。但是我设置成这样,最后是能够通过127.0.0.1:2222端口访问虚拟机的

4、设置虚拟机网卡配置,【选择虚拟机】→【设置】→【网络】
【VirualBox虚拟机】CentOS7设置NAT网络并且后台启动


四 设置CentOS7中的网络配置

4.1 ip addr或ifconfig命令查看网络配置

【VirualBox虚拟机】CentOS7设置NAT网络并且后台启动

  • 10.0.2.5是虚拟机的ip地址

4.2 netstat -rn命令查看网关

【VirualBox虚拟机】CentOS7设置NAT网络并且后台启动

  • 我这里的网关应该是:10.0.2.1
  • 使用ping的方式,也可以ping通网关

4.3 将虚拟机ip地址设置成静态

1、进入配置文件目录

# cd /etc/sysconfig/network-scripts/

【VirualBox虚拟机】CentOS7设置NAT网络并且后台启动
2、修改配置文件

# vim ifcfg-enp0s3

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
#BOOTPROTO=dhcp 默认是DHCP
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
UUID=ddd55635-7ad9-45f9-96f6-088f55cf6e85
DEVICE=enp0s3
#ONBOOT=no 默认是开机不启动网络服务


BOOTPROTO=static 
ONBOOT=yes
IPADDR=10.0.2.5 #虚拟机的静态ip地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=10.0.2.1 #网关
IPV6_PRIVACY=no  #不知道干嘛的,与IPV6有关
ZONE=public      #不知道干嘛的

  • 配置文件修改好,重启系统(shutdown -r now)或服务(service network restart)

3、设置DNS服务

# vim /etc/resolv.conf
nameserver 114.114.114.114
nameserver 114.114.114.115

  • 配置文件修改好,重启系统(shutdown -r now)或服务(service network restart)

4、检验

  • 能否ping通百度
  • 使用shell连接工具能不能连上虚拟机

五 VirualBox后台启动并运行虚拟机

5.1 一个cmd命令程序

@echo off
title start_CentOS7 [%DATE% %TIME%]
:: 设置virtualBOX安装路径
set VM_HOME="D:\Program Files\virtualBox"
set input=0
set vim="centOS7-1"
:: 设置提示语
pushd %VM_HOME%

:tip
set input=0
echo -
echo - 1.查看运行中的虚拟机
echo - 2.开启CentOS7-1
echo - 3.关闭CentOS7-1
echo - 4.退出
set /p input=请输入数字:

if %input% == 1 goto 1
if %input% == 2 goto 2
if %input% == 3 goto 3
if %input% == 4 goto end

goto tip

:1
echo **********当前运行的虚拟机**************
echo -
VBoxManage list runningvms
echo -
pause
goto tip

:2
echo **********开启CentOS7-1**************
echo -
echo 正在运行中的虚拟机有:
VBoxManage list runningvms
echo - 
set /p v=是否启动?(y/n)
if %v% NEQ y goto tip
VBoxManage startvm %vim% -type headless
echo -
pause
goto tip

:3
echo **********关闭CentOS7-1**************
echo -
set /p v=是否关闭?(y/n)
if %v% NEQ y goto tip
VBoxManage controlvm %vim% poweroff
echo -
pause
goto tip

:end
  • 批处理写起来不太熟练,只能简单地用if,goto命令来做一些控制

参考资料

1、VirtualBox NAT Network联网方式

2、centos7设置静态IP地址

3、批处理相关

上一篇:Linux的初步学习,如何在Linux上编程,上网和一些基本的Linux操作。


下一篇:wmware安装centos7相关的问题