美文网首页
从外网访问局域网,反向代理+正向代理

从外网访问局域网,反向代理+正向代理

作者: Anzhi安之 | 来源:发表于2020-05-07 17:38 被阅读0次

    需要设备

    设备 IP 用户名 备注
    树莓派 192.168.xxx.xxx pi 在局域网中,需在同一网段才可访问
    服务器【阿里云】 47.100.xxx.xxx team 在公网中,任意设备可以通过IP访问
    PC 可以直接访问服务器,无法直接访问树莓派

    解决的问题

    需要解决的问题是通过PC访问不在同一网段内的树莓派

    首先PC是无法直接访问树莓派的,因为两个设备不在同一网段,但是树莓派和PC都可访问阿里云服务器,那么我们可以将阿里云服务器作为跳板,通过反向代理+正向代理的方法,使PC和树莓派实现间接访问。

    解决方案

    通过SSH的反向代理和正向代理,只需简单的三步就可实现外网访问局域网。

    1. 树莓派上做反向代理,使阿里云可以反向访问树莓派。
    2. 阿里云上做正向代理,用作本地端口转发,使公网IP映射到本地IP。
    3. PC通过SSH连接树莓派

    环境需求

    所有设备需安装SSH客户端(目前Windows,MAC,Linux系统一般都自带SSH客户端,如需安装可自行百度)

    SSH参数解释

    -f 后台运行
    -C 允许压缩数据
    -N 不执行任何命令
    -R 将端口绑定到远程服务器,反向代理
    -L 将端口绑定到本地客户端,正向代理
    

    实际步骤

    1. 树莓派上操作,建立树莓派到阿里云的反向代理。

      port为阿里云服务器开放的端口【范围在4711~4811】

      $ ssh -fCNR port:localhost:22 team@47.100.xxx.xxx
      

      根据提示输入密码。

      完成阿里云与树莓派上的【port】端口与22端口绑定。

    2. 阿里云上操作,做这一步是因为绑定后的端口只支持本地访问,还不支持通过公网IP访问。

      $ ssh -fCNL "*:port:localhost:port" localhost
      

      根据提示输入密码。

      将公网IP映射到本地IP,现在可以通过公网访问树莓派了。

    3. 在PC上操作,使用SSH从PC间接访问到树莓派。

      用户名为树莓派用户名

      IP为阿里云服务器IP

      $ ssh -p port pi@47.100.xxx.xxx
      

      根据提示输入密码。

      至此我们已经解决了PC访问不在同一网段内的树莓派的问题。

    相关文章

      网友评论

          本文标题:从外网访问局域网,反向代理+正向代理

          本文链接:https://www.haomeiwen.com/subject/rdzaghtx.html