Proxy-Go 内网穿透

女生的网名这么多〃 提交于 2020-08-11 03:56:26

goproxy

curl -L http://mirrors.host900.com:9090/snail007/goproxy/install_auto.sh | bash

web面板

curl -L http://mirrors.host900.com:9090/snail007/proxy_admin_free/install_auto.sh | bash

 

两个独立的东西

前提条件: 需要一台有公网IP的服务器
实现效果: 将公网服务器的一个端口映射本地的一个端口,如服务器为1.1.1.1, 将服务器的8888端口映射到本地80端口, 然后浏览器访问http://1.1.1.1:8888即可打开本地的站点, 对于开发需要公网访问的第三方接口特别方便
原理说明:内网穿透由三部分组成:client端,server端,bridge端;
client和server主动连接bridge端进行桥接. 当用户访问server端,流程是:

1、首先server端主动和bridge端建立连接;
2、然后bridge端通知client端连接bridge端和目标端口;
3、然后client端绑定“client端到bridge端”和“client端到目标端口”的连接;
4、然后bridge端把“client过来的连接”与“server端过来的连接”绑定;
5、整个通道建立完成;

1.png

创建目录

mkdir /root/proxy

##创建proxy的公钥和私钥文件

[root@kangcw proxy]#proxy keygen -C proxy
[root@kangcw proxy]# ll
total 8
-rwxr-xr-x 1 root root 1184 Jun 17 23:54 proxy.crt
-rwxr-xr-x 1 root root 1675 Jun 17 23:54 proxy.key

建立映射

[root@kangcw proxy] proxy bridge -p ":9999" -C /root/proxy/proxy.crt -K /root/proxy/proxy.key --daemon
[root@kangcw proxy] proxy server -r ":8888@:80" -P "111.230.144.247:9999" -C /root/proxy/proxy.crt -K /root/proxy/proxy.key --daemon

#说明首先建立一个bridge 端口为9999 然后server主动连接这个bridge 9999端口 并侦听8888端口和内网80端口绑定

查看公网服务监听端口

[root@kangcw proxy]# netstat -antlp |grep -E :9999\|:8888 |grep LISTEN
tcp6       0      0 :::8888                 :::*                    LISTEN      25399/proxy         
tcp6       0      0 :::9999                 :::*                    LISTEN      25135/proxy   

客户端使用我是用的是window主机 

不同的系统去github找不同的客户端包

地址https://github.com/snail007/goproxy/releases

首先要把/root/proxy下的秘钥文件拷贝到客户端


E:\proxy>E:\proxy-windows-amd64\proxy.exe client -P 1.1.1.1:9999 -T tls
-C  E:\proxy\proxy.crt -K E:\proxy\proxy.key
proxy free version 9.7  by snail , email : arraykeys@gmail.com
2020/06/18 00:02:48 use tls parent 111.230.144.247:9999
2020/06/18 00:02:48 client started
2020/06/18 00:02:48 session worker[1] started
2020/06/18 00:02:48 session worker[2] started
2020/06/18 00:02:48 session worker[3] started
2020/06/18 00:02:48 session worker[4] started
2020/06/18 00:02:48 session worker[5] started
2020/06/18 00:02:48 session worker[6] started
2020/06/18 00:02:48 session worker[7] started
2020/06/18 00:02:49 session worker[8] started
2020/06/18 00:02:49 session worker[9] started
2020/06/18 00:02:49 session worker[10] started

这样就打通了访问公网IP 1.1.1.1:8888 就会转发到内网 192.168.199.100:80端口上

测试效果如下

 

这个软件强大的更多功能等我有空逐一测试

 

https://github.com/snail007/goproxy/wiki/%E4%BD%BF%E7%94%A8goproxy%E5%AE%9E%E7%8E%B0%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!