一、准备工作:
1、准备一台已经安装好的,纯净版CentOS7.5备份镜像,用于安装虚拟机
2、物理机【1】,选择网段【*.*.10.*】,组网清单:
名称 | 宿主机ip | 虚拟机ip | 功能 / 用途 |
---|---|---|---|
虚拟机1 | 192.168.1.104 | 192.168.10.10 | |
虚拟机2 | 192.168.1.104 | 192.168.10.11 | |
虚拟机3 | 192.168.1.104 | 192.168.10.12 |
3、物理机【2】,选择网段【*.*.11.*】,组网清单:
名称 | 宿主机ip | 虚拟机ip | 功能 / 用途 |
---|---|---|---|
虚拟机4 | 192.168.1.103 | 192.168.11.20 | |
虚拟机5 | 192.168.1.103 | 192.168.11.22 | |
虚拟机6 | 192.168.1.103 | 192.168.11.12 |
二、【物理机1
/ 物理机2
】配置VMware网络参数:
1、宿主机VMware配置步骤:打开【VMware】
操作界面 → 点击左上角【编辑
】按钮 → 点击【虚拟网络编辑器
】按钮 → 选择名称为【VMnet8
】的网络 → 在【应用
】按钮的上方选择【更改设置(c)
】→ 选择【VMnet8
】 → 配置【VMnet信息
】 → 选择【NAT 模式(与虚拟机共享主机的IP地址)(N)
】 → 勾选【将主机虚拟适配器连接到此网络(V)
】 → 选择【使用本地 DHCP 服务将IP 地址分配给虚拟机(D)
】 → 配置【子网IP(I):192.168.10.0
】→ 配置【子网掩码(M):225.225.225.0
】→ 点击【NAT设置
】按钮 → 在【输入网关IP(G)
】输入地址【192.168.10.2
】→ 点击【确定
】按钮返回上一层 → 点击【DHCP设置
】按钮 → 输入【起始 IP 地址(S):192.168.10.3
】 → 输入【结束 IP 地址(E):192.168.10.254
】→ 点击【确定
】按钮返回上一层 → 点击【虚拟网络编辑器 → 确定
】按钮【保存VMware配置
】
2、宿主机的虚拟机配置:选择任意一台虚拟机
→ 点击编辑虚拟机设置
按钮 → 选择【硬件
】标签页 → 选择【网络适配器
】 → 设备状态勾选【启动时连接(O)
】→ 网络连接选择【自定义(U):特定虚拟网络 → VMnet8(NAT 模式)
】→ 点击【确定
】按钮保存配置
3、打开虚拟机,为虚拟机分配【静态IP
】地址,虚拟机网卡配置(其他虚拟机类似
,注意:同网段内 IPADDR 不可重复
):
DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
NAME=ens33
GATEWAY=192.168.10.2
IPADDR=192.168.10.10 #同网段内不可重复
NETMASK=255.255.255.0
DNS1=202.96.128.86
DNS2=223.5.5.5
4、修改【/etc/sysconfig/network-scripts/ifcfg-ens33
】,将步骤【3
】拷贝至文件内(其他虚拟机类似
),命令如下:
[root@localhost network-scripts]# mv ifcfg-ens33 ifcfg-ens33_blk #备份网卡配置
[root@localhost network-scripts]# touch ifcfg-ens33 #新建一个空白文本
[root@localhost network-scripts]# vi ifcfg-ens33 #修改网卡配置文件:强制退出命令:q! 保存命令:wq
[root@localhost network-scripts]# service network restart #重启网卡 / 网络配置
Restarting network (via systemctl): [ OK ]
[root@localhost network-scripts]#
[root@localhost network-scripts]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::20c:29ff:fee7:2ec1 prefixlen 64 scopeid 0x20<link>
ether 00:00:00:00:00:00 txqueuelen 1000 (Ethernet)
RX packets 712 bytes 79256 (77.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 482 bytes 103844 (101.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 8 bytes 688 (688.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8 bytes 688 (688.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost network-scripts]#
[root@localhost network-scripts]# ping 192.168.1.104 #检测是否能与【宿主机】连接成功,以下为成功显示
PING 192.168.1.104 (192.168.1.104) 56(84) bytes of data.
64 bytes from 192.168.1.104: icmp_seq=1 ttl=128 time=0.439 ms
64 bytes from 192.168.1.104: icmp_seq=2 ttl=128 time=0.518 ms
[root@localhost network-scripts]# ping www.baidu.com #检测是否能与【百度 / 公网】连接成功,以下为成功显示
PING www.baidu.com (14.215.177.38) 56(84) bytes of data.
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=128 time=10.0 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=128 time=9.03 ms
[root@localhost network-scripts]# systemctl restart iptables.service #重启防火墙使配置生效
[root@localhost network-scripts]# systemctl enable iptables.service #设置防火墙开机启动
[root@localhost network-scripts]# systemctl stop firewalld.service #关闭虚拟机防火墙
[root@localhost network-scripts]# systemctl disable firewalld.service #禁止firewall开机启动
[root@localhost network-scripts]# reboot #重启虚拟机
5、检测【宿主机
】是否能ping通【虚拟机
】(其他虚拟机类似
):【Windows
】环境下 【步骤 / 命令
】→ 组合键【window键 + R
】→ 输入【cmd
】按【Enter
】键 → 输入命令【ping 192.168.10.10
】→ 显示【来自 192.168.10.10 的回复: 字节=32 时间<1ms TTL=64
】即为成功,反之则为失败 → 如下图所示:
三、使用VMware端口映射,实现将【物理机1 - 虚拟机1
】与【物理机2 - 虚拟机1
】网络互通:
1、将【物理机2 - 虚拟机1】的【22】号端口转发出来,步骤:打开【VMware
】操作界面 → 点击左上角【编辑
】按钮 → 点击【虚拟网络编辑器
】按钮 → 选择名称为【VMnet8
】的网络 → 在【应用
】按钮的上方选择【更改设置(c)
】→ 选择【VMnet8
】 → 配置【VMnet信息
】 → 点击【NAT设置
】按钮 → 在【端口转发(F)
】一栏 → 点击【添加
】按钮 → 进入【映射传入端口
】界面 → 输入【主机端口(H):1122
】→ 选择【类型:TCP(T)
】 → 设置【虚拟机 IP 地址(A):192.168.11.20
】→ 设置【虚拟机端口(P):22
】→ 点击【确定
】按钮保存配置 → 如下图:
2、验证【物理机1 - 虚拟机
】通过【SSH命令
】是否能够连接到【物理机2 - 虚拟机1
】,命令如下:
Last login: Mon Dec 20 07:14:31 2021 from 192.168.10.1
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::20c:29ff:fee7:2ec1 prefixlen 64 scopeid 0x20<link>
ether 00:00:00:00:00:00 txqueuelen 1000 (Ethernet)
RX packets 1425 bytes 268039 (261.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 956 bytes 155664 (152.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]#
[root@localhost ~]# telnet 192.168.1.103 1122
Trying 192.168.1.103...
Connected to 192.168.1.103.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4
^C
Connection closed by foreign host.
[root@localhost ~]#
[root@localhost ~]#
补充说明:
1、宿主机ping不通虚拟机,虚拟机也ping不同宿主机,可能是WMnet8网络适配器被手动禁用,或者是网段不对,解决如下: