VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。Innotek 以 GNU General Public License (GPL) 释出 VirtualBox,并提供二进制版本及 OSE 版本的代码。使用者可以在VirtualBox上安装并且执行Solaris、Windows、DOS、Linux、OS/2 Warp、BSD等系统作为客户端操作系统。现在则由甲骨文公司进行开发,是甲骨文公司xVM虚拟化平台技术的一部份。
VirtualBox 的安装
VirtualBox 的安装比较简单,基本上都是下一步下一步的进行安装,没有什么特别需要注意的地方,且网上有大量的文章介绍 VirtualBox 的安装,这里不再赘述。
VirtualBox 的设置
打开 VirtualBox 的虚拟机设置中的网络设置
上图是 VirtualBox 默认的一个网络设置,接下来我们打开 网卡2 新建一个网络设置,连接方式选择 桥接网卡,界面名称选择真实的物理网卡。如下。
CentOS 的设置
进入 /etc/sysconfig/network-scripts/
路径查看是否有一个名为 ifcfg-eth0
的网络配置文件。
如果没有这个文件,取而代之的 ifcfg-enp0s3
,是因为新版的 CentOS 更新了 Linux 内核,可以按照以下操作将 ifcfg-enp0s3
修改为 ifcfg-eth0
。
vim /etc/default/grub
在 GRUB_CMDLINE_LINUX 的最后,加上 net.ifnames=0 biosdevname=0
的参数,如下:
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"
# 更新配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
# 将网络文件改名
mv /etc/sysconfig/network-scripts/ifcfg-enp0s3 /etc/sysconfig/network-scripts/ifcfg-eth0
# 重启
reboot
cd /etc/sysconfig/network-scripts/
ls -l
将 ifcfg-eth0
复制一份保存为 ifcfg-eth1
。
cp ifcfg-eth0 ifcfg-eth1
将 ifcfg-eth1
修改为如下内容:
vi ifcfg-eth1
DEVICE=eth1
#HWADDR=08:00:27:33:37:D3
TYPE=Ethernet
#UUID=61ceadb4-2adb-4583-a954-3e4c63fa9c39
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
接着重启虚拟机,使配置文件生效。
使用 ifconfig
查看当前的桥接网卡的 IP 地址,宿主主机或其它局域网设备就可以使用这个 IP 地址对虚拟机内的 CentOS 进行访问。
ifconfig
eth1 Link encap:Ethernet HWaddr 08:00:27:65:D3:A5
inet addr:192.168.4.246 Bcast:192.168.4.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe65:d3a5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:455 errors:0 dropped:0 overruns:0 frame:0
TX packets:169 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:36269 (35.4 KiB) TX bytes:18730 (18.2 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)