环境说明
操作系统: macOS Ventura 13.0
虚拟机: VMware Fusion
Linux版本: CentOS Linux Relase 7.9.2009 (AltArch)
VMware Fusion网络的三种模式
VMware Fusion网络适配器设置通过菜单栏的虚拟机->网路适配器
进行设置
- NAT模式
NAT(Network Address Translation)全称是网络地址转换,它允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。
NAT有三种类型:静态NAT(Static NAT)、动态地址NAT(Pooled NAT)、网络地址端口转换NAPT(Port-Level NAT)。
我们知道家用路由器一般都是NAT模式,内网用户默认都是192.168.1.x网段,而路由器充当默认网关的角色,所有内网发出的包都将经过路由器,路由器在公网有唯一的IP,所有的包经过路由器修改其源IP都改为了公网IP了,并且会随机映射一个对外端口。当NAT在虚拟机场景的时候,原理类似,在PC上的虚拟机相当于是内网用户,虚拟机PC充当路由器的角色,虚拟机会再PC上虚拟化一个网络环境,也就是每个虚拟机通过PC上的虚拟网卡连接到PC上,每个虚拟机实例会通过PC上的虚拟路由器获取DHCP分配的局域网IP,每个虚拟机要访问外网时,数据包会经过虚拟路由器,将源IP修改为PC的物理网卡的物理局域网IP,再发送给物理路由器。
在这种模式下虚拟机可以访问外网,也可以访问物理局域网,但是无法访问其他PC上的虚拟机。外部的其他PC业务无法直接访问虚拟机。
- 桥接模式
桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一台独立主机,它可以访问内网任何一台主机。在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由 于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。
- 仅主机模式
仅主机模式(Host-Only)适用于在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时就可采用仅主机模式,在仅主机模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的
虚拟网路环境查看
虚拟机默认采用的是NAT模式,本文我们也通过NAT模式来给虚拟机配置静态ip。
首先我们要找到VMware创建的NAT网络的网关和DNS,默认在本机的/Library/Preferences/VMware Fusion/vmnet8
目录下查看
查看nat.conf
获得虚拟网关ip和子网掩码,可以看到虚拟网关ip为172.16.127.2
,子网掩码为255.255.255.0
查看dhcpd.conf
可以看到DNS为172.16.127.2
虚拟机静态ip配置
网卡配置路径为/etc/sysconfig/network-scripts/ifcfg-ens160
,网卡名字不是固定的,大家可以根据自己的服务器上的名字进行修改。查看配置信息如下所示,下面BOOTPROTO=dhcp
,意思就是通过DHCP动态分配ip。
使用vim ifcfg-ens160
修改配置信息如下
# 将BOOTPROTO设置为static
BOOTPROTO=static
# 增加如下配置
IPADDR=172.16.127.130
NETMASK=255.255.255.0
GATEWAY=172.16.127.2
DNS1=172.16.127.2
修改后的配置如下
重启网络
systemctl restart network
通过ping www.baidu.com
检查配置是否成功
检查与宿主机网络是否正常ping 192.168.0.21
网络都已经正常,说明配置成功
配置免密码连接服务器
首先创建一个SSH秘钥
ssh-keygen
将秘钥复制到服务器上
ssh-copy-id root@172.16.127.130
将ssh配置复制到服务器之后,就可以免密登录了
但是这样还需要输入账号和ip,比较麻烦,可以在~/.ssh/config
文件内增加ssh配置,配置内容如下
Host vm3
Hostname 172.16.127.130
Port 22
User root
IdentityFile ~/.ssh/id_rsa
配置了之后可以直接通过别名免密登录服务器