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、整个通道建立完成;
创建目录
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端口上
测试效果如下
这个软件强大的更多功能等我有空逐一测试
来源:oschina
链接:https://my.oschina.net/kcw/blog/4314971