【FATE】设置虚拟机固定IP以及免密登录

一、前期准备

1、VMWare上新建三个Centos7的虚拟机

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

修改位固定IP
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 

拷贝公私钥对

app用户免密登录