出发点
这是一篇介绍使用 VirtualBox 虚拟机工具安装 CentOS 7 的介绍视频。
笔者想尝试在本地运行并测试一些软件开发工具,例如Docker, k8s,以提升自身的技能水平;
同时,又苦于自己的狗记性,用完就忘,因此想把实现过程中遇到的问题和解决方案记录下来。
技术水平有限,如有错误,请多多指正。
准备工作
请下载并安装VirtualBox。 链接: Downloads – Oracle VM VirtualBox
下载CentOS 7 镜像。 链接:link
注意,由于互联网的不可靠性,以上链接可能会失效。
全局网络设置
为了让虚拟机能够访问互联网,同时宿主机和虚拟机之间能够互相通信,我们需要对VirtualBox进行全局网络设置。
NAT 网络
从VirtualBox首页的「工具」一栏中点选「网络」
点击「创建」,会默认生成一个名称是「NatNetwork」的网络设置,我们点击应用保存就好。
仅主机(Host-Only)网络
类似的,我们创建 「仅主机(Host-Only)网络」
虚拟机网络设置
在配置了全局网络设置后,我们还要应用到具体的虚拟机网络设置中。在下图中,要注意两个网卡的 MAC地址,它们会在下一小节中用于配置CentOS网络。
「网卡1」配置:
「网卡2」配置:
CentOS 网络配置
虚拟机端的网络配置好后,我们需要进入操作系统内进行网卡配置。
# 打开网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
#确保该文件的配置正确无误
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
#注意该值
BOOTPROTO=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=e9f4abd5-be25-46f0-9780-af63b422698b
DEVICE=enp0s3
#注意该值
ONBOOT=yes
#MAC地址是虚拟机NAT网络的MAC地址
HWADDR=08:00:27:D0:A2:51
# 进入网卡配置文件夹
cd /etc/sysconfig/network-scripts/
# 拷贝一份用于配置Host Only网卡
cp ./ifcfg-enp0s3 ifcfg-enp0s8
vi ifcfg-enp0s8
# 该网卡配置大部分与上一个类似,除了最后三个
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=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=enp0s8
UUID=e9f4abd1-be25-46f0-9780-af63b422698b
DEVICE=enp0s8
ONBOOT=yes
# 这里配置HOST Only网卡的MAC地址
HWADDR=08:00:27:ED:83:48
# 这里的地址根据虚拟机网卡的配置而定
IPADDR=192.168.56.200
NETMASK=255.255.255.0
# 重启网络服务
service network restart
测试网络连接
现在,我们测试是否网络配置完成。
# 首先测试互联网连接
ping baidu.com
# 如果没有问题,继续测试和宿主机连接,假设宿主机网卡ip是192.168.1.9
ping 192.168.1.9
#最后检查下网卡配置 如果没有安装ifconfig, 使用一下命令安装
yum install -y net-tools
#执行 ifconifg
ifconfig
# 这是连接互联网的 NAP网卡
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::3b6:b433:1bae:f0 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:d0:a2:51 txqueuelen 1000 (Ethernet)
RX packets 184 bytes 22970 (22.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 246 bytes 17853 (17.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
# 和宿主机互相连接的 Host Only 网卡
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.56.200 netmask 255.255.255.0 broadcast 192.168.56.255
inet6 fe80::312d:d014:58e3:1e42 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:ed:83:48 txqueuelen 1000 (Ethernet)
RX packets 496 bytes 42879 (41.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 311 bytes 76813 (75.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 8 bytes 656 (656.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8 bytes 656 (656.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
至此,我们就完成了CentOS网络的配置,可以愉快的玩耍了。
参考文章
CentOS7下解决ifconfig command not found的办法 - 简书
Virtualbox配置centos7 网络简易教程 - 简书
Virtualbox网络连接方式选择NAT网络,无法指定界面名称的解决方法_未指定nat网络名称_半砖的博客-CSDN博客