一、前期準備
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