centos/linux iptables禁止IP访问和解封IP/封IP段,/etc/sysconfig/iptables文件不存在

centos/linux iptables禁止IP访问和解封IP/封IP段,/etc/sysconfig/iptables文件不存在
Linux 运维 防火墙    2020-04-01 09:31:54    340    0    0
172721404   Linux 运维 防火墙

1、前言

     阿里云有一个云盾,可以拦截密码破解,SQL注入等,但时不时被人扫描,感觉也是很忧伤的。加上发现我这个博客,不时会出现CPU 100%,可能是wordpress 4.1不兼容,也有可能是服务器搭建不兼容。使用ssh登录网站,使用iptables命令来拒绝一些不怀好意的ip骚扰,给你的服务器减负吧。·

CentOS下封停IP,有封杀网段和封杀单个IP两种形式。一般来说,现在的攻击者不会使用一个网段的IP来攻击(太招摇了),IP一般都是散列的。于是下面就详细说明一下封杀单个IP的命令,和解封单个IP的命令。

在CentOS下,使用ipteables来维护IP规则表。要封停或者是解封IP,其实就是在IP规则表中对入站部分的规则进行添加操作。

2 、封单个IP的命令是:

iptables -I INPUT -s 211.1.0.0 -j DROP​

封IP段的命令是:

 iptables -I INPUT -s 211.1.0.0/16 -j DROP
 iptables -I INPUT -s 211.2.0.0/16 -j DROP
 iptables -I INPUT -s 211.3.0.0/16 -j DROP​


封整个段的命令是:

iptables -I INPUT -s 211.0.0.0/8 -j DROP​

封几个段的命令是:

 iptables -I INPUT -s 61.37.80.0/24 -j DROP
 iptables -I INPUT -s 61.37.81.0/24 -j DROP​


3、解封某一IP

iptables -D INPUT -s IP地址 -j REJECT​

如果发现input连接 命令不起作用,则可以 路由连接参数 使用下面命令

iptables -A FORWARD -s 1.202.0.0/16 -j DROP

在unix中IP子网掩码可用16,24,32等数字来表示,意思是:16表示子网掩码的前16位是全1,24、32以此类推。

iptables -A FORWARD -s 61.172.0.0/16 -i 网卡名称 -j DROP​

--------有人说这种方法比较好用,这句比你防火墙管用--------

那句只能禁止一个ip路由  #route add 61.172.0.0/16 reject
这句可以封整段       #route add -net  61.172.0.0 netmask 255.255.0.0 reject

下面看些实际例子,设计封第几个IP段的问题:

------如果要封的内容是 061.037.080.000->061.037.081.255 -----

 iptables -I INPUT -s 61.37.80.0/24 -j DROP
 iptables -I INPUT -s 61.37.81.0/24 -j DROP​

-----用什么命令可以让iptables 封了 211.1.0.0 到 211.10.0.0 IP段?-----------

 iptables -I INPUT -s 211.1.0.0/16 -j DROP
 iptables -I INPUT -s 211.2.0.0/16 -j DROP
 iptables -I INPUT -s 211.3.0.0/16 -j DROP​

------如果要封的内容是整段的 比如 211.0.0.0 - 211.255.255.255 -------------

 iptables -I INPUT -s 211.0.0.0/8 -j DROP​

其实也就是将单个IP封停的IP部分换成了Linux的IP段表达式。关于IP段表达式网上有很多详细解说的,这里就不提了。

相信有了iptables的帮助,解决小的DDoS之类的攻击也不在话下!

 

4、附:其他常用的命令

编辑 iptables 文件

vi /etc/sysconfig/iptables​

关闭/开启/重启防火墙

/etc/init.d/iptables stop
#start 开启
#restart 重启​

验证一下是否规则都已经生效:

iptables -L​

保存并重启iptables

/etc/rc.d/init.d/iptables save
service iptables restart

 

5、解决Linux系统没有/etc/sysconfig/iptables文件不存在

 

Linux系统中,防火墙默认是不开启的,一般也没有配置过任何防火墙的策略,所以不存在/etc/sysconfig/iptables文件。

一、常规解决方法:

1、在控制台使用iptables命令随便写一条防火墙规则

iptables -A OUTPUT -j ACCEPT

2、使用

service iptables save

进行保存,默认就保存到了/etc/sysconfig目录下的iptables文件中。

但是,这个方法已经在一些版本的Linux下无法使用,比如Ubuntu,Debian。

二、特殊解决办法

直接创建文件

vi /etc/sysconfig/iptables

然后保存退出,【Esc】->【:wq!】

 

参考:http://caibaojian.com/iptables.html

参考:http://blog.renhao.org/2010/01/linux-ban-unban-ip/·

参考: https://www.cnblogs.com/easonjim/p/6850941.html


上一篇: 摩斯电码速记表,业余无线电电报速记表

下一篇: Crontab任务计划 定时执行 详细说明 分析

梅志克斯,Zabbix,Matrix,nginx,linux运维,Docker,菜鸟学习linux
340 人读过
comments powered by Disqus
文档导航