登录
首页 >  Golang >  Go问答

利用公共反向代理服务公开NAT后的客户端并访问互联网

来源:stackoverflow

时间:2024-02-13 10:12:21 469浏览 收藏

从现在开始,努力学习吧!本文《利用公共反向代理服务公开NAT后的客户端并访问互联网》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

我想了解通过公共服务器暴露 NAT 后面的客户端的理论,例如使用客户端作为代理(最好是 SOCKS5)。找到现成的解决方案是理想的选择,但理论上就足够了。

指出我的意思。 NAT 后面的客户端不直接侦听 TCP。它只是打开一个到公共服务器的 TCP 连接,该连接应该公开客户端。 NAT 后面的客户端上的 SOCKS5 代理不会直接暴露,因此拨打的 TCP 连接应该以某种方式表现得像 TCP 侦听器。

如果 NAT 后面的客户端连接到公共服务器,其他用户如何连接以及我应该如何转发请求?

我认为基本上这与 TeamViewer 使用的技术相同:

“建立会话时,TeamViewer 会确定最佳连接类型。通过我们的主服务器握手后,70% 的情况下会通过 UDP 或 TCP 建立直接连接(即使在标准网关、NAT 和防火墙后面) .其余连接通过 TCP 或 https 隧道通过我们高度冗余的路由器网络进行路由。您无需打开任何端口即可使用 TeamViewer。”

但是具体如何呢?


正确答案


总而言之,对于 golang 中的代理服务器,您必须

  1. 创建一个服务器来侦听带有某些参数的请求。
  2. 收到请求后,它将向所需地址发出请求。
  3. 然后它将响应返回给专用网络中的原始客户端。

本篇关于《利用公共反向代理服务公开NAT后的客户端并访问互联网》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>