DNSLog平台搭建
0x01 前言
搭建一个DNSLog平台需要准备以下:
- 购买一个合法域名
- 具有公网IP的服务器
我使用的是阿里云ECS服务器(Linux)、阿里云域名解析服务,其他平台类似。
我们都知道DNS就是将域名解析为ip,用户在浏览器上输入一个域名A.com,
就要靠DNS服务器将A.com解析到它的真实ip127.0.0.1,
这样就可以访问127.0.0.1服务器上的相应服务。
DNSlog就是存储在DNS服务器上的域名信息,
它记录着用户对域名 www.baidu.com 等的访问信息,类似日志文件。
0x02 域名解析配置
- 首先在域名解析中添加一条
A记录
,记录值为服务器公网IP:
- 创建
NS记录
,记录值为上一步创建的A记录:
- 在域名控制台设置
自定义DNS Host
,创建DNS服务器:
0x03 云服务器配置
- 下载DNSLog平台到服务器
在服务器中输入
1 | wget https://github.com/lanyi1998/DNSlog-GO/releases/download/1.5.2/DNSlog-GO-linux.zip |
- 解压
1 | unzip DNSlog-GO-linux.zip |
- 进入目录后使用
screen
保证DNSLog平台可以在后台运行
1 | 没有安装screen可以通过包管理器安装,已安装则跳过 |
- 创建新的
screen
,使用该命令后会自动进入该screen:
1 | screen -S dnslog |
- 修改配置文件
config.yaml
:
1 | HTTP: |
- 启动DNSLog平台:
1 | sudo chmod +x ./main |
- 在ECS服务器控制台->安全组,开放53(UDP)和8000(TCP)端口。
- 浏览器输入IP:8000进入DNSLog平台,根据提示输入设置的token
password
即可进入。
0x04 Nginx配置(可选)
由于本人不喜欢通过IP+端口
或者域名+端口
的方式访问页面,我一般通过Nginx的方向代理转发端口,这样做的好处是不需要在在ECS服务器控制台->安全组
开放8000
端口,在访问的时候不需要记住端口号,也不怕被人扫端口。
- Nginx配置:
1 | server { |
在域名云解析DNS中添加一条
A记录
:dns.q1jun.cn
作为访问DNSLog平台的域名。重启nginx
1 | nginx -s reload |
搭建成功:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 q1jun's Blog!
评论