一、前期準備

1、VMWare上新建三個Centos7的虛擬機器

2、VMWare虛擬機器的三種聯網方式

1、橋接模式 -- 橋接: 預設使用VMnet0

這一種聯網方式最簡單,在區域網內,你的主機是怎麼聯網的,你在虛擬機器裡就怎麼連網。把虛擬機器看成區域網內的另一臺電腦就行了!

2、NAT模式 -- 網路地址轉換:預設使用VMnet8

聯網方式: 1. 靜態IP 2. 動態IP

  • 虛擬網絡卡和虛擬機器處於一個地址段,虛擬機器和主機不同一個地址段,主機相當於虛擬機器的閘道器,所以虛擬機器能ping到主機的IP,但是主機ping不到虛擬機器的IP。
  • 使用NAT技術,主機能上網,虛擬機器就可以訪問Internet,但是主機不能訪問虛擬機器。

3、Host-Only -- 私有網路共享主機:預設使用VMnet1

  • 提供的是主機和虛擬機器之間的網路互訪。只想讓虛擬機器和主機之間有資料交換,而不想讓虛擬機器訪問Internet;
  • 可動態可靜態;

二、配置固定IP過程

目標是:

虛擬機器名 ip地址
CentOS7_1 192.168.26.128
CentOS7_2 192.168.26.129
CentOS7_3 192.168.26.130

1、設定虛擬機器網路連線方式NAT,並檢視閘道器

2、修改IP地址並固定

CentOS7_1上:

# nmcli connection modify ${裝置名稱} ipv4.addresses ${IP及掩碼} ipv4.method ${連線模式: manual/auto}  ipv4.dns${DNS伺服器地址} ipv4.gateway${閘道器地址}
# CentOS 7 的網絡卡名字叫做ens33
# 114.114.114.114 是國內移動、電信和聯通通用的DNS
# 192.168.26.2 是上一步查到的閘道器地址 nmcli connection modify ens33 ipv4.addresses 192.168.26.128/24 ipv4.method manual ipv4.dns 114.114.114.114 ipv4.gateway 192.168.26.2



CentOS7_2上:

nmcli connection modify ens33 ipv4.addresses 192.168.26.129/24 ipv4.method manual ipv4.dns 114.114.114.114 ipv4.gateway 192.168.26.2

CentOS7_3上:

nmcli connection modify ens33 ipv4.addresses 192.168.26.130/24 ipv4.method manual ipv4.dns 114.114.114.114 ipv4.gateway 192.168.26.2

三、虛擬機器之間免密登入

原理:A 主機 想免密登入 B主機,需要把 A 的公鑰傳送給 B 授權檔案;

1、三主機Root 賬號 免密登入

  • 我的操作是在 A主機上生成公私鑰對,並將其公鑰內容附加到其授權檔案中,
  • 然後複製A主機生成B,C主機,
  • 這樣三臺主機的公私鑰對是相同的,且可互相免密登入;
# CentOS7_1
# 在主機 CentOS7_1 的 root 賬戶上生成公私鑰對存在於檔案 .ssh 中
ssh-keygen
# 進入 .ssh 檔案,將公鑰資訊 新增到authorized_keys檔案中
cd .ssh
cat id_rsa.pub >> authorized_keys



然後複製CentOS7_1 虛擬機器,生成CentOS7_2 和 CentOS7_3 虛擬機器;

這樣三臺主機的root賬號上的公私鑰對都相同,且互相的授權檔案中有其他的公鑰資訊,所以三方root賬戶可相互免密登入;

2、三主機的root賬戶、app賬戶互相免密登入

  • 通過上面已實現三臺主機root賬戶的免密登入,為了讓app使用者也可免密登入,
  • 在每臺主機上,將root的.ssh 檔案 拷貝至 app使用者下,並修改app使用者對 .ssh 檔案的許可權即可。
  • 這樣三臺主機上的root賬戶和app賬戶下的公私鑰對,授權資訊完全相同,可互相免密登入;
# CentOS7_1 、 CentOS7_2、CentOS7_3 主機上 root賬戶 下 分別執行
cp -r .ssh /home/app/.ssh
# 此時 app 對.ssh 檔案無許可權,修改 .ssh 檔案及其子目錄
chown -R app:apps .ssh