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 域名解析配置

  1. 首先在域名解析中添加一条A记录,记录值为服务器公网IP:

CentOS easyn2n服务器部署 centos syslog服务器搭建_服务器

  1. 创建NS记录,记录值为上一步创建的A记录:

CentOS easyn2n服务器部署 centos syslog服务器搭建_CentOS easyn2n服务器部署_02

  1. 在域名控制台设置自定义DNS Host,创建DNS服务器:

CentOS easyn2n服务器部署 centos syslog服务器搭建_CentOS easyn2n服务器部署_03

0x03 云服务器配置

  1. 下载DNSLog平台到服务器

GitHub地址: https://github.com/lanyi1998/DNSlog-GO.git

在服务器中输入

wget https://github.com/lanyi1998/DNSlog-GO/releases/download/1.5.2/DNSlog-GO-linux.zip
  1. 解压
unzip DNSlog-GO-linux.zip
  1. 进入目录后使用screen保证DNSLog平台可以在后台运行
# 没有安装screen可以通过包管理器安装,已安装则跳过
yum install screen #Centos
apt-get install screen #Ubuntu
  1. 创建新的screen,使用该命令后会自动进入该screen:
screen -S dnslog
  1. 修改配置文件config.yaml
HTTP:
  port: 8000
  #{"token":"用户对应子域名"}
  user: { "password": "dnslog" }
  consoleDisable: false
Dns:
  domain: q1jun.cn
  1. 启动DNSLog平台:
sudo chmod +x ./main
./main
  1. 在ECS服务器控制台->安全组,开放53(UDP)和8000(TCP)端口。
  2. 浏览器输入IP:8000进入DNSLog平台,根据提示输入设置的tokenpassword即可进入。

0x04 Nginx配置(可选)

由于本人不喜欢通过IP+端口或者域名+端口的方式访问页面,我一般通过Nginx的方向代理转发端口,这样做的好处是不需要在在ECS服务器控制台->安全组开放8000端口,在访问的时候不需要记住端口号,也不怕被人扫端口。


  1. Nginx配置:
server {
    listen       80;
    server_name  dns.q1jun.cn; #新建的A记录
    access_log  /var/log/nginx/dnslog.access.log  main;
    root /usr/share/nginx/html;
    location / {
    	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    	proxy_set_header Host $http_host;
    	proxy_redirect off;
    	proxy_pass http://127.0.0.1:8000; #转发端口

    	# 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
    	client_max_body_size 20000m;
    }
    error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
  1. 在域名云解析DNS中添加一条A记录:dns.q1jun.cn作为访问DNSLog平台的域名。
  2. 重启nginx
nginx -s reload

搭建成功:

CentOS easyn2n服务器部署 centos syslog服务器搭建_nginx_04