应用场景:
在工作或者学习中,我们和我们的团队都是处在一个局域网中的,为了某些业务,我们会在自己的本机安装虚拟机,比如我们会安装一台 linux 虚拟机作为服务器,在服务器上搭建对应的服务,这时候需要团队都能访问到你的虚拟机,但很明显,如果我们用的 NAT 模式的话,我们的虚拟机能够和我们的本机通信,也能和处在同一个网段的其他人的电脑通信,但是其他人可不能和我们的虚拟机通信,当然,这里聪明的小伙伴说了,把虚拟机的网络设置改为桥接不就可以了吗,改成桥接确实能解决我们的问题,但得有个前提,你的网段的 ip 地址得够用,比如说你们公司的人很多,都用的这个段的 ip 地址进行上网通信,那么我们改为桥接时候,桥接会占用我们我们网段的真实的 ip,可能会导致我们的 IP地址不够用的情况,但团队还得需要能访问到你虚拟机上的服务,那么这个时候,端口映射就派上用场了!
废话不多说,我们直接进行操作!
实验环境:
一台 linux 主机 (centos 7) ip: 192.168.2.128
我们先修改虚拟机的网络设置:
1.点击左上角的编辑--->虚拟网络适配器
2.点击更改设置
3.点击 NAT 模式-->NAT 设置
4.配置相应的端口
圈 1:填写的是你要转发的虚拟机的端口,我这,里就以转发 22 端口来举例,
圈 2:填写的是你要转发的虚拟机的 NAT 的 ip 地址,
圈 3:填写的是你要把虚拟机的 22 端口转发到你的本机的哪个端口
类型选默认的 TCP 就行(这里选的是 tcp,在后面的防火墙规则那里也要选择 TCP)
描述自己随便写一点,能看懂自己配置的这条端口转发规则就行
配置防火墙规则:
如果你不想配置防火墙,那么你也可以把你的防火墙关了,但是不建议你这样做,因为关闭防火墙容易遭到攻击.
1.进入到控制面板中点击系统安全
2.点击高级设置
3.点击入站规则,再点击新建规则
4.点击端口-->下一页
这里的规则是 TCP,因为我们在虚拟机那边配置的也是 TCP,下面填写我们在虚拟机的网络适配器的端口,点击下一页
这里勾选允许连接-->下一页
这里默认三个都是对勾,不用管
这里的名称和描述自己写一点,避免我们到时候找不到我们配置的这条规则
关于 win 10 可能出现的问题
如果你是 win 10 系统,即使全部按照上边的操作,可能还是连接不上,那是因为:
win 10 系统默认不允许同一局域网中各用户之间进行连接(即同一局域网中的用户相互之间 ping 不通)
需要进行一下防火墙的设置
还是在防火墙的「高级设置」面板
在「入站规则」和「 出站规则」中打开以下选项
文件和打印机共享(回显请求-ICMPv4-….)
测试端口转发:
由于我们把虚拟机的 22 端口转发到了我们本地,所以我们只需在本地连接自己的 7896 端口就相当于我们 ssh 到了我们的虚拟机.
我们 win+R 打开 cmd 窗口(用其他第三方连接工具都可以,如 xshell finalshell 等等)
输入命令:
ssh huale@localhost -p 7896
可以看到我们已经成功进行了端口转发,执行 ip a 可以看到我们虚拟机的 ip 地址
命令解释
huale 是我虚拟机的用户
localhost:代表你的本地,或者用 127.0.0.1,或者用你的 ipconfig 看到的地址都可以进行登录
同理,当我们在 linux 虚拟机中,比如部署了 web 服务,这个时候,你的团队们只需要在他们自己的本机上的浏览器上访问你的 ip 地址加上你服务转发的端口就可以访问你部署的服务了!!!
创作不易,希望看到这里的友友们点个关注,后面有好的文章我也会第一时间分享在我的博客的哦!
标签:ip,虚拟机,端口,点击,转发,本机,我们,端口映射 From: https://blog.csdn.net/weixin_67729650/article/details/142643888