RouterOS DNS劫持(轉)


  • 什么是DNS劫持

  DNS劫持就是通過技術手段,來控制用戶解析域名的IP地址。舉個例子,正常解析域名www.awolf.net時應該返回IP:64.64.30.60;但現在通過DNS劫持,使域名www.awolf.net解析返回IP:1.1.1.1,以達到控制www.awolf.net該域名,進而控制訪問www.awolf.net所打開頁面。這就是DNS劫持。

  • 為什么要做DNS劫持

  有了DNS劫持,我們就可以隨意控制路由器下游用戶的域名解析,從而達到限制、強制訪問某些網站;或者在用戶訪問不存在的網站時給予友好的提示;或者把IIS上多個站點用主機頭區分……

  • 如何在Ros上做DNS劫持

  在ROS上,可以通過對53端口的UDP訪問進行dst-nat,to-address指向我們自己的dns服務器或如果Ros開啟DNS服務,也可以指向Ros本身。

WinBox設置:

  本例中使用ROS自帶的DNS服務,ROS IP為192.168.27.254。

  首先開啟ROS的DNS服務:Winbox中選IP->DNS,在Static頁面中點Settings,按下圖設置,其中202.96.64.68和202.96.69.38按你所在地區和ISP的DNS填寫。

DNS設置

確定后在Winbox中選IP->Firewall,選NAT頁面,點紅色加號“+”,按下圖設置:

Chian=dstnat,Protocol=UDP,Dst.Port=53,Action=dst-nat,To Address=192.168.27

General頁設置

 

Action頁設置

命令行設置:

/ip firewall nat

add action=dst-nat chain=dstnat disabled=no dst-address-type=!local dst-port=53 protocol=tcp to-addresses=192.168.0.1 to-ports=53

add action=dst-nat chain=dstnat disabled=no dst-address-type=!local dst-port=53 protocol=udp to-addresses=192.168.0.1 to-ports=53

/ip dns

set allow-remote-requests=yes cache-max-ttl=1w cache-size=4096KiB max-udp-packet-size=512 primary-dns=202.96.64.68 secondary-dns=202.96.69.38

設置成功的Firewall->Connections效果圖:

DNS劫持效果圖

可以看到去往202.96.64.68的DNS請求都被192.168.27.254回應了。

注意:如果要使用內網服務器做域名解析服務,必須在以上DNS劫持設置規則之上再添加一條允許該服務器訪問外網DNS的規則,否則連內網DNS服務器的解析請求都被劫持了,就無法正常進行域名解析了。

例如內網DNS服務器IP是192.168.27.1,則需要在DNS劫持規則之上添加如下規則:

/ip firewall nat

add action=accept chain=dstnat disabled=no dst-port=53 protocol=udp src-address=192.168.27.1

排除DNS劫持

 

 

 

方法2----------------------------------------------------------------------------------------------------------------------------------------------

DNS重定向

如果客戶端沒有自動獲取或者設置RouterOS網關作為DNS,可以將內網向外的所有DNS請求都通過dst-nat重定向到內網,即強制所有用戶向外網的dns請求都到本地網關解析。

進入ip firewall nat,在該菜單下配置dst-nat規則,添加一條chain=dstnat,protocol=udp,port=53

RouterOS DNS劫持 -- A記錄 - athlon_sds - YuSong的世界

設置action參數為redirect,指定到本地的53端口

RouterOS DNS劫持 -- A記錄 - athlon_sds - YuSong的世界

 

 

 ------------------------------------自動清理dns Cache 的腳本

 

由於我們是使用的盜版,ROS在這塊有個BUG可是防盜版的原因吧,ROS緩存數過多就會溢出所以我們要做個自動清理的腳本。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM