局域网内访问子网服务(访问电脑虚拟机中的服务)

局域网内访问子网服务

问题描述:

同一个路由器(172.18.0.0)下面有两台电脑A(172.18.40.45)和B (172.18.44.173) ,在B电脑上安装虚拟机 ,使用NAT网络连接

网段为 192.168.142.0 ,然后在虚拟机1上部署一个nginx,端口为80。

目的:想在A电脑的浏览器上访问B电脑虚拟机1上的nginx

![在这里插入图片描述]( https://img-blog.csdnimg.cn/dfb5674cb8784b52b248f955d3c363a0.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWHXpmaLnlJ8=,size_20,color_FFFFFF,t_70,g_se,x_16)

方案:

首先两台电脑是在一个网络中,是可以互通的。然后,这个问题类似在公网上访问公司内网中的服务器,可以通过NAT Server 方式做端口映射(具体NAT Server知道请自行百度)

NetshGui管理工具 Github地址

步骤:

  1. 在电脑B上配置端口映射,让指定端口的请求转发到指定虚拟机端口,我的电脑B是win10系统,可以直接使用系统自带的端口转发服务,配置命令如下:

    ## 以下命令都需要使用管理员权限执行
    ## 添加监听端口
    netsh interface portproxy add v4tov4 listenport=80 connectaddress=192.168.142.128 connectport=80
    netsh interface portproxy add v4tov4 listenaddress=172.18.44.173 listenport=80 connectaddress=192.168.142.128 connectport=80
    ## 查看监听的端口
    netsh interface portproxy show all
     ## 删除监听端口
    netsh interface portproxy delete v4tov4  listenaddress=172.18.44.173 listenport=80
    

    ​ ![]( https://img-blog.csdnimg.cn/f6311753e2274043a9bc5cc042ef3f20.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWHXpmaLnlJ8=,size_20,color_FFFFFF,t_70,g_se,x_16)

    如上 172.18.44.173:80 这个端口的请求都会转发到192.168.142.128:80

  2. 配置电脑B的防火墙

    步骤:入站规则>新建规则>自定义>所有程序>所有端口>配置可以连接的IP>允许连接>所有网络都勾选上(默认)>输入规则名称==>完成

    ​ ![]( https://img-blog.csdnimg.cn/4a56cd1e01e54405ba1d5423e5a20a71.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWHXpmaLnlJ8=,size_20,color_FFFFFF,t_70,g_se,x_16)

    ![]( https://img-blog.csdnimg.cn/89f7db42612f4113b302831224bb6719.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWHXpmaLnlJ8=,size_20,color_FFFFFF,t_70,g_se,x_16)

    ![]( https://img-blog.csdnimg.cn/3325256d10e34cac86432b48c63b1bdb.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWHXpmaLnlJ8=,size_20,color_FFFFFF,t_70,g_se,x_16)

    ![]( https://img-blog.csdnimg.cn/003db192763a41fbaefe18473dbce0b8.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWHXpmaLnlJ8=,size_20,color_FFFFFF,t_70,g_se,x_16)

  3. 在电脑B的虚拟机1中开启Nginx服务,开放80端口且在电脑B物理机是访问正常

    ![]( https://img-blog.csdnimg.cn/ee533029919a487b8d3fa4218ba2488f.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWHXpmaLnlJ8=,size_20,color_FFFFFF,t_70,g_se,x_16)

  4. 在电脑A的浏览器中访问

    ![]( https://img-blog.csdnimg.cn/fab288fa5c4949478b4daf844228b309.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWHXpmaLnlJ8=,size_20,color_FFFFFF,t_70,g_se,x_16)

  5. 大功告成!!!

posted @ 2022-06-10 10:59  菜阿  阅读(549)  评论(0)    收藏  举报