1
tititake 2013-06-14 20:51:16 +08:00 via Android 1
如果和pdnsd比较的话,有什么优势?
|
2
niko 2013-06-14 20:54:10 +08:00 1
貌似V2EX上JAVA的不多?支持一下
|
3
code4craft OP @tititake 呃,其实写BlackHoleJ之前不知道pdnsd...
看了一下,pdnsd功能很强大,还有uptest这些,毕竟10年了嘛,占用资源也少(我测试下来只有几百K),但是配置稍微繁琐一点,一个DNS cache还要google一番是比较费劲的。 BlackHoleJ设计就是给懒人用的,比如你想自建一个防DNS污染的东东,又在公司内网,有些地址需要拦截,使用BlackHoleJ只需要把公司内网DNS配到第一个就可以了,就一行配置。 BlackHoleJ防污染用的是UDP+持久化污染地址黑名单,理论上比TCP快。 性能上我比较了下,两个响应都在0ms以下,pdnsd好像直接用的文件缓存,BlackHoleJ用了内存缓存,关闭时才持久化。qps分别是18000和50000,不过好像也没什么意义,都够用了。 其实最重要的,本来也是学习的态度做的这个,跟一个维护了10年的项目也没啥可比性。至于重复造轮子,见仁见智了,毕竟也没人用Java写过这个嘛。 |
4
tititake 2013-06-15 09:44:08 +08:00 via Android
@code4craft 了解了,以前用dnsmasq,前一阵想试试tcp的dns防污染就换了pdnsd。多个选择确实也不错,不过java的基础网络服务确实少见,算是填补空白了吧,呵呵。
|
5
code4craft OP @tititake 嗯,Java没法接触底层的东西,不过DNS在应用层,还算是可以处理的范围。
其实写的时候是把它当成一个Web服务器的架构来写的,参考了一些Jetty的设计。以后会更偏重处理逻辑吧,比如所有配置文件都是修改即生效,还有能够根据客户端IP来进行不同的DNS解析,这算是一个不同么?呵呵。 |
6
Wy4q3489O1z996QO 2014-03-06 17:14:12 +08:00
想问下,这个能实现只能dns解析吗?
|