使用iptables封锁对某个域名的DNS查询-创新互联

现在有一需求,需要禁止主机对某一个域名的DNS查询,想到用iptables的string模块,使用下面的命令:

成都创新互联从2013年创立,先为民丰等服务建站,民丰等地企业,进行企业商务咨询服务。为民丰企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
iptables -D OUTPUT -m string --string "www.baidu.com" --algo bm -j
DROP

但使用上面的命令并不能过滤对www.baidu.com 的查询。根据参考链接中的文档,www.baidu.com 在DNS查询时会被编码如下:

03www05baidu03com

编码时域名以点被分为各子字符串(www,baidu和com)“.”不会被编码,每个子字符串前面是这个字符串的长度。下面是对DNS查询的抓包:
使用iptables封锁对某个域名的DNS查询
字符串 www.baidu.com 被编码十六进制为:

03 77 77 77 05 62 61 69 64 75 03 63 6f 6d

77的是w的ascii码,其余字符也可以对照ascii进行查询。77 77 77 前面的03正是www这三个字符串的长度。
根据参考链接,可以使用iptables的string模块的十六进字符串进行过滤

iptables -A OUTPUT -p udp --dport 53 -m string --hex-string "|03|www|05|baidu|03|com|" --algo bm -j DROP

iptables 自动将

|03|www|05|baidu|03|com|

转换成十六进制。
参考链接:
https://linuxsecurity101.com/2018/11/18/tips-and-tricks-blocking-dns-requests-via-iptables/

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:使用iptables封锁对某个域名的DNS查询-创新互联
网站路径:http://ybzwz.com/article/hehjo.html