robdns

A fast DNS server based on C10M principles

  • 所有者: robertdavidgraham/robdns
  • 平台:
  • 許可證:
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

robdns: infrastructure DNS server

This is a fast super-slave DNS server, designed to be constantly attacked
on the public Internet. The intent is to shield master servers that are
hidden behind firewalls. The key feature is a built-in custom TCP/IP stack
capable of handling millions of DNS queries-per-second per CPU core.

Currently, this tool is in a prototype stage. It parses records and
responds to queries on port 53, but it's missing key features such
as dynamic updates.

Building

The only dependency is libpcap-dev (or WinPcap).

Just type make to build the software on Linux, Mac OS X, and Windows
(MinGW).

The included XCode4 and VS10 projects should also work on Mac and
Windows respectively.

Running

The easiest way to test the server is to run on the comman-line with one
or more DNS zone-files, like so:

# robdns example.zone

This will start listening on the any IP address (v4 and v6) on port 53.
Zone-files are in the standard format, with a filename ending in .zone,
and starting with an SOA record.

To test that it's running, you can use the normal dig command.

$ dig chaos txt version.bind @localhost +short

You should get back the version string of robdns/1.

However, the above example is the slow way of running the software.
The intended use is to bypass the kernel's network stack using special
drivers like PF_RING. To run in this faster mode, install the drivers
and run with a command like the following:

# robdns example.zone dna0 192.168.1.222

In this example, the server will use it's own user-mode TCP/IP stack
instead. Currently, this benchmarks to about 1-million packets-per-second
for each CPU core.

Feature status

The following RR types have been implemented:

SOA, NS,
A, AAAA, PTR, CNAME,
SSHFP, LOC, TXT, SRV, SPF, HINFO, MX,
DNSKEY, NSEC, NSEC3, NSEC3PARAM, RRSIG, DS, TLSA,
EDNS0,

The following interfaces are supported:
sockets, libpcap, PF_RING

Authors

This tool created by Robert Graham:
email: robert_david_graham@yahoo.com
twitter: @ErrataRob

主要指標

概覽
名稱與所有者robertdavidgraham/robdns
主編程語言C
編程語言C (語言數: 4)
平台
許可證
所有者活动
創建於2013-09-23 03:21:03
推送於2015-12-09 21:33:12
最后一次提交2015-12-09 16:32:55
發布數0
用户参与
星數609
關注者數38
派生數87
提交數61
已啟用問題?
問題數10
打開的問題數9
拉請求數0
打開的拉請求數0
關閉的拉請求數1
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?