環境:ubuntu16.04

解說:ubuntu使用dnsmasq獲取要解析的網站ip,dnsmasq通過域名服務器獲取網站ip,並將ip緩存起來,那么就可以減少對外網域名服務器的訪問,從而可以使系統迅速地獲取ip

今天遇到dns被劫持的情況,在此記錄一下:

1.首先如何確定是否被劫持:

那么查詢一個並不存在的域名

nslookup notexit.comrrrr

如果返回了一個ip地址,說明dns被劫持了,假設此ip地址為:123.34.5.6

那么用8.8.8.8域名服務器解析一下此錯誤域名試試:

nslookup notexit.comrrrr 8.8.8.8

輸出的內容如下:

jello@jello:~$ nslookup notexit.comrrrr 8.8.8.8

Server:8.8.8.8

Address:8.8.8.8#53

** server can't find notexit.comrrrr: NXDOMAIN

提示內容說明此域名並不存在

2.那么如何處理這種情況呢?

由於ubuntu16.04使用dnsmasq對域名進行解析,那么修改dnsmasq的配置文件:

因為linux處理dns請求有個限制,在/etc/resolv.conf中只能配置三個dns地址,那么干脆在/etc/resolv.conf文件中只保留localhost為域名服務器,然后新建一個存儲外部域名服務器地址的配置文件,並將該配置文件加入到dnsmasq的配置項resolv-file中,例如:

2.1新建配置文件/etc/resolv.my.conf,往其中填入內容如下:

nameserver 8.8.8.8

nameserver 8.8.4.4

2.2往/etc/dnsmasq.conf中添加以下內容:

resolv-file=/etc/resolv.my.conf

2.3重新啟動dnsmasq

systemctl restart dnsmasq (此啟動方法總是失敗,而且還會自動往/var/run/dnsmasq/resolv.conf中添加之前的錯誤dns地址)

因此使用以下方法啟動dnsmasq:

sudo service dnsmasq start

注意:如果重啟dnsmasq超時,那么就直接打開/var/run/dnsmasq/resolv.conf

里面有解析不存在域名而得到的域名服務器地址,將存在該域名服務器地址的某行刪除即可,假設筆者的該文件內容為:

nameserver 123.34.5.6

nameserver 231.43.5.45

那么直接刪掉nameserver 123.34.5.6即可

最有效方案如下:

3.還可以直接使用其它的域名服務器地址替換掉這兩個ip,然后再重啟dnsmasq,筆者修改后/var/run/dnsmasq/resolv.conf配置文件內容如下:

nameserver 8.8.8.8

nameserver 8.8.4.4

重啟dnsmasq:

systemctl restart dnsmasq ((此啟動方法總是失敗,而且還會自動往/var/run/dnsmasq/resolv.conf中添加之前的錯誤dns地址)

因此使用以下方法啟動dnsmasq:

sudo service dnsmasq start

linux dns劫持转发,linux的dns被劫持相关推荐

  1. linux dns劫持转发,linux的dns被劫持(解决方案)

    如何解决linux dns被劫持? 1.首先如何确定是否被劫持: 那么查询一个并不存在的域名 nslookup mmmmm.happy 如果返回了一个ip地址,说明dns被劫持了,假设此ip地址为:1 ...

  2. linux服务器数据转发,Linux云服务器如何使用iptables做流量转发?

    在云服务器的日常使用过程中,从老服务器迁移数据到新服务器是不可避免的一项运维操作.在新老服务器交替的迁移过程中,由于域名解析生效需要一段时间,难免出现部分流量仍然请求到老服务器上的情况,造成数据出现衔 ...

  3. linux 邮件中继转发,linux – 如何使sendmail中继本地邮件?

    我有www服务器叫mywebsite.com和邮件serwer mymail.com. mywebsite.com的邮件由mymail.com处理(mywebsite.com的mx记录是mymail. ...

  4. linux Dup2 网络转发,Linux系统编程:dup2()重定向

    对于Dup2 的理解: 源代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 #define MSGSIZE 20 8 #de ...

  5. linux dns已经配置,linux DNS 配置

    在局域网内部通过构建DNS服务器,可以使用户使用域名访问局域网中的每一台计算机.在互联网中,通过DNS服务器,可以使全世界的网络用户使用域名访问各种类型的主机,如WEB服务器.邮件服务器等 而我们使用 ...

  6. Linux之DNS服务器搭建及常见DNS***和防御

    DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终 ...

  7. linux 配置DNS正反区域,Linux基础服务_DNS原理以及正反向DNS配置

    DNS服务的原理介绍: dns(Domain Name Service,域名解析服务)    为c/s架构的服务 通常默认的监听的端口为:53/tcp     53/udp 将dns服务实现的应用程序 ...

  8. RHEL Linux 8.3 通过 BIND 实现 DNS 基本功能

    文章目录 需要了解的文件 安装bind 配置 DNS 服务 1. 修改/etc/named.conf 2. 修改/etc/named.rfc1912.zones 3. 修改 /var/named/na ...

  9. 我的第200篇博客:Linux下手把手搭建DHCP、DNS、HTTP、FTP服务器及遇到问题的解决过程

    这是我的第200篇博客,所以我打算写一个质量还算高的文章. 今天耗时11个小时,在CentOS 上搭建一个功能相对完整的服务器,用来检验我这几天的学习成果.(不一定非要CentOS,Ubuntu也很香 ...

  10. Linux随笔16-主从DNS服务搭建以及智能DNS服务搭建、基于CentOS7.6编译安装MySQL-5.7.32

    Contents 1. DNS主从服务器搭建 1.1. DNS简介 1.2. DNS主从服务搭建 1.2.1. 主DNS服务器配置 1.2.2. 从DNS服务器配置 1.2.3. Web服务器准备 1 ...

最新文章

  1. 移动4G打造排污视频监控系统助力咸宁环保建设
  2. 2015.11.3 RichBox改变若干文本颜色
  3. 让NVIDIA Jetson AGX Xavier火力全开的秘密
  4. [数据结构-严蔚敏版]P71串的抽象数据类型的定义
  5. Java技术中的三大特性
  6. [css] 使用css3实现一个斑马线的效果
  7. 【Hihocoder - offer编程练习赛39 - D】前缀后缀查询(后缀字典树,哈希,思维)
  8. python zipfile setpassword_Python模块:zipfile
  9. 移动项目工作笔记0001---使用uni-app开发移动端应用
  10. python如何导入hotp库_Google Authenticator在Python中的实现
  11. pycharm出现乱码
  12. Android程序开发初级教程(一)
  13. os.path.join()函数
  14. JavaEE:MySQL主从配置
  15. 如何制作一个简单的手机信息页面
  16. js刷新页面得重新加载和页面的刷新
  17. 机房环境监控的系统概述
  18. 什么时候进行套利交易比较好?
  19. SnapMotion for Mac(视频截图工具)
  20. 微信小程序----学生信息注册篇

热门文章

  1. win10出现“以太网没有有效的ip配置”的问题
  2. Parity(奇偶校验)和ECC(错误检查和纠正)
  3. 【高德地图在React项目中的使用——(二)各种配置的使用】
  4. 深度linux双系统切换快捷键,苹果 Mac双系统如何切换?用Option键切换双系统的步骤分享...
  5. latex怎么打区间_latex 函数中间点
  6. centos 7 JDK 环境部署
  7. Java 版本中文数字转阿拉伯数字实现
  8. mysql innodb_data_read_Innodb_data_read 与Innodb_data_reads的区别
  9. office安装教程
  10. 告别2018:人间值得,你更值得!