IP的限制访问

转载请注明出处 http://www.paraller.com 原文排版地址 点击获取更好阅读体验

配置文件

``` 优先级为先检查hosts.deny,再检查hosts.allow,
后者设定可越过前者限制,
例如:
1.限制所有的ssh,
除非从216.64.87.0 - 127上来。
hosts.deny:
in.sshd:ALL
hosts.allow:
in.sshd:216.64.87.0/255.255.255.128

2.封掉216.64.87.0 - 127的telnet
hosts.deny
in.sshd:216.64.87.0/255.255.255.128

3.限制所有人的TCP连接,除非从216.64.87.0 - 127访问
hosts.deny
ALL:ALL
hosts.allow
ALL:216.64.87.0/255.255.255.128

4.限制216.64.87.0 - 127对所有服务的访问
hosts.deny
ALL:216.64.87.0/255.255.255.128

其中冒号前面是TCP daemon的服务进程名称,通常系统
进程在/etc/inetd.conf中指定,比如in.ftpd,in.telnetd,in.sshd

其中IP地址范围的写法有若干中,主要的三种是:
1.网络地址--子网掩码方式:
216.64.87.0/255.255.255.0
2.网络地址方式(我自己这样叫,呵呵)
216.64.(即以216.64打头的IP地址)
3.缩略子网掩码方式,既数一数二进制子网掩码前面有多少个“1”比如:
216.64.87.0/255.255.255.0 -- 216.64.87.0/24

设置好后,要重新启动 / 有些系统是几秒后自动更新

/etc/rc.d/init.d/xinetd restart

/etc/rc.d/init.d/network restart

``` 多个不同的IP 可以使用 逗号 分隔;

iptables 命令

``` iptables -I INPUT -s 81.241.219.171 -j DROP

封IP段的命令是
iptables -I INPUT -s 97.47.225.0/16 -j DROP
iptables -I INPUT -s 97.47.225.0/16 -j DROP
iptables -I INPUT -s 97.47.225.0/16 -j DROP

封整个段的命令是
iptables -I INPUT -s 97.47.225.0/8 -j DROP

封几个段的命令是
iptables -I INPUT -s 97.47.225.0/24 -j DROP
iptables -I INPUT -s 97.47.225.0/24 -j DROP

服务器启动自运行
有三个方法:
1、把它加到/etc/rc.local中
2、vi /etc/sysconfig/iptables可以把你当前的iptables规则放到/etc/sysconfig/iptables中,系统启动iptables时自动执行。
3、service iptables save 也可以把你当前的iptables规则放/etc/sysconfig/iptables中,系统启动iptables时自动执行。
后两种更好些,一般iptables服务会在network服务之前启来,更安全

解封:
iptables -L INPUT
iptables -L --line-numbers 然后iptables -D INPUT 序号

iptables 限制ip访问
通过iptables限制9889端口的访问(只允许192.168.1.100、192.168.1.101、192.168.1.102),其他ip都禁止访问
iptables -I INPUT -p tcp --dport 9889 -j DROP
iptables -I INPUT -s 192.168.1.100 -p tcp --dport 9889 -j ACCEPT
iptables -I INPUT -s 192.168.1.101 -p tcp --dport 9889 -j ACCEPT
iptables -I INPUT -s 192.168.1.102 -p tcp --dport 9889 -j ACCEPT ```

参考网站

[linux下限制ip访问](http://dengqsintyt.iteye.com/blog/2018005@Linux防火墙:iptables禁IP与解封IP常用命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring MVC中实现IP限制访问可以通过配置拦截器来实现。拦截器是一种AOP(面向切面编程)的技术,可以在请求到达控制器之前或者之后对请求进行拦截处理。 首先,我们可以自定义一个拦截器类,实现HandlerInterceptor接口,并重写其中的preHandle方法。在preHandle方法中,我们可以获取到当前请求的IP地址,并进行限制访问的判断。我们可以通过读取配置文件或者数据库中的IP列表,将允许访问IP地址放入一个集合中,然后在preHandle方法中判断当前请求的IP是否在这个集合中。如果在集合中,则继续执行后续的处理;如果不在集合中,则可以返回一个自定义的错误页面或者跳转到其他页面,提示访问被拒绝。 接下来,我们需要在Spring MVC的配置文件中配置该拦截器。可以使用<mvc:interceptors>标签来配置拦截器,并指定要拦截的请求路径。例如,可以配置拦截所有以"/api"开头的请求,即:<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/api/**"/> <bean class="com.example.interceptor.IpInterceptor"/> </mvc:interceptor> </mvc:interceptors> 配置完毕后,当有请求访问以"/api"开头的路径时,拦截器会拦截请求,并执行preHandle方法中的逻辑判断。如果判断通过,请求继续向控制器传递;如果判断不通过,根据配置的处理方式进行相应处理。 通过以上步骤,我们就可以实现IP限制访问的功能。这种方式可以灵活地配置IP列表,并且易于扩展和维护。同时,通过使用拦截器,我们可以很方便地实现其他的访问限制,如登录验证、权限验证等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值