iptables 根据域名或网址过滤/访问控制

yufei       7 月, 1 周 前       275

真没想到啊,iptables 还有这个功能,可以根据域名或者网址过滤。

这个功能是我在浏览微博的时候发现的,然后百度了下,还真不错

语法大概如下

iptables -A INPUT -m string --algo kmp --string "search words" -j DROP

上面这条语句,使用 kmp 字符串查找算法,对输入的请求,如果网址(包含域名)中包括了字符串 "search words",则会被 iptables 直接拒绝

比如说,有一个网址如下

https://www.twle.cn/l/yufei/minigame/minigame-basic-index.html
  1. 如果我们想禁用所有域名为 twle.cn 的请求,则语句如下

    iptables -A INPUT -m string --algo kmp --string "twle.cn" -j DROP
    
  2. 如果我们想禁止访问网址中包含 /minigame 字符串的请求,则语句如下

    iptables -A INPUT -m string --algo kmp --string "/minigame" -j DROP
    

需要注意的是,这条语句是通杀,也就是网址中包含了 /minigame 的请求都会被拒绝

上面这两个范例只是一些比较常见的用法,更多的用法就自己琢磨吧

参数说明

上面那条语句的各个参数都比较简单了,可以通过命令 iptables --help 来查看各个参数的作用

  • -m string

    加载 string 模块,string 是 iptables 的一个 module,也就是做字符串匹配的。

  • –string “xxxx”

    定义字符串内容,可以是网址( URL )里任意字符

  • –algo bm

    设置字符匹配的查询算法,一般默认使用 bm 算法效果就可以了,另外还可以设置 kmp 算法

    kmp 算法一种更复杂的算法

    bm = Boyer-Moore

    kmp = Knuth-Pratt-Morris

  • -j DROP

    表示对于符合规则的请求,直接拒绝

目前尚无回复
简单教程 = 简单教程,简单编程
简单教程 是一个关于技术和学习的地方
现在注册
已注册用户请 登入
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2018 简单教程 twle.cn All Rights Reserved.