天天看點

centos8使用virtualbox安裝虛拟機參考Virtualbox環境安裝安裝虛拟機虛拟機背景運作主控端虛拟機互拼設定遠端ssh通路虛拟機設定遠端ssh通路虛拟機虛拟機之間互相ping通虛拟機靜态IP

文章目錄

  • 參考
  • Virtualbox環境安裝
  • 安裝虛拟機
  • 虛拟機背景運作
  • 主控端虛拟機互拼
  • 設定遠端ssh通路虛拟機
  • 設定遠端ssh通路虛拟機
  • 虛拟機之間互相ping通
  • 虛拟機靜态IP

參考

  • How To Install VirtualBox 6.1 on CentOS 8 / RHEL 8
  • Oracle VirtualBox安裝CentOS 8
  • VirtualBox安裝centos8,安裝完成後重新開機又進入到安裝界面

Virtualbox環境安裝

  1. Add VirtualBox / EPEL repository
# dnf -y install wget
# wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo
# mv virtualbox.repo /etc/yum.repos.d/
           

Import Oracle public key:

# wget -q https://www.virtualbox.org/download/oracle_vbox.asc
sudo rpm --import oracle_vbox.asc
           

add EPEL repository:

# dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
           
  1. Install VirtualBox on RHEL 8 / CentOS 8
# dnf -y install binutils kernel-devel kernel-headers libgomp make patch gcc glibc-headers glibc-devel dkms
           

該步驟會出現kernel部分元件缺失或者版本不比對情況,可以直接手動進行安裝:

通路:
https://rpmfind.net/linux/rpm2html/search.php?query=kernel-headers&submit=Search+...&system=&arch=

下載下傳對應的kernel插件
wget [kerver-needs-plugin.rpm]

安裝插件
rpm -i [kerver-needs-plugin.rpm]
           

install virtualbox:

# dnf install -y VirtualBox-6.1
           

To manually add VirtualBox user must to be a member of the group.

# usermod -aG vboxusers $USER
           

To install otther plugins

# yum install gcc gcc-c++

# dnf install elfutils-libelf-devel
// 如果elfutils-libelf-devel無法找到,試試以下的庫
elfutils
elfutils-libelf-devel
libelf-dev
libelf-devel 
           

To rebuild Kernel modules, run:

# /usr/lib/virtualbox/vboxdrv.sh setup
           
  1. Starting VirtualBox on CentOS 8 / RHEL 8 Linux
centos8使用virtualbox安裝虛拟機參考Virtualbox環境安裝安裝虛拟機虛拟機背景運作主要端虛拟機互拼設定遠端ssh通路虛拟機設定遠端ssh通路虛拟機虛拟機之間互相ping通虛拟機靜态IP

安裝虛拟機

完全按照【Oracle VirtualBox安裝CentOS 8】進行即可。

注意:最後安裝完成,先将虛拟機關機,再将系統設定中的光驅鏡像移除,再啟動,否則還會出現第一步的安裝畫面

虛拟機背景運作

  1. 直接在VirtualBox界面進行設定即可
centos8使用virtualbox安裝虛拟機參考Virtualbox環境安裝安裝虛拟機虛拟機背景運作主要端虛拟機互拼設定遠端ssh通路虛拟機設定遠端ssh通路虛拟機虛拟機之間互相ping通虛拟機靜态IP
  1. 顯示背景運作的虛拟機
centos8使用virtualbox安裝虛拟機參考Virtualbox環境安裝安裝虛拟機虛拟機背景運作主要端虛拟機互拼設定遠端ssh通路虛拟機設定遠端ssh通路虛拟機虛拟機之間互相ping通虛拟機靜态IP
  1. 關閉時,選擇背景繼續運作
centos8使用virtualbox安裝虛拟機參考Virtualbox環境安裝安裝虛拟機虛拟機背景運作主要端虛拟機互拼設定遠端ssh通路虛拟機設定遠端ssh通路虛拟機虛拟機之間互相ping通虛拟機靜态IP

主控端虛拟機互拼

  • virtualBox NAT模式,設定虛拟機可上網,主控端可通路虛拟機的方法
  • 快速了解VirtualBox的四種網絡連接配接方式
  • virtualbox中NAT方式通過主控端通路虛拟機端口映射配置
centos8使用virtualbox安裝虛拟機參考Virtualbox環境安裝安裝虛拟機虛拟機背景運作主要端虛拟機互拼設定遠端ssh通路虛拟機設定遠端ssh通路虛拟機虛拟機之間互相ping通虛拟機靜态IP
centos8使用virtualbox安裝虛拟機參考Virtualbox環境安裝安裝虛拟機虛拟機背景運作主要端虛拟機互拼設定遠端ssh通路虛拟機設定遠端ssh通路虛拟機虛拟機之間互相ping通虛拟機靜态IP

主控端檢視端口是否開啟【虛拟機需要開機】:

$ netstat -ntl | grep 22015
tcp        0      0 0.0.0.0:22015           0.0.0.0:*               LISTEN 
           

測試是否ssh能登入成功:

$ ssh [email protected] -p 22015
[email protected]'s password: 
Last login: Thu Sep  3 02:20:31 2020 from 10.0.2.2
[[email protected] ~]# 
           

設定遠端ssh通路虛拟機

将上述的主控端映射到虛拟機的端口

22015

加入到防火牆開啟端口中

$ sudo firewall-cmd --permanent --zone=public --add-port=3389/tcp
$ sudo firewall-cmd --reload
           

設定遠端ssh通路虛拟機

将上述的主控端映射到虛拟機的端口

22015

加入到防火牆開啟端口中

$ sudo firewall-cmd --permanent --zone=public --add-port=22015/tcp
$ sudo firewall-cmd --reload
           

虛拟機之間互相ping通

virtualbox 版本是:6.1

因為VirtualBox通過nat模式建立的所有虛拟機的ip都是

10.0.2.15

,且隻能虛拟機ping通主控端和外網,上一節已經實作了主控端ping通虛拟機,這一節實作虛拟機之間的互ping,這樣友善進行分布式部署。

  1. 添加nat network網絡(這在網上的許多資源裡面都沒有介紹這一步)

    在VirtualBox主界面依次選擇:

    File > Preferences > Network

    ,打開網卡設定界面,建立Nat網絡 :
centos8使用virtualbox安裝虛拟機參考Virtualbox環境安裝安裝虛拟機虛拟機背景運作主要端虛拟機互拼設定遠端ssh通路虛拟機設定遠端ssh通路虛拟機虛拟機之間互相ping通虛拟機靜态IP

(2)修改nat網絡屬性:

centos8使用virtualbox安裝虛拟機參考Virtualbox環境安裝安裝虛拟機虛拟機背景運作主要端虛拟機互拼設定遠端ssh通路虛拟機設定遠端ssh通路虛拟機虛拟機之間互相ping通虛拟機靜态IP

名稱可以保持預設,也可以自己修改。同時根據自己的IP段修改IP資訊,儲存退出

(3)儲存退出

  1. 設定虛拟機網絡

    (1)關閉虛拟機

    (2)将建立的Nat network添加到Adapter 2裡面

centos8使用virtualbox安裝虛拟機參考Virtualbox環境安裝安裝虛拟機虛拟機背景運作主要端虛拟機互拼設定遠端ssh通路虛拟機設定遠端ssh通路虛拟機虛拟機之間互相ping通虛拟機靜态IP

(3)啟動虛拟機,通過

ip addr

ifconfig

指令檢視IP資訊

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
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:25:6f:d3 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 85727sec preferred_lft 85727sec
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:43:d6:39 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.10/24 brd 192.168.100.255 scope global dynamic noprefixroute enp0s8
       valid_lft 526sec preferred_lft 526sec
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:9e:e1:3f:10 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
           

(4)相同方法設定其他的虛拟機,最後通過

ping 192.168.100.x

進行檢測

[[email protected] ~]# ping 192.168.100.11
PING 192.168.100.11 (192.168.100.11) 56(84) bytes of data.
64 bytes from 192.168.100.11: icmp_seq=1 ttl=64 time=1.00 ms
64 bytes from 192.168.100.11: icmp_seq=2 ttl=64 time=0.718 ms
64 bytes from 192.168.100.11: icmp_seq=3 ttl=64 time=0.779 ms
           

虛拟機靜态IP

【TODO】

繼續閱讀