发布于 3 个月前
发布于 3 个月前
PiKa丘_Leo
更新于 3 个月前
3
0
作者:PiKa丘_Leo(社区72群)
注意:本文未经授权禁止转载至其他媒体平台
- 本文介绍通过Lucky DDNS 进行反向代理时,无法经过雷池WAF导致无流量、测试攻击无效等问题
- 本期教程文档较长,请耐心紧跟步骤看完!本期教程仅适用于
Ubuntu
系统- Windows请自测!如果你的Windows部署了
Docker
环境,原理上步骤是一致的,若有任何报错请退出本教程- 本期文档将提供解决
Lucky DDNS
反代雷池教程,若你未部署Docker
,请自行部署- 本期文档仅提供
Docker
部署方案,如果用openwrt/istore部署,支持Docker
部署的,可参考本文档
重点
ip地址
,并不是当前主机的ip地址
ipv4公网
或ipv6公网
,如果不清楚的建议向装维师傅或运营商咨询业务经理ipv4公网ip
localhost
它并不是IP,而是一种特殊的域名(没有后缀),默认的情况下它解析到的是本地IP的127.0.0.1
,主要通过本机的host文件
进行管理,如果你愿意,也可以把localhost
域名解析到某个公网IP上去127.0.0.1
它是一个私有IP,代表的就是你的本机环回地址,其实本质上是绑定在虚拟网卡(loopback)上的IPlocalhost
和127.0.0.1
并不需要联网访问,即使在无网络环境下访问这两者都能找到本机localhost
是域名,默认是指向127.0.0.1
的必须有稳定域名,不要使用免费域名,同时请确保你已申请并下发 SSL 证书,Lucky DDNS
和雷池WAF
都可以申请SSL证书【这里不赘述,请自行在Lucky或雷池WAF的控制台查看相关手册】
嫌 Docker
部署麻烦的也可以用一键脚本,作者不保证在 ubuntu
能起作用(因此在此不提供一键脚本),推荐使用 Docker
部署
如果你已部署Lucky 可以跳过此步骤 直接看2.5
注:通常使用第一个命令即可,除非你对
Docker
搭建非常熟悉,可以自定义并操作第三步,否则请你使用第一个命令!
同时支持IPv4/IPv6, Liunx系统推荐(正常用此命令即可)
Windows系统不要使用
1docker run -d --name lucky --restart=always --net=host gdy666/lucky
只支持IPv4, Windows不推荐使用docker版本
1docker run -d --name lucky --restart=always -p 16601:16601 gdy666/lucky
挂载主机目录删除容器后配置不会丢失。可替换
/root/luckyconf
为主机目录, 配置文件为lucky.conf
1docker run -d --name lucky --restart=always --net=host -v /root/luckyconf:/goodluck gdy666/lucky
地址栏输入ip:16601
并登录,账号密码都是666
相关的教程在添加任务里有文档,这里就不多说
域名配置成功后,是这样子的。如有报错请检查你路由器的防火墙
或旁路由的防火墙
添加域名后打开 Web 服务
此步骤一定要跟随脚步!
xxx.cn
,子域名就是abc.xxx.cn
(这一步请注意,你的子域名一定要和动态域名里的子域名是一致的,否则配置失败)http://127.0.0.1:端口号
)
- 请注意
127.0.0.1
是指代表的就是你的本机环回地址而不是你的目标主机的ip地址,如果你担心配置不准,建议你使用目标主机ip:端口
- 云服务器填
公网ip:端口
地址
请注意后端地址的是 http://
不是 https://
后端地址不要抄我的,请以你实际ip为准!请以你实际ip为准!
配置Web 服务成功后无报错是这样的⬇️
重定向
https://{host}:9443
这里的9443指向的是雷池WAF
配置重定向成功后无报错是这样的 ⬇️
域名
在局域网/外网中正常访问网站主路由
防火墙规则(前提路由器支持此功能)或临时关闭主路由
防火墙进行测试以华硕TUF GAMING 小旋风路由器为例
通过域名
在局域网/外网中正常访问网站,恭喜你!进入最后一个环节!
IP:9443
图上所示
源站
指已部署的服务(例:alist),alist的源站是IP:5244
的,那你就填IP:5244
图上指示
子域名:端口
,优先测试
网站是否能正常访问xxx.cn/
的 /
后面添加上雷池的攻击测试https://xxx.cn/?id=1+and+1=2+union+select+1
https://xxx.cn/?id=<img+src=x+onerror=alert()>
https://xxx.cn/?id=../../../../etc/passwd
https://xxx.cn/?id=phpinfo();system('id')
https://xxx.cn/?id=<?xml+version="1.0"?><!DOCTYPE+foo+SYSTEM+"">
临时关闭主路由的防火墙
移动流量
,不能用WiFi
回去查看日志就能看到拦截日志了!!!
请注意!!在防护配置-自定义规则,请暂时 不要添加仅允许国内IP地址访问规则
此规则会导致你无法访问你的网站(截止发稿前还不能确认是什么原因导致的,如果有开启后仍能在国内访问的,欢迎72群讨论心得)
最后!如果后台无法看到30天内访问量的,请检查路由器或旁路由(前提是你有)的防火墙,尝试关闭防火墙进行测试是否有访问量
本作者极其不推荐关闭路由器防火墙,家庭网络将会完全暴露在v4/v6公网之中,是非常危险的行为
全部的配置部署成功后,局域网可以以子域名:端口号
正常访问后,外网无法访问的,请尝试以下方法:
主路由
防火墙,若能访问打开防火墙,并添加规则(前提路由器有该功能)因为华为路由器没有单独的v4/v6防火墙规则
,必须完全关闭防火墙才可访问PiKa丘_Leo
更新于 3 个月前
0
0
自己抢沙发
🐳
更新于 3 个月前
支持。
ゅ多云转晴🌥
更新于 2 个月前
必须要支持,感谢大佬分享技术。祝你年入千万!!!
熊大,光头强又来砍树了
更新于 3 个月前
0
0
很详细,支持一下
PiKa丘_Leo
更新于 3 个月前
谢谢
spark
更新于 2 个月前
0
0
楼主好
我不理解几个地方,请教一下:
目标主机是什么?我理解为雷池所在主机
web服务子规则的反向代理上游配置的是哪里?
文章里提到 “后端地址填刚刚你写的端口号,而不是你的源站”,结合后面雷池配置部分,可以理解为雷池的监听地址
重定向里配置了什么?
文章中提到 “监听端口和Web服务规则一致(刚刚配置的端口号)”,结合前面配置的web服务规则,同一个端口怎么配置两个web服务规则?重定向到雷池的的管理端口9443是为了什么?我理解大概是lucky的非tls端口重定向到开启了tls的端口
总体上我自己的理解,是lucky反向代理雷池,雷池反向代理到实际服务(例如alist),
可以参考如下方式:
这样可以使用lcuky上的泛域名证书,缺点是不能在lucky上看到每个域名的上下行数据量
不过如果想看保留lucky上每个域名的上下行数据量,那就将对应域名的字规则配置出来(反向代理)
PiKa丘_Leo
更新于 2 个月前
1 目标主机例如你的服务是在a主机 你的雷池搭建在B主机 那么你配置就要写目标主机
2 你的理解是对的 lucky你写的是什么端口 后端也照写 雷池的监听端口也写 lucky你所写的端口
3 不重定向的话 就无法走雷池监控
还是不懂的话 直接来72群吧 我已经帮一个人解决了 他的问题跟你差不多
mr.K
更新于 1 个月前
楼主你好
根据这位网友的问题,我也想详细请教下:
1.如果雷池和lucky都是在同一个主机上,那lucky监听的端口在雷池配置时会显示已使用,例如lucky监听12345
2.雷池防护站点给的端口从哪里获得?
3.让lucky只负责域名解析和SSL申请,直接由雷池负责反向代理到应用是否更简单,效果是一样吗?
谢谢!
PiKa丘_Leo
更新于 1 个月前
1,2 如果是同一个主机上的话 你先在雷池里填好端口地址 然后去lucky 那边填上你刚刚的端口号 虽然这样会lucky报错 但是需要按照我文档设定重定向就好了
3.不需要 直接给lucky托管 DDNS 然后让雷池负责SSL
spark
更新于 25 天前
我理解,还是要从原理来了解整个链路才好配置的。
这样做,你通过https://域名:8080 访问 lucky,并做攻击测试,流量会走雷池,并被监测
至于重定向不用处理,因为本来你也不能对公网暴露80,进而往443重定向,当然这个个诉求,那么前面说的lucky开https 443端口,开http 80端口
lucky上配置 http协议的80端口重定向到lucky的443端口就行了,你在局域网模拟一下效果,就是如下
用户输入的http://域名 会自动改成https://域名, 和用户直接输入https://域名 是一样的效果
重定向的效果是发302给用户的浏览器,引发用户浏览器地址栏变化并重新向服务端发起请求
l
更新于 2 个月前
0
0
你好,博主,碰到一点问题,可以咨询一下吗?
Lucky重定向日志显示为空,雷池不生效
海底捞在逃牛丸
更新于 1 个月前
0
0
深度好文!
Fivemoons
更新于 1 个月前
0
0
深度好文!
介質
更新于 1 个月前
0
0
lucky 监听端口:8185
反向代理 alist.xxx.xxx 后端地址 http://192.168.15.1:8585
编辑站点 alist.xxx.xxx * 端口:8585
上游服务器 http://192.168.15.1:5244
是这样吗?大佬
spark
更新于 25 天前
lucky的8185开tls
https://alist.xxx.xxx:8185 反向代理到 http://192.168.15.1:8081
雷池配置添加应用
这样,你访问https://alist.xxx.xxx:8185,就会被反向代理到 http://192.168.15.1:8081
而到这个地方的请求,是会携带alist.xxx.xxx域名的,
因此雷池可以识别到这个域名,进而匹配到前面添加的应用,再次反向代理http://192.168.15.1:5244
最终你就通过访问https://alist.xxx.xxx:8185,访问了alist,且中间经过了雷池
介質
更新于 24 天前
感谢大佬解答!
Jsy
更新于 21 天前
0
0
比如我的链路是这样
1、在一个固定内网IP上有一个旁路由,上面进行 DDNS 一个域名,旁路由和主路由直连,可以确保 DDNS 正确
2、主路由上端口映射 10086 -> 群晖内网的固定IP的一个端口号(如 10085)
3、在另外一个内网固定IP 上 部署群晖,同时在群晖上使用 docker 部署 雷池,同时解除群晖的 80 443 端口。雷池是用的全部默认的配置,管理平台使用自签名的 SSL 证书来支持 https 访问
4、雷池监听主路由映射的固定端口号(10085),同时配置 SSL(不配置也试过 也是不走雷池) ,同时代理到群晖的 docker 的一个服务上(用的是 http)
以上步骤完成后,外网使用 域名 + 端口映射端口(10086) 可以访问服务,但是流量不走雷池。并且如果雷池对应的取消监听代理,外网不能访问对应的服务。
请问一下大佬,我这个网络拓扑图下,哪里配置出问题了,为什么流量不走雷池