ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

ArchLinux 使用 VirtualBox NAT + Host-Only双网卡

2022-07-02 14:02:13  阅读:307  来源: 互联网

标签:主机 虚拟机 Host 网络 网卡 相互连接 Only ArchLinux NAT


中文文档 : https://wiki.archlinux.org/title/VirtualBox_(简体中文)

安装 Virtualbox

yay -S virtualbox

注意:根据提示选择对应的 virtualbox-host-modules软件包

加载 VirtualBox 内核模块

sudo modprobe vboxdrv vboxnetadp vboxnetflt

vboxnetadpvboxnetflt:这两个模块在使用桥接网络和host-only 网络功能时,都是需要的。具体来说,vboxnetadp 模块用于在 VirtualBox 全局配置里为主体机创建虚拟网卡;vboxnetflt 模块会在使用了该功能的客体机启动时起作用。

VirtualBox支持的多种网络

网络地址转换(NAT):

1、虚拟机可以上网。

2、默认情况下,主机无法连接虚拟机。

3、虚拟机与虚拟机不能相互连接,使用此网络模式的虚拟机,VirtualBox会给每个虚拟机单独创建一个NAT设备,虚拟机与虚拟机是无法相互连接的。

桥接网卡:

1、虚拟机可以上网。

2、主机能连接虚拟机,虚拟机也可以连接主机。

3、虚拟机与虚拟机能相互连接。

仅主机(Host-Only)网络:

1、虚拟机不能上网。

2、主机能连接虚拟机,虚拟机也可以连接主机。

3、虚拟机与虚拟机能相互连接。

NAT 网络:

1、虚拟机可以上网。

2、默认情况下,主机无法连接虚拟机。

3、虚拟机与虚拟机能相互连接;

“网络地址转换(NAT)”与“NAT网络” 最大的不同点在于:“NAT网络”的虚拟机可以使用同一个全局NAT设备,所以虚拟机与虚拟机能相互连接;而使用 “网络地址转换(NAT)”网络,VirtualBox给每个虚拟机单独创建一个NAT设备,所以虚拟机与虚拟机无法相互连接。

通常可以使用“桥接网卡”这种网络,并将网卡配置为静态IP。主机与虚拟机都在一个网段,实现主机与虚拟机相互连接、虚拟机与虚拟机相互连接,虚拟机也能上网。

但是公司的网络通常不允许将电脑配置为静态IP,可使用“NAT网络”+“仅主机(Host-Only)网络”双网卡模式解决虚拟机使用静态IP、上网、相互连接的问题。

“NAT网络”的作用是:实现虚拟机上网,实现虚拟机与虚拟机相互连接,并且支持将网卡配置为静态IP(用于虚拟机之间连接,虚拟机重启后IP地址不变)。

“仅主机(Host-Only)网络”的作用是:实现主机与虚拟机相互连接,也支持将网卡配置为静态IP,虚拟机重启后IP地址不变。

创建仅主机网卡

VirtualBox 6.1.28 对仅主机接口设置的地址施加了额外的控制,如果不是白名单修改则可能会出显以下错误

Callee RC: 
E_ACCESSDENIED (0x80070005)

如果是 Linux 用户且则需要添加 IP 白名单

cat <<EOF | sudo tee /etc/vbox/networks.conf                                                                                                                 
* 192.0.0.0/8
* 172.0.0.0/8
* 10.0.0.0/8
EOF

点击“管理” —> “主机网络管理器”

修改 网卡 和 DHCP服务器地址

image-20220701160245487

修改成功后在宿住机即可 ip a 查看网卡信息(必须有IP才算成功)

image-20220701160432046

创建 NAT 网络

点击“管理” —> “全局设定” —> “网络” —> “添加新NAT网络” 。这一步是新建一个全局的NAT设备,所有的虚拟机都可以使用此NAT设备。新NAT网络CIDR默认是10.0.2.0/24。

image-20220701160934702

虚拟机配置双网卡

网卡一:NAT网络

image-20220701161045781

网卡二:仅主机(Host-Only)

image-20220701161124662

修改虚拟机IP

enp0s3:为NAT网络

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3


TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="enp0s3"
DEVICE="enp0s3"
ONBOOT="yes"
 
# 第1步新建的NatNetwork01网络CIDR是10.0.2.0/24,所以网关填写10.0.2.1,子网掩码是255.255.255.0
GATEWAY=10.0.2.1
IPADDR=10.0.2.100

enp0s8:为仅主机网卡

修改为静态ip

vi /etc/sysconfig/network-scripts/ifcfg-enp0s8

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="enp0s8"
DEVICE="enp0s8"
ONBOOT="yes"

# 网关与子网掩码与 vboxnet0 相同
GATEWAY=192.168.100.1
IPADDR=192.168.100.66
NETMASK=255.255.255.0

重启网卡

systemctl restart network

image-20220701162217726

标签:主机,虚拟机,Host,网络,网卡,相互连接,Only,ArchLinux,NAT
来源: https://www.cnblogs.com/LzsCxb/p/16437459.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有