文章目录
1 前言
本文是在 Windows 10 环境下,用 VirtualBox 软件搭建 RockyLinux 虚拟机,以供日常开发和学习使用。需要下载的软件有:
- VirtualBox 官网 https://www.virtualbox.org/
- Rocky Linux 官网 https://rockylinux.org
阿里镜像 https://developer.aliyun.com/mirror/rockylinux,比如下载 9.2 版本的镜像是 https://mirrors.aliyun.com/rockylinux/9.2/isos/x86_64/
Rocky Linux 是 CentOS 的替代品(因为众所周知的原因,CentOS 9 不怎么用了),100%兼容同版本的 RedHat
⚠️注意:以 9.2 版本为例,请选择Rocky-9.2-x86_64-dvd.iso
下载,而不要下载Rocky-9.2-x86_64-boot.iso
和Rocky-9.2-x86_64-minimal.iso
援引 Rocky Linux 官网的说法:
- Boot ISO is used to install the operating system from another source (such as a HTTP repository of the binary files). Can also be used to enter Rescue Mode.
- Minimal ISO is used to install the operating system from another source (such as a HTTP repository of the binary files). Can also be used to enter Rescue Mode.
- DVD ISO is a full installation that contains the BaseOS and AppStream repositories and allows you to complete the installation without additional repositories.
所以我们要下载 DVD ISO
- WinSCP 官网 https://winscp.net/eng/index.php
- Putty 官网 https://putty.org/
2 安装 Rocky Linux
前提条件是 VirtualBox 已下载并安装完毕,另外 Rocky Linux 的 DVD ISO 也下载完成。
2.1 新建虚拟机
如下图设置好之后,点击下一步。
2.2 设置虚拟机内存和CPU数量
如下图设置好之后,点击下一步。
2.3 设置虚拟机硬盘大小
如下图设置好之后,点击下一步。
2.4 完成设置
点击完成按钮。
2.5 VirtualBox 网络配置
2.5.1 全局配置
如下图, 打开全局网络设置
然后, 对 Host-Only 网络, 做如下图的配置:
2.5.2 单个虚拟机的配置
如下图, 为单个虚拟机配置网卡, 共配置2个网卡, 分别是: (1) 网络地址转换(NAT); (2) 仅主机(Host-Only)网络
为什么非要2个网卡呢? VirutalBox 默认的网卡1 网络地址转换(NAT), 不好吗? 不能满足全部要求吗?
[答] 如果虚拟机只有一个的话, 那么 网络地址转换(NAT) 这一个网卡就 OK 了(默认 IP 是 192.168.56.1)
但是如果要创建多于一个的虚拟机(比如2台), 那么, 网络这块儿, 就需要 Host-Only 网卡. 否则就不知道 2 台虚拟机, 各自的IP地址是多少, 从而导致外面的 Windows 也不知道如何访问它们.
2.6 启动虚拟机
2.7 Rocky Linux 的安装
2.7.1 直接回车
2.7.2 等待 check 完成
2.7.3 设置语言
如下图设置好之后,点击 Continue。
2.7.4 设置最小化安装
然后选中最小化安装。
2.7.5 去除分区设置的感叹号
点进去,再点出来,那个感叹号就会消失。
2.7.7 设置 root 账号的密码
2.7.8 开始安装
3 ssh 连接的准备工作
3.1 VirtualBox 设置端口转发
3.2 Rocky Linux 防火墙放行 22 端口
使用如下命令,配置防火墙:
## 第1步 查看防火墙是否正在运行中。一般情况下是开机自启动的
firewall-cmd --state
## 第2步(可选) 如果防火墙没有运行中,可通过如下命令启动防火墙 并设置 开机自启动
# 启动防火墙
systemctl start firewalld
# 开机自启动防火墙
systemctl enable firewalld
## 第3步 查询 22 端口是否已经放行了
# 查询当前哪些端口被放行了
firewall-cmd --zone=public --list-ports
# 查询 22 端口是否放行了
firewall-cmd --query-port=22/tcp
## 第4步 如果第3步发现 22 端口没有被放行的话,就放行它
# 永久放行指定端口
firewall-cmd --zone=public --add-port=22/tcp --permanent
# 重载防火墙配置,让前面的配置生效
firewall-cmd --reload
## 第5步(可选)如果不想放行某个端口了,可以永久关闭它
firewall-cmd --zone=public --remove-port=22/tcp --permanent
3.3 Rocky Linux 安装 ssh
使用如下命令,安装 ssh:
## 第1步 查看 ssh 是否已经被安装。由于前面我们选择的是 minimal 安装,可能没有安装 ssh
dnf list | grep ssh
## 第2步 如果第1步 没有 grep 到什么东西的话,那就是 ssh 还没有安装。执行如下命令安装 ssh
dnf install openssh-server
## 第3步 安装完成后,查看 ssh 状态。一般 ssh 是开机自启动的
systemctl status sshd
# 如果不是自启动,设置成自启动
systemctl enable sshd
## 第4步 设置 ssh 允许root用户远程登录
# 编辑如下文件,如果 vim 还没有安装的话,可以使用 dnf install vim 命令来安装一下
vim /etc/ssh/sshd_config
# 找到# Authentication,如下图:
# 续第4步,然后重启 sshd
systemctl restart sshd
4 虚拟机的网络配置
前面, 我们已经为 VirtualBox 做了 全局的网络配置, 也做了单个虚拟机的网格配置, 接下来, 我们需要的虚拟机中, 针对 Host-Only 网卡, 单独做一些配置.
这部分的内容参考自 https://fotianmoyin.com/other/docs/3_VirtualBox%E5%AE%89%E8%A3%85RockyLinux9.3/#3host-only
4.1 在虚拟机上查看IP地址
执行如下命令:
ip addr
可以得到:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:3d:ad:a3 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
valid_lft 83260sec preferred_lft 83260sec
inet6 fd00::a00:27ff:fe3d:ada3/64 scope global dynamic noprefixroute
valid_lft 86116sec preferred_lft 14116sec
inet6 fe80::a00:27ff:fe3d:ada3/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:73:a4:42 brd ff:ff:ff:ff:ff:ff
由上可知, enp0s8网卡没有ip.
4.2 使用nmtui配置网卡
输入nmtui命令来启用网卡图形配置界面,如下:
nmtui
通过上下键,选中 Edit a connection,回车:
通过左右键切换,左右栏区,选择右侧 Add 选项,回车:
选中 Ethernet,选择 Create,回车:
Profile name,Device 两行都输入:enp0s8
,选中 OK 回车:
选中 Back,回车。
选中 Quit,选择 OK,回车退出配置。
4.3 虚拟机网络配置完成
我们再次使用ip命令查看IP
ip addr
结果如下, enp0s8 网卡,已经可以获取到 IP 了
...(忽略部分内容)
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:73:a4:42 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.101/24 brd 192.168.56.255 scope global dynamic noprefixroute enp0s8
valid_lft 460sec preferred_lft 460sec
inet6 fe80::ef96:1a75:7080:b5d9/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4.4 验证
Windows 主机 PowerShell 里面 ping 192.168.56.101 来看是否可以访问通.
5 WinSCP 和 Putty 连接 Rocky Linux
前提是把 WinSCP 和 Putty 都安装好。
5.1 获取虚拟机IP地址
由 4.1 可知, 使用 ip addr
命令可以得到虚拟机的 IP 地址是 enp0s8 网卡的 192.168.56.101
5.2 WinSCP 连接 Rocky Linux
5.3 WinSCP 配置 - 集成 Putty
点击 WinSCP 菜单栏的 选项(O)
-> 选项(P)...
5.4 Putty 连接 Rocky Linux
6 替换 RockyLinux 的默认源
结合阿里镜像官网的描述和大家的评论 https://developer.aliyun.com/mirror/rockylinux 可知, 应执行如下命令
# 先执行如下命令
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
-i.bak \
/etc/yum.repos.d/rocky*.repo
# 然后再执行
dnf makecache
7 结语
感谢阅读😀