引子
我有一台笔记本闲了很久了,闲着没事,我在上面装了一个VMWare,并安装了一个CentOS虚拟机,希望能将其用作一个Linux服务器供自己学习。这里,我将记录下步骤,并且解决遇到的问题。
系统环境
笔记本系统:Windows10 VMWare版本:15.0.2.40550 Linux版本:CentOS Linux release 7.6.1810 (Core)
操作步骤
1、安装好CentOS 虚拟机,并启动。
这个步骤不解释,如果有需求请各位自行百度/谷歌。需要注意的是,网络设置选择默认的 NAT模式 即可。安装好后,选中CentOS虚拟机,右键菜单-设置,(或者选中虚拟机,在右侧的页面中选择 编辑虚拟机设置):
或
然后选择 硬件 - 网络适配器,查看网络配置:
如上图,我在安装虚拟机的时候,VMWare默认使用了NAT模式。关于VMWare虚拟机的三种网络模式,可以参考这篇文章:虚拟机VMware网络类型&&SSH远程连接Linux,我觉得讲的通俗易懂。
2、查看虚拟机和宿主机的IP信息
查看虚拟机IP信息:
通过虚拟机的终端登录,输入 ifconfig 查看网络配置信息:
可以看到,这里我的CentOS的IP为 192.168.119.128。
如果这里报错:
bash: ifconfig: 未找到命令
则说明我们的 net-toos 包没安装,执行下面的命令安装即可。
yum install -y net-tools
实际上,CentOS 7 可以通过 ip addr 来查看IP地址:
查看宿主机IP信息:
打开咱们宿主机(Windows)的 控制台(CMD),输入 ipconfig,查看宿主机的IP信息:
如上图,这里我Windows宿主机的IP为 192.168.0.207。这里,请根据你们自己网络类型去选择正确的网卡!
咱们需要将 这两IP——宿主机IP、Linux虚拟机IP记录下来,待会儿建立映射时会用到。
3、建立虚拟机和宿主机的映射
虚拟机菜单,选中 编辑 - 虚拟网络编辑器:
如上图,进入 虚拟网络编辑器 后,弹出下图的弹窗:
首先我们可以看到,VMnet8虚拟网卡的网络是NAT模式。下面红框处的配置是默认的。这里,我需要进行一些小的修改,点击右下角的 更改设置 。
图中红框处的配置不变,选中 VMnet8 虚拟网卡,点击 NAT设置 ,在弹出窗口中点击 添加 按钮,弹出下图的弹窗:
如上图,我们需要建立宿主机和虚拟机之间的映射,针对 映射传入端口 弹窗的名词解释:
- ①主机端口:咱们需要建立 宿主机 -> 虚拟机的映射,这里填写主机需要映射的端口;这里,我填写SSH默认的端口 22;
- ②类型:协议类型,这里选择默认的TCP即可;
- ③虚拟机IP地址:需要映射的虚拟机的IP地址,这里填写上文我们获取到的虚拟机IP——我获取到的是192.168.119.128,你们填写你们获取到的IP;
- ④虚拟机端口:与①对应,这里填写虚拟机需要映射到的端口;这里我也填写SSH默认的端口 22;
- ⑤描述:自定义的映射说明。
如上图的配置,上文咱们已经获取到的宿主机的IP:192.168.0.207。这意味着:
我们访问 192.168.0.207:22 ,将会被自动映射到 192.168.119.128:22;即:
宿主机IP:①主机端口 将会被映射到 ③虚拟机IP地址:④虚拟机端口
配置完成后,我们点击 确定 保存。
本文中,并没有修改 SSH配置 (/etc/ssh下的配置);sshd 服务是默认开启的,我也没有做任何修改。
4、配置虚拟机和宿主机的防火墙
到这里,由于防火墙的存在,我们还是不能在别的PC上访问到我们的CentOS虚拟机,我们需要配置防火墙权限。
配置CentOS防火墙:
开启 22 端口访问:
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --reload
或者直接关闭防火墙:
systemctl stop firewalld.service
到这里,CentOS的防火墙配置就完成了。由于是NAT模式,所以我们还需要配置一下宿主机的防火墙。参考Linux - 虚拟机ping不通主机,但是主机可以ping通虚拟机,我为了方便,直接关闭了宿主机的防火墙。
至此,虚拟机和宿主机的防火墙配置完毕。
5、远程SSH登录CentOS虚拟机
到这里,我们就已经配置完毕了。理论上说,在同一个网段下的所有主机都可以通过 宿主机IP:上面我们配置的主机端口 来远程连接我们的CentOS虚拟机了:我的Mac和Windows笔记本连着同一个WIFI:
输入密码,连接成功!
参考文章:
1、https://www.linuxidc.com/Linux/2017-04/142865.htm
2、https://blog.csdn.net/feinifi/article/details/76066594
3、https://blog.csdn.net/sudazf/article/details/50551822
4、https://blog.csdn.net/sinat_32238399/article/details/81459557