局域网访问虚拟机内CentOS设置
1.搭建局域网
我是利用家里的wifi环境和两台笔记本搭建的一个局域网环境。
2.虚拟机设置
虚拟机网络连接方式
-
桥接模式,在这种模式下,虚拟机相当于与所在物理机同一IP段的独立计算机,与局域网内的其他计算机是没有区别的。
-
NAT模式,这种模式下,虚拟机与所在的物理机单独组成了一个新的局域网,他们共享接入物理机的IP段。
-
仅主机模式,在这种模式下,物理机下所属的所有虚拟机共同组成一个局域网,他们与物理机之间是断开的,也就是说物理机和虚拟机之间是无法访问的。
思路
-
如果局域网想要访问虚拟机的CentOS服务器,基本上有两种思路,一种是将虚拟机的网络设置成桥接模式,因为这时候,虚拟机相当于所在物理机同一IP段内的独立计算机,同在局域网内的其他机器当然可以访问虚拟机内的服务器。一般在虚拟机的设置里面找到网络设置,将其改为桥接模式,借助虚拟机的IP就可实现访问,但访问速度会很慢。(这种方法我没有试过,具体慢不慢或有多慢不清楚。)
-
另外一种方式就是将虚拟机的网络连接设置成NAT模式。将虚拟的网络模式设置成NAT模式后,如下图所示。需要注意的是,与计算机A所在同一个局域网内的其他物理机(计算机B)是无法访问虚拟机中的服务器的。因为计算机A和虚拟机构建了一个新的局域网络,因此只有计算机A和虚拟机之间能够互相通信。对于计算机B来说,相对于他们新组的局域网,属于外网。这时候,还需要在计算机A中对其端口进行映射,将不同的端口映射到虚拟机中不同的服务器上。以达到通过访问不同的端口访问虚拟机中不同服务器的目的。这个过程与局域网中利用路由器对其中某个IP端口进行映射的原理是一样的。
这里选用NAT模式
虚拟机NAT配置端口转发
选择【编辑】-》【虚拟网络编辑器】进入页面
点击【更改设置】-》选择NAT模式-》【NAT设置】进入页面
点击【端口转发】-》【添加】,输入相关信息,点击【确定】保存端口转发配置。可根据自己的实际情况做多个配置。
主机端口: 101
类型: TCP
虚拟机IP: 192.168.74.101
虚拟机端口: 22
描述: CentOS101
设置宿主机防火墙入站规则
在宿主机(计算机A)中【控制面板】-》【系统安全】-》【防火墙】-》【高级设置】-》【入站规则】
选择【端口】-》【下一步】
选择【TCP】-》【特定本地端口】-》【下一步】
【允许链接】-》【下一步】
【下一步】
点击【完成】,入站规则就配置好了
虚拟机防火墙关闭
systemctl stop firewalld.service // 停止firewalld服务
systemctl disable firewalld.service // 开机禁用firewalld服务
iptables -L //列出所有iptables规则
配置SELinux
vi /etc/sysconfig/selinux //编辑selinux文件
SELINUX=disabled //把文件中的SELINUX=enforcing 改成 SELINUX=disabled 即可
sestatus //查看SELinux状态
3.链接测试
在计算机B上进行链接测试,打开Xshell 配置端口、IP
ping 计算机B 的 IP