那,自从国内技术出现了DNS污染问题呢,时常导致很多国外网站访问不正常,所以通过参考一些博客所属避免DNS污染的方法,决定搭建一个Ubuntu JeOS下的DNS缓存服务器,该服务器利用TCP方式获取IP解析,这样就可以避免DNS污染问题了。

首先,进入root权限:

sudo –i

然后输入用户名对应的密码,进入root权限命令行。

利用以下指令安装所需软件Pdnsd:

apt-get install pdnsd

安装后选择OK,Manual手动配置文件。

vim /etc/pdnsd.conf

进入VIM编辑配置文件,按i进入编辑模式,修改如下代码进去(主要注意global和server下的内容,其他的默认即可):

global {
perm_cache=1024;
cache_dir="/var/cache/pdnsd";
run_as="pdnsd";
server_ip = eth0; // Use eth0 here if you want to allow other
// machines on your network to query pdnsd.
status_ctl = on;
paranoid=on;
query_method=tcp_only; // pdnsd must be compiled with tcp
// query support for this to work.
min_ttl=1d; // Retain cached entries at least 15 minutes.
max_ttl=1w; // One week.
timeout=10; // Global timeout option (10 seconds). // Don't enable if you don't recurse yourself, can lead to problems
// delegation_only="com","net";
} /* with status_ctl=on and resolvconf installed, this will work out from the box
this is the recommended setup for mobile machines */ // This section is meant for resolving from root servers.
server {
label = "root-servers";
root_server=on;
ip = 8.8.8.8,208.67.222.222,208.67.220.220;
timeout = 5;
uptest = query;
interval = 30m; // Test every half hour.
ping_timeout = 300; // 30 seconds.
purge_cache = off;
exclude = .localdomain;
policy = included;
preset = off;
} source {
owner=localhost;
// serve_aliases=on;
file="/etc/hosts";
} rr {
name=localhost;
reverse=on;
a=127.0.0.1;
owner=localhost;
soa=localhost,root.localhost,42,86400,900,86400,86400;
} /*
neg {
name=doubleclick.net;
types=domain; // This will also block xxx.doubleclick.net, etc.
}
*/ /*
neg {
name=bad.server.com; // Badly behaved server you don't want to connect to.
types=A,AAAA;
}
*/ /* vim:set ft=c: */

编辑完毕后按ESC退出编辑模式,shift+:呼出命令行,输入wq!保存退出。

下面编辑本机DNS服务器

vim resolv.conf

进入VIM编辑配置文件,按i进入编辑模式,清空所有内容,写入以下内容:

nameserver 127.0.0.1

编辑完毕后按ESC退出编辑模式,shift+:呼出命令行,输入wq!保存退出。

下面修改START_DAEMON部分

vim /etc/default/pdnsd

进入VIM编辑配置文件,按i进入编辑模式,修改代码:

START_DAEMON=no为START_DAEMON=yes

编辑完毕后按ESC退出编辑模式,shift+:呼出命令行,输入wq!保存退出。

重启pdnsd

/etc/init.d/pdnsd restart

这样之后,就可以让别的电脑用你的linux的IP作为DNS服务器来避免DNS污染了。

现在的问题是这服务器我搭起来开始正常,后来就不正常了,dig提示connection timed out; no servers could be reached,唏嘘……

ubuntu-利用pdnsd-TCP方式获取IP-拒绝DNS污染的更多相关文章

  1. Ubuntu 16.04修改配置静态IP和DNS

    Ubuntu 16.04修改配置静态IP和DNS 1.修改interfaces 文件 sudo gedit /etc/network/interfaces 2.添加 例如: auto enp0s25 ...

  2. 设置自动获取IP和DNS

    问题阐述 设置ipv4的自动获取时遇到一个问题,ip和dns自动获取可以确认设置,但是全局时就是报错,回头去看ipv4的ip和dns也还是原来的样子 由于一直使用的都是自动获取,很少会有主动设置ip或 ...

  3. android手机两种方式获取IP地址

    1.使用WIFI 首先设置用户权限 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"& ...

  4. 收集一些dos网络配置命令,从新获取ip刷新dns

    今天台式机插着无线网卡连接学校无线网,结果就要登录了,完后ip地址固定半天,换了mac地址重新分配还是不能改,ping了主机也不通,我想可能是dns没有刷新.现在收集几个dos命令用来配置网络: 1. ...

  5. ffmpeg强制使用TCP方式推流到EasyDarwin开源流媒体服务器进行直播

    我们的EasyDarwin目前部署在阿里云的服务器上面,运行的效果是非常好的,而且无论是以TCP方式.还是UDP的方式推送,都可以非常好地进行直播转发: 但并不是所有的用户服务器都是阿里云的形式,有很 ...

  6. 脚本设置IP bat 命令行设置自动获取IP和固定IP

    由于办公室网络需要固定IP和DNS才能上网, 在连接公共网络或者家里又需要自动获取IP和DNS才能上网. 频繁手动切换很麻烦,就搞了两个脚本一键设置. 1.新建文本文件, 命名为固定IP.bat 复制 ...

  7. Win7+xp命令行 一键修改IP、DNS

    这里提供了一个简便方法:(该方法为Win7下的,XP下的见最后一行) 第一步:新建一个txt文件 第二步:在文件中添加如下内容: netsh interface ip set address name ...

  8. ubuntu 自动获取ip的怎么设置

    ubuntu以DHCP方式配置网卡自动获取ip编辑文件/etc/network/interfaces:sudo vi /etc/network/interfaces并用下面的行来替换有关eth0的行: ...

  9. java 利用HttpURLConnection方式获取restful格式的服务数据

    /** * @Author: * @Description:利用HttpURLConnection方式获取restful格式的服务数据 * @Date: */ private static List& ...

随机推荐

  1. 用Windows PowerShell 控制管理 Microsoft Office 365

    如果想要通过PowerShell控制管理Office365,首先要安装Microsoft Online Services Sign-In Assistant 7.0,链接如下 Microsoft On ...

  2. (转) Playing FPS games with deep reinforcement learning

    Playing FPS games with deep reinforcement learning 博文转自:https://blog.acolyer.org/2016/11/23/playing- ...

  3. nginx文件目录权限设置

    1.有时我们web服务器上的某个文件夹只允许特定人员访问,这时我们需要在nginx配置文件中配置该文件夹的访问权限. 2.生成用户名单在nginx中我们使用htpasswd来生成用户名单下载这个pyt ...

  4. Inventor 2014 sp1/sp2激活

    问题: win8.1 inventor2014,不打补丁不兼容: 打了补丁xforce激活始终无法成功. 解决: 1. 使用未打补丁之前的 adlmact.dll 和 adlmact_libFNP.d ...

  5. React组件生命周期过程说明

    来自kiinlam github94 实例化 首次实例化 getDefaultProps getInitialState componentWillMount render componentDidM ...

  6. ThoughtWorks.QRCode源码

    http://files.cnblogs.com/files/xiaoyu369/ThoughtWorks.QRCode.rar

  7. html5之history对象 控制浏览器前进或后退事件

    一.摘要: 总结用history对象操作浏览器的历史记录的方法,在项目中使用的是mui框架,总结中包括我在实际项目中遇到的问题. 二.总结: 实现效果: 实现代码: 上面的编辑页面加载的时候就要先调用 ...

  8. C# 随机红包算法

    static void Main(string[] args) { ; ; double minAmount = 0.01; Random r = new Random(); ; i < num ...

  9. 3.2 一般的哈尔空间Vj

    例3.2给予我们继续往下面做的动力.很明显的我们对于g(t)的逼近还是太粗糙了.很自然的,我们会想到,如果继续细分我们的短点,比如每1/2取一个值,甚至每1/4取一个值,那么就会有更好的逼近效果. 不 ...

  10. BFS与DFS

    DFS:使用栈保存未被检测的结点,结点按照深度优先的次序被访问并依次被压入栈中,并以相反的次序出栈进行新的检测. 类似于树的先根遍历深搜例子:走迷宫,你没有办法用分身术来站在每个走过的位置.不撞南山不 ...