实验环境:
- VirtualBox 5.1.30 r118389 (Qt5.6.2)
- Centos7 x86_64
1、系统安装
简记安装过程中的几个选项。
- Install CentOS Linux 7
- 语言:中文 - 简体中文(中国)
- 软件选择:GNOME桌面(GNOME应用程序、互联网应用程序)
2、Vritual Box重要配置
2.1 网络配置
实现虚拟机可以访问互联网,并且虚拟机和宿主机可以双向访问。
2.1.1 桥接网卡(Bridged Adapter)
1)特点
- 通过宿主机网卡桥接连入网络,网络功能和真实机器一样
2)设置桥接
-
宿主机勾选VirtualBox Bridged Networking Dirver:
在宿主机使用的【网络连接 - 属性】中开启选项
-
VBox开启桥接网卡:
界面名称选择宿主机使用的选项,可以通过ipconfig /all
查看。
(写文章的时候,发现上图中就有)
进行虚拟机系统的网络配置
shell> su # 切换到root
shell> vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
----------------------------------------------
BOOTPROTO=static
ONBOOT=yes
DNS1=192.168.1.1 # 和宿主机一样
IPADDR=192.168.1.252 # 和宿主机同一个网段
NETMASK=255.255.255.0 # 和宿主机一样
GATEWAY=192.168.1.1 # 和宿主机一样
---------------------------------------------
#重启网络服务
shell> service network restart
经过上面的配置,虚拟机能正常上网,宿主机可以访问虚拟机。
2.1.2 仅主机(Host-only)适配器
1)特点:
- 虚拟机之间可以通信
- 虚拟机可以通过VirtualBox Host-Only Network网卡访问主机
2)设置
-
宿主机,启用VirtualBox Host-Only Network网络连接
IP地址选择自动
勾选VirtualBox Bridged Networking Dirver:
在主机使用的【网络连接 - 属性】中开启选项-
VBox开启网卡2,连接方式 - 仅主机(Host Only)网络
界面名称选择:VirtualBox Host-Only Network
经过上面配置,虚拟机就可以访问宿主机了。
2.2 Virtual Box拓展
2.2.1 安装vbox-extpack
- 首先宿主机要先安装vbox-extpack文件
- 给Virtual Box分配光驱VBoxGuestAdditions.iso
iso文件在宿主机的Vritual Box安装目录下
虚拟系统中镜像内容保存在/dev/cdrom文件中 - 挂载镜像
要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,
然后通过访问这个目录来访问存储设备。
shell> sudo mount /dev/cdrom /mnt/cdroom # 挂载在/mnt/cdroom目录上
- 安装内核相关组件
shell> sudo yum install kernel-devel gcc
# 做一个kernel的连接,这步一定要做
# 注意/usr/src/linux是一个符号而不是目录,特别是linux,不要自建目录
shell> ln -s /usr/src/kernels/3.10.0-514.26..el7.x86_64 /usr/src/linux
- 安装拓展
拓展安装完后,reboot虚拟机。如果鼠标在宿主机和虚拟机间可自动切换则成功~
shell> cd /mnt/cdroom
shell> sudo ./VBoxLinuxAdditions.run
2.2.2 设置共享目录
1)共享目录
- 在VBox的【设置 - 共享文件夹】下添加要共享的目录
(假设共享目录的名字为Share-X) - 在虚拟系统中创建挂载共享的目录
shell> sudo mkdir /mnt/share-dir
- 挂载共享目录
shell> sudo mount -t vboxsf Share-X /mnt/share-dir
2)在共享目录中创建链接
VBox在4.0版本后支持了共享目录创建symlinks,但是默认是不能使用的,需要在宿主机上开启
- 开启symlinks权限
VBoxManage setextradata "VM name" VBoxInternal2/SharedFoldersEnableSymlinksCreate/sharename 1
其中[VM name]是虚拟机的名字,[sharename]是共享目录的名字。
命令在VBox的根目录下。
- 以管理者身份运行VBox!!!
3、配置CentOS系统
3.1 加入到sudoers中
CentOS非root用户默认没有sudo的权限,需要自己把账户添加到sudoers中。
shell> su # 切换到root
shell> vi /etc/sudoers
----------------------------------------------
UserName ALL=(ALL) ALL # 添加一行新配置,参考root
UserName ALL=(ALL) NOPASSWD: ALL # 这个配置可以不输入密码就使用sudo
3.2 修改用户组
# 查看当前系统所有用户组
shell> vi /etc/group
# 将用户添加到指定用户组,-a追加
shell> usermod -a -G [UserGroup] [UserName]
3.3 防火墙
CentOS默认就安装了 firewall 作为防火墙,而且默认是开机启动的。将虚拟机用作服务器的时候,很可能遇到网络连接被防火墙限制的情况,因此要关注防火墙的设置。
1)主要命令
# 查看防火墙状态
shell> firewall-cmd --state
# 启动firewall
shell> systemctl start firewalld.service
# 允许firewall开机启动
shell> systemctl enable firewalld.service
# 重启firewall
shell> systemctl restart firewalld.service
# 停止firewall
shell> systemctl stop firewalld.service
# 禁止firewall开机启动
shell> systemctl disable firewalld.service
2)端口控制
# 开放端口
shell> firewall-cmd --zone=public --add-port=80/tcp --permanent
# 禁用端口
shell> firewall-cmd --zone=public --remove-port=80/tcp --permanent
-
zone
表示作用域 -
permanent
永久生效,没有此参数重启后失效