作者:PiKa丘_Leo(社区72群)
注意:本文未经授权禁止转载至其他媒体平台
写在前面
- 本文介绍通过Lucky DDNS 进行反向代理时,无法经过雷池WAF导致无流量、测试攻击无效等问题
- 本期教程文档较长,请耐心紧跟步骤看完!本期教程仅适用于
Ubuntu
系统- Windows请自测!如果你的Windows部署了
Docker
环境,原理上步骤是一致的,若有任何报错请退出本教程- 本期文档将提供解决
Lucky DDNS
反代雷池教程,若你未部署Docker
,请自行部署- 本期文档仅提供
Docker
部署方案,如果用openwrt/istore部署,支持Docker
部署的,可参考本文档
1.1 注意事项
- 本文中出现的红色高亮标签都是
重点
- 本文中出现的ip是指安装目标主机的
ip地址
,并不是当前主机的ip地址
- 请确保家庭带宽有
ipv4公网
或ipv6公网
,如果不清楚的建议向装维师傅或运营商咨询业务经理 - 云服务器根据实际情况调整
ipv4公网ip
1.2 小白请阅读以下网络基础理论
-
localhost 是一种特殊的域名
localhost
它并不是IP,而是一种特殊的域名(没有后缀),默认的情况下它解析到的是本地IP的127.0.0.1
,主要通过本机的host文件
进行管理,如果你愿意,也可以把localhost
域名解析到某个公网IP上去 -
127.0.0.1 是一种本机保留的私有IP
127.0.0.1
它是一个私有IP,代表的就是你的本机环回地址,其实本质上是绑定在虚拟网卡(loopback)上的IP -
localhost 、127.0.0.1、本机IP的区别
localhost
和127.0.0.1
并不需要联网访问,即使在无网络环境下访问这两者都能找到本机localhost
是域名,默认是指向127.0.0.1
的
-
本机IP中的有线网IP和无线网IP都是需要联网后才能正常分配和访问的,它们是本机对外开放的IP地址。
1.3 硬件环境
- Intel® Core™ i5-6300U
- Ubuntu 24.04.1 LTS
- 安装环境:Docker(请确定你的Ubuntu系统是64位系统)
1.5 硬性要求
必须有稳定域名,不要使用免费域名,同时请确保你已申请并下发 SSL 证书,Lucky DDNS
和雷池WAF
都可以申请SSL证书【这里不赘述,请自行在Lucky或雷池WAF的控制台查看相关手册】
2.1 部署Lucky
-
嫌
Docker
部署麻烦的也可以用一键脚本,作者不保证在ubuntu
能起作用(因此在此不提供一键脚本),推荐使用Docker
部署 -
如果你已部署Lucky 可以跳过此步骤 直接看2.5
注:通常使用第一个命令即可,除非你对
Docker
搭建非常熟悉,可以自定义并操作第三步,否则请你使用第一个命令!
host 模式
同时支持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
2.2 打开 Lucky
地址栏输入ip:16601
并登录,账号密码都是666
配置动态域名
相关的教程在添加任务里有文档,这里就不多说
域名配置成功后,是这样子的。如有报错请检查你路由器的防火墙
或旁路由的防火墙
2.3 打开 Web 服务
添加域名后打开 Web 服务
此步骤一定要跟随脚步!
2.5 添加Web服务规则
- 云服务器已备案的,需使用443端口
2.6 添加子规则(默认规则不管)
- 子规则名称(随便写,你自己知道就好)
- 服务类型选择反向代理
- 前端地址填写子域名
注:主域名是:xxx.cn
,子域名就是abc.xxx.cn
(这一步请注意,你的子域名一定要和动态域名里的子域名是一致的,否则配置失败) - 后端地址填刚刚你写的端口号,而不是你的源站(例:
http://127.0.0.1:端口号
)
- 请注意
127.0.0.1
是指代表的就是你的本机环回地址而不是你的目标主机的ip地址,如果你担心配置不准,建议你使用目标主机ip:端口
- 云服务器填
公网ip:端口
地址
-
请注意后端地址的是
http://
不是 https:// -
后端地址不要抄我的,请以你实际ip为准!请以你实际ip为准!
配置Web 服务成功后无报错是这样的⬇️
2.7 添加配置重定向
- 监听类型和Web服务规则一致(同理有v4公网的tcp4要打开)
- 监听端口和Web服务规则一致(刚刚配置的端口号)
- 服务类型选择
重定向
- 默认目标地址填写
https://{host}:9443
这里的9443指向的是雷池WAF
配置重定向成功后无报错是这样的 ⬇️
至此Lucky部署已经结束,先确认通过域名
在局域网/外网中正常访问网站
无法访问的,请检查相关配置是否有报错,随后检查主路由
防火墙规则(前提路由器支持此功能)或临时关闭主路由
防火墙进行测试
-
以华硕TUF GAMING 小旋风路由器为例
-
通过
域名
在局域网/外网中正常访问网站,恭喜你!进入最后一个环节!
3.1 雷池WAF配置步骤
- 打开雷池WAF控制台 地址栏输入
IP:9443
- 打开防护站点-站点管理-添加站点
图上所示
源站
指已部署的服务(例:alist),alist的源站是IP:5244
的,那你就填IP:5244
- 打开防护站点-全局配置
图上指示
目前Lucky部署与雷池的配置所有工作都已经完成。接下来进行模拟攻击测试
测试
- 输入你的
子域名:端口
,优先测试
网站是否能正常访问 - 能正常访问网站在
xxx.cn/
的/
后面添加上雷池的攻击测试 - 模拟 SQL 注入攻击:
https://xxx.cn/?id=1+and+1=2+union+select+1
- 模拟 XSS 攻击:
https://xxx.cn/?id=<img+src=x+onerror=alert()>
- 模拟路径穿越攻击:
https://xxx.cn/?id=../../../../etc/passwd
- 模拟代码注入攻击:
https://xxx.cn/?id=phpinfo();system('id')
- 模拟 XXE 攻击:
https://xxx.cn/?id=<?xml+version="1.0"?><!DOCTYPE+foo+SYSTEM+"">
电脑端域名内网测试
手机端域名测试 临时关闭主路由的防火墙
- 测试时需要用
移动流量
,不能用WiFi
回去查看日志就能看到拦截日志了!!!
请注意!!在防护配置-自定义规则,请暂时 不要添加仅允许国内IP地址访问规则
此规则会导致你无法访问你的网站(截止发稿前还不能确认是什么原因导致的,如果有开启后仍能在国内访问的,欢迎72群讨论心得)
最后!如果后台无法看到30天内访问量的,请检查路由器或旁路由(前提是你有)的防火墙,尝试关闭防火墙进行测试是否有访问量
本作者极其不推荐关闭路由器防火墙,家庭网络将会完全暴露在v4/v6公网之中,是非常危险的行为
5.1 关于备案
- 使用国内节点的云服务器,请按照服务商的备案要求进行备案
- 在家自建服务器,请向运营商咨询是否需要备案,而不是域名服务商咨询
- 作者是中国电信,自建服务器无需备案,作者在广东,由于地区不同而有不同情况,其他地区请自行咨询装维师傅或运营商业务经理
6.1 最后
全部的配置部署成功后,局域网可以以子域名:端口号
正常访问后,外网无法访问的,请尝试以下方法:
- 关闭
主路由
防火墙,若能访问打开防火墙,并添加规则(前提路由器有该功能) - 以华硕TUF GAMING 小旋风路由器为例
- 各厂商的路由器防火墙规则都不同 请以实际情况操作
- 使用华为路由器或其他品牌,建议更换华硕或小米路由器,
因为华为路由器没有单独的v4/v6防火墙规则
,必须完全关闭防火墙才可访问 - 小米路由器请自行搜索怎么单独开启v4/v6防火墙
- 个人自建服务器的,不要大范围公开使用,否则运营商可能会取消你的公网资格,情节严重会触犯国家法律,请一定要遵守国家法律法规,规范合理合法合规使用
- 至此你的网站已经得到雷池WAF的保护
- 希望教程能帮助到你,如有不懂或步骤有问题,欢迎到72群讨论