方法 以下规则是屏蔽以xx.com为主的所有一级、二级、三级等域名。 ```csharp #添加屏蔽规则 iptables -A OUTPUT -m string --string "xx.com" --algo bm --to 65535 -j DROP #删除屏蔽规则，上面添加的代码是什么样，那么删除的代码就是把-I改成-D iptables -D OUTPUT -m string --string "xx.com" --algo bm --to 65535 -j DROP ``` 命令详解： ```csharp -A #添加iptables规则； -D #删除iptables规则（把添加防火墙规则时代码中的-A改成-D即可删除添加的规则）； -m string #指定模块； --string "xx.com" #指定要匹配的字符串(域名、关键词等)； --algo bm #指定匹配字符串模式/算法（还有一种更复杂的算法：kmp）； --to 65535 #指定端口，这里代表所有端口（1-65535）； -j DROP #指匹配到数据包后处理方式，这里是丢弃数据包。 ``` 这个模块的作用就是匹配字符串，这个字符串可以是URL、普通文本、文件后缀（后两者时，如果目标网站启用了GZIP类压缩算法，就会无法过滤匹配，毕竟都压缩了）。 比如：.zip，就会把包含.zip的数据库丢弃，这样就会无法下载.zip类型的文件了！ 引用自：https://www.moerats.com/archives/524/