前言
公网IP是个好东西,但是可遇而不可求,好在现在家宽IPv6已经广泛可用了,但是在外面不总是有IPv6环境的,你会说套一层Cloudflare做转换呀,但是有个局限就是只能用HTTP服务,那么有没有办法绕过这个限制,最大限度的薅Cloudflare的羊毛呢
当然有,那就是Chisel,Chisel是一个端口转发以及流量转换工具,能将TCP和UDP流量用WebSocket协议转发,关于Chisel教程可以参考我写的这篇 Chisel - 强大的端口转发和网络隧道工具
准备工作
Cloudflare配置
1、在Cloudflare的控制台配置地址解析,将你的域名解析到你的IPv6地址上
2、在SSl/TLS选项内选择源服务器,创建源服务器证书,将证书和密钥下载到内网服务器上,假设文件名为key.pem和cert.pem
3、然后在规则的Origin Rules中创建规则,将所有传入请求重写到11443
因为家宽的
443和80等端口一般是封锁的,所以只能换其他端口
内网服务配置
在内网服务器上安装Chisel,然后执行下面的命令:
chisel server -p 11443 --keepalive 10s --socks5 --reverse --auth 'user:password' --tls-key key.pem --tls-cert cert.pem
这里指定
Chisel的服务端口为11443,和上面Cloudflare中定义的规则一致
用户名密码'user:password'根据情况调整,客户端也要保持一致
Chisel教程参考这个:Chisel - 强大的端口转发和网络隧道工具
开始使用
现在假如你在外面,只需要在电脑上执行下面这个命令:
chisel client -v --auth 'user:password' https://你的域名:443 \
22:localhost:22 \
8080:localhost:8080
这里映射了一个
SSH端口和一个Web端口你的域名改成实际的域名地址
端口443是Cloudflare暴露的地址
然后在浏览器输入localhost:8080,即可访问内网服务器上的8080端口
执行ssh user@localhost,即可SSH连接到内网服务器
