一个轻量级但有用的代理dns服务器
simpledns的Python项目详细描述
一个轻量级但有用的代理dns服务器,设计用于处理complicated Internet environment在中国,灵感来自ChinaDNS,dnsmasq-chinadns和fqdns,由pythonTwisted提供支持。
要求
- python 2.7版
- 扭曲
- 使用TORNADO IOLOOP的TORNADO(可选)
安装
Linux/Mac OS X:
$ pip install simpledns
窗口
用法
在本地计算机上运行sudo simpledns。然后将DNS服务器设置为127.0.0.1。
$ dig www.twitter.com +short twitter.com. 199.59.149.230 199.59.148.10 199.59.150.7 199.59.150.39
注意,默认缓存生存期取决于dns应答的ttl。您可能希望使用–min ttl设置更大的ttl,以延长缓存生存期。
高级
$ simpledns -h usage: simpledns [-h] [-b BIND_ADDR] [-p BIND_PORT] [--upstream-ip UPSTREAM_IP] [--upstream-port UPSTREAM_PORT] [--query-timeout QUERY_TIMEOUT] [--min-ttl MIN_TTL] [--max-ttl MAX_TTL] [--cache-size CACHE_SIZE] [-t] [--hosts-file HOSTS_FILE] [--dispatch-conf DISPATCH_CONF] [-v {0,1,2}] [-q] [-V] A lightweight yet useful proxy DNS server optional arguments: -h, --help show this help message and exit -b BIND_ADDR, --bind-addr BIND_ADDR local address to listen -p BIND_PORT, --bind-port BIND_PORT local port to listen --upstream-ip UPSTREAM_IP upstream DNS server ip address --upstream-port UPSTREAM_PORT upstream DNS server port --query-timeout QUERY_TIMEOUT time before close port used for querying --min-ttl MIN_TTL the minimum time a record is held in cache --max-ttl MAX_TTL the maximum time a record is held in cache --cache-size CACHE_SIZE record cache size -t, --tcp-server enables TCP serving --hosts-file HOSTS_FILE hosts file --dispatch-conf DISPATCH_CONF URL dispatch conf file -v {0,1,2}, --verbosity {0,1,2} output verbosity -q, --quiet disable output -V, --version print version number and exit
配置
配置文件位于/usr/local/etc/simpledns/dispatch.conf。
dispatch conf文件使用与Dnsmasq中相同的规则。支持“地址”和“服务器”规则。
address=/example1.com/1.1.1.1 server=/example2.com/1.1.1.2
默认调度配置文件来自dnsmasq-china-list。
假IP列表文件位于/usr/local/ect/simpledns/ip list/txt。来源是ChinaDNS。
待办事项
- 配置文件支持
- EDNS支持
- 负缓存
许可证
麻省理工学院的执照