iptables对请求的URL作IP访问控制

服务器运行环境是Tomcat,现在要实现的目的是,只允许特定的IP访问某个目录,
一种方法是在tomcat配置文件server.conf中,使用RemoteAddrValve对虚拟主机做访问控制。
另外一种方法可以通过iptables规则。个人比较喜欢iptables
例如:禁止访问http://192.168.137.254:10000/managersns 这个路径,只允许192.168.137.101访问
  1. /sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -s 192.168.137.101 -m string --string "/managersns" --algo bm -j ACCEPT /sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -m string --string "/managersns" --algo bm -j DROP
  2. /sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -s 192.168.137.101 -m string --string "/managersns" --algo bm -j ACCEPT
  3. /sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -m string --string "/managersns" --algo bm -j DROP
以上规则是正对eth0网卡,可以跟踪自己需求修改。
参数说明:
-m string
使用string功能,string是iptables的一个module,也就是做字符串匹配的。
–string “xxxx”
定义字符串内容,可以是URL里任意字符,如果是需要block下载某些类型的文件或请求,这个有很大的发挥空间,可自由想象喔。
–algo bm
设置字符匹配的查询算法,一般默认使用bm算法效果就可以了,另外还可以设置kmp算法,那是一种更复杂的算法,详细内容可自行参见高等数学里的资料。(bm = Boyer-Moore, kmp = Knuth-Pratt-Morris)
-j DROP
这在公司网络禁用视频网站是非常有效的,在网关服务器上设置:
  1. iptables -A FORWARD -m string –-string “ku6.com” --algo bm -j DROP iptables -A FORWARD -m string –-string “tudou.com” –-algo bm -j DROP iptables -A FORWARD -m string –-string “ouou.com” –-algo bm -j DROP
  2. iptables -A FORWARD -m string –-string “ku6.com” --algo bm -j DROP
  3. iptables -A FORWARD -m string –-string “tudou.com” –-algo bm -j DROP
  4. iptables -A FORWARD -m string –-string “ouou.com” –-algo bm -j DROP
其中各项参数的意义如下:
-A FORWARD
增加FORWARD链的规则,以上规则是针对启用了路由功能(即:echo 1 > /proc/sys/net/ipv4/ip_forward)
如果是直接访问,可使用的INPUT或OUTPUT。
设置符合此条件的包的处理方式,DROP即是丢弃,也是reject的意思。
  1. iptables -A INPUT -m string --string "stringname" --algo bm -j DROP

转载于:https://www.cnblogs.com/sunbeidan/p/4940203.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/419361.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React-Native填坑之TextInput value属性

TextInput用法就不多讲了,主要记录下遇到的一个怪问题。 背景:项目需要开发一个充值页面,需要一个输入框,然后几个按钮,输入框是允许用户自己输入任意金额,按钮是可以让用户快捷选择金额。那么问题来了&…

Spring的特点

Spring框架Spring框架是一个分层架构,有7个定义良好的模块组成spring模块构建在核心容器智之上, 核心容器定义了创建、 配置、和管理bean的方式组成spring框架的每个模块(或组件)都可以单独存在, 或者与其他一个或多个模块联合实现 模块如下: 1--核心容器 核心容器提供spring框…

MySQL对一行多列求和

SUM函数的语法是: SELECT SUM(expression ) FROM tables WHERE predicates; 表达式可以是一个数值字段或公式。 SELECT column1 column1 column1 …… column1 AS Total FROM table

mybatis判断集合为空或者元素个数为零

mybatis判断集合为空或者元素个数为零&#xff1a; <if test"mlhs ! null and mlhs.size() ! 0">and t.mlh_name not in <foreach collection"mlhs" item"item1" open"(" close")" index"i" separator&…

React-Native 填坑之ListView(item更新)

一 背景 效果图如下&#xff1a;二 解决办法 我的目的是实现单选item&#xff0c;正常情况设置一个state变量来保存选中的Index,在每次点击item的时候改变index就OK&#xff01;但是&#xff0c;我想的太天真了。this.setState()只能渲染外部组件&#xff0c;而ListView子组件…

锋利的jQuery--编写jQuery插件(读书笔记五)[完结篇]

1.表单验证插件Validation2.表单插件Form3.动态事件绑定插件livequery可以为后来的元素绑定事件类似于jQuery中的live()方法4.jQuery UI5.jQuery Cookie6.遮罩层插件:thickbox7.编写jQuery插件<1>编写插件的目的&#xff1a;给已经有的一些列方法或函数做一个封装&#x…

Java中的注解以及应用 @Deprecated @SupressWarning @Override

Annotation注解在 Java 中有着很广泛的,他是做为一种标识 为javac所识别,。每一个注解 都对应这一个Java类 在java.lang包中 有三个注解 分别是Deprecated SuppressWarning Override 在使用 注解前必须要在 注解类前面加上 每增加一个注解 就意味着产生了一个注解…

React Native 实现物流进度信息

1.实现效果 2.直接上代码 use strict; import React, {Component} from react; import {View, StyleSheet, Text, Dimensions} from react-native export default class Button extends Component {render() {let invoice [{id: 111, content: 已签收,签收人&#xff1a;门…

String中intern的方法

intern public String intern() 返回字符串对象的规范化表示形式。 一个初始时为空的字符串池&#xff0c;它由类 String 私有地维护。 当调用 intern 方法时&#xff0c;如果池已经包含一个等于此 String 对象的字符串&#xff08;该对象由 equals(Object) 方法确定&#xff0…

iOS开发学习-nonatomic和atomic的区别

nonatomic是非原子性的&#xff0c;也就是给线程不加原子锁&#xff0c;这样的代码运行效率会更高一点&#xff0c;例如&#xff1a; property (nonatomic,copy)NSString *userName; property (atomic,copy)NSString *userName; nonatomic能提高好几倍的效率&#xff0c;所以在…

Vue创建递归树组件(点击可展开关闭)

本篇文章借鉴于此处&#xff0c;如果只需显示树形组件&#xff0c;可以直接访问该博主文章。我这里对他的组件做了扩展&#xff0c;增加了点击展开和关闭操作&#xff0c;话不多说上代码。 1.数据结构 const data {label: 根目录,children: [{label: 目录A,children: [// 叶…

【Java线程】锁机制:synchronized、Lock、Condition

转载声明&#xff1a;转载自&#xff1a;点击打开链接http://blog.csdn.net/vking_wang/article/details/9952063非常感谢博主的讲解&#xff0c;对锁这一块又加深了理解http://www.infoq.com/cn/articles/java-memory-model-5 深入理解Java内存模型&#xff08;五&#xff09…