抛弃CentOS了,拥抱Rocky Linux,Rocky Linux 10.1 已经出来了,但是选择云服务器还停留在 9.x,所以就按9.x的版本来学习。
1、Virtualbox安装RockyLinux9.x基础理论
1.1、virtualbox网络配置最佳实践
启用两块网卡,分配如下
第一块使用NAT网络地址转换模式,用于实现虚拟机访问主机,虚拟机访问网络主机;
第二块使用Host-only模式,用于实现虚拟机和主机相互访问,虚拟机和虚拟机相互访问(都是192.168.56.0网段的)。
1.2、RockyLinux9.x网卡配置文件
RockyLinux9.x 和 7.x 网卡配置文件区别如下
7.x 网卡配置文件在/etc/sysconfig/network-scripts/目录下,比如 /etc/sysconfig/network-scripts/ifcfg-eth0
9.x 网卡配置文件在/etc/NetworkManager/system-connections/目录下,比如/etc/NetworkManager/system-connections/enp0s8.nmconnection
2、Virtualbox第二块网卡配置
2.1、Virtualbox添加Host-only网卡
默认Virtualbox是没有Host-only网卡的,需要手动添加一个,具体如下:

2.2、虚拟机网络配置中启用第二块网卡

3、修改网卡名称
Virtualbox装好RockyLinux 9.7 后查看/etc/NetworkManager/system-connections/目录下文件,发现如下两个文件
/etc/NetworkManager/system-connections/enp0s8.nmconnection
/etc/NetworkManager/system-connections/enp0s9.nmconnection
发现我们的两块网卡的名字分别叫做 enp0s8 和 enp0s9,看起来非常别扭,强迫症患者必须改名,目标如下
第一块网卡 enp0s8 改名为 enp33,用于实现NAT网络地址转换模式;
第二块网卡 enp0s9 改名为 enp55,用户实现Host-only 模式
具体修改网卡名称步骤如下
3.1、查询当前网卡信息
先确认目标网卡的MAC地址和当前名称,执行命令:
# 查看网卡名称、MAC 地址(重点记录 ether 后的字符串)
ip addr
# 或用 NetworkManager 工具更清晰查看
nmcli device status
示例输出中,记录下:当前网卡名(如 enp0s8)、MAC 地址(如 52:54:00:12:34:56)。
3.2、备份70-persistent-net.rules(如果存在的话)
[ -f /etc/udev/rules.d/70-persistent-net.rules ] && cp /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.bak
3.3、创建/编辑udev规则(绑定MAC与网卡)
ens33属于可预测命名规则的一种,通过udev规则可强制指定该名称,步骤如下:
# 编辑 udev 规则文件(不存在则自动创建)
vi /etc/udev/rules.d/70-persistent-net.rules
添加以下内容,替换 [你的网卡MAC地址] 为实际记录的 MAC(保留小写 / 大写均可,无需空格):
# 绑定 MAC 地址到 enp33 网卡名
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="[你的网卡MAC地址]", ATTR{type}=="1", NAME="enp33"
示例(MAC 为 52:54:00:12:34:56):
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="52:54:00:12:34:56", ATTR{type}=="1", NAME="enp33"
添加完成后,按 Esc,输入 :wq 保存退出。
3.4、重命名enp0s8.nmconnection文件为enp33.nmconnection
mv etc/NetworkManager/system-connections/enp0s8.nmconnection etc/NetworkManager/system-connections/enp33.nmconnection
3.5、编辑enp33.nmconnection
找到 id 和 interface-name 两个字段,将其值全部改为 ens33,其他配置(如 BOOTPROTO、IPADDR、GATEWAY 等)保持不变。
3.6、重启
reboot
3.7、验证
# 查看网卡名称是否变为 ens33
ip addr
# 或
nmcli device status
若输出中出现 ens33 网卡,且能正常获取 IP / 连通网络,说明修改成功。
4、重命名 enp0s9 为 enp55 并设置静态ip
4.1、重命名 enp0s9 为 enp55
根据上面的步骤重命名即可。
4.2、给 enp55 设置静态ip
4.2.1、enp55 默认的配置,vi /etc/NetworkManager/system-connections/enp55.nmconnection
[ethernet]
[ipv4]
method=auto
4.2.2、手动配置静态ip
[ethernet]
[ipv4]
method=manual ## 手动IP
address1=192.168.56.100/24,192.168.56.254 ## ip,子网掩码,网关,网关不能是56.1,还是选254吧
dns=8.8.8.8;223.5.5.5 ## DNS
may-fail=false
4.2.3、激活配置文件
修改完成后需重新加载并激活配置
nmcli connection reload enp55.nmconnection #重新加载配置
nmcli connection up enp55 # 激活配置
4.2.4、常见DNS配置
| DNS类型 | 首选服务器 | 备用服务器 |
|---|---|---|
| 全国通用DNS | 114.114.114.114 | 114.114.115.115 |
| 谷歌DNS | 8.8.8.8 | 8.8.4.4 |
| 阿里DNS | 223.5.5.5 | 223.6.6.6 |
| 腾讯DNS | 119.29.29.29 | 182.254.116.116 |
| 百度DNS | 180.76.76.76 | - |
5、虚拟机复制
虚拟机复制时只需要注意一点,是否重新初始化网卡的MAC地址

5.1、为所有网卡重新生成MAC地址
选择此项,则会在原来的基础上增加两块网卡,也就是会生成新的网卡名称,自然配置也是新的。
5.2、包含所有网卡的MAC地址
选择此项,会保留原来的网卡名称,只需要给enp55设置新的ip地址就可以了。
5.3、仅包含NAT网卡的MAC地址
此项是新增的,暂时没用过。
6、 Virtualbox四种网络接入方式
下面的这四种知识比较老,但是比较通用,目前Virtualbox接入网络的方式已经有八九种了
6.1、NAT网络地址转换模式(Network Address Translation)
特点:虚拟机只能向外访问(相当于主机提供的功能),只出不进。
是最简单的实现虚拟机上网的方式,你可以这样理解:Vhost访问网络的所有数据都是由主机提供的,vhost并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Vhost的存在。
虚拟机与主机关系: 只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机。
虚拟机与网络中其他主机的关系: 只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机。
虚拟机与虚拟机之间的关系: 相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此。
IP信息
IP:10.0.2.15
网关:10.0.2.2
DNS:10.0.2.3
6.2、Bridaged Adapter 桥接模式
特点:独占网络中的一个ip。
它是通过主机网卡,架设了一条桥,直接连入到网络中了。因此,它使得虚拟机能被分配到一个网络中独立的IP,所有网络功能和在网络中的真实机器一样。
虚拟机与主机关系: 可以相互访问,因为虚拟机在真实网络段中有独立IP,主机与虚拟机处于同一网络段中,彼此可以通过各自IP相互访问。
虚拟机于网络中其他主机关系: 以相互访问,同样因为虚拟机在真实网络段中有独立IP,虚拟机与所有网络其他主机处于同一网络段中,彼此可以通过各自IP相互访问。
虚拟机于虚拟机关系: 可以相互访问,原因同上。
6.3、Internal模式
顾名思义就是内部网络模式,虚拟机与外网完全断开,只实现虚拟机与虚拟机之间的内部网络模式。
虚拟机与主机关系: 不能相互访问,彼此不属于同一个网络,无法相互访问。
虚拟机与网络中其他主机关系: 不能相互访问,理由同上。
虚拟机与虚拟机关系: 可以相互访问,前提是在设置网络时,两台虚拟机设置同一网络名称。如上配置图中,名称为Internal。
6.4、Host-only Adapter模式
主机模式,这是一种比较复杂的模式,需要有比较扎实的网络基础知识才能玩转。可以说前面几种模式所实现的功能,在这种模式下,通过虚拟机及网卡的设置,都可以被实现。
我们可以理解为Virtualbox在主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上的,我们可以通过设置这张网卡来实现上网及其它很多功能,比如网卡共享,网卡桥接等。
虚拟机与主机关系 :默认不能相互访问,双方不属于同一IP段,host-only网卡默认IP段为192.168.56.X 子网掩码为255.255.255.0,后面的虚拟机被分配到的也都是这个网段。通过网卡共享、网卡桥接等,可以实现虚拟机于主机相互访问。
虚拟机与网络主机关系 :默认不能相互访问,原因同上,通过设置,可以实现相互访问。
虚拟机与虚拟机关系 :默认可以相互访问,都是同处于一个网段。
虚拟机访问主机 用的是主机的VirtualBox Host-Only Network网卡的IP:192.168.56.1 ,不管主机“本地连接”有无红叉,永远通。
主机访问虚拟机,用是的虚拟机的网卡3的IP: 192.168.56.101 ,不管主机“本地连接”有无红叉,永远通。
虚拟机访问互联网,用的是自己的网卡2, 这时主机要能通过“本地连接”有线上网,(无线网卡不行)
7、总结推荐
如果是家庭网络,不在乎多占几个IP的话,使用Bridged模式是非常简单的。如果不想独占一个IP,则需要使用NAT和Host-only相结合的方式。NAT可以实现虚拟机访问主机,虚拟机访问网络主机;Host-only 可以实现虚拟机和主机相互访问,虚拟机和虚拟机相互访问(都是192.168.56.0网段的)。