iptables-防火墙服务

版权声明:版权来自翻版 https://blog.csdn.net/weixin_44455125/article/details/90180825

1.iptables介绍

iptables是Linux中自带的服务,但是需要下载一个管理端,同时需要关闭firewalld.

iptablesde 的四表五链

在这里插入图片描述
四表:

filter:没有指定的情况下,默认使用的表
	拥有INPUT,FORWARD,OUTPUT链
NAT:实现正向代理
	拥有OUTPUT,PREROUTING,POSTROUTING链
mangle:
	拥有所有的链
raw:
	拥有OUTPUT,PREROUTING链

五链:

INPUT:数据包是否能够进入到本机
FORWARD:数据包转发
OUTPUT:数据包离开的时候
PREROUTING:数据来之前,可用作端口映射
POSTROUTING:数据包离开之后

#链的名字必须大写

在这里插入图片描述
iptables可以接受数据包进行处理,也可以实现反向代理,将数据包转发出去

iptables/netfilter 表和链解释

表    table    用来存放链的容器
链    chain    用来存放规则的容器
规则   Policy                   
表就是一个用来存储链的容器

防火墙比对规则

在这里插入图片描述

防火墙比对规则过程是层层过滤的,使用iptables -nL查看比对顺序,从上到下.从前到后进行比对,
如果匹配上规则,明确表示阻止(DROP)还是允许(ACCEPT),数据包将不会再向下或者向后匹配新的比对规则
如果规则中没有明确表示通过或是允许的,将会继续向后进行比对
默认规则是所有规则全部匹配完毕才会结束的
如果匹配完毕以后没有指明允许或是拒绝,数据包将会被丢弃

#如果防火墙是关闭的,不要使用iptables -nL ,因为使用后防火墙会默认开启了

2.安装

yum install iptables iptables-services -y

3.常用操作

添加一条规则

#查看系统中或者已经配置的规则
iptables -nL
#在iptables中默认用的表是filter
-t:指定要查看的表
用法:
iptables -t raw -nL

Chain INPUT (policy ACCEPT)
定义此处的链还有默认的规则(当所有都没有明确的指定是否接收将使用默认的规则)
默认是接收的 

#大家先一起执行下下面这条网友命令
iptables -A INPUT -p tcp  --dport 22 -j DROP

#如果执行成功,恭喜你,你应该不能远程连接你的linux了
#我们来到VMware(我是虚拟环境)
#如果是生产环境,恭喜你--自己赶紧打车去机房吧
#输入iptables -nL查看规则
#然后执行iptables -F	清空所有规则
#现在你可以重新尝试连接

#或者,你可以使用下面这条查看带有序号的规则
iptables -nL --line-number
#然后执行↓进行删除操作
iptables -D INPUT 1
#INPUT是下图最上面红圈圈圈住的
#序列号是num那一列的,注意我这个不是,但是之前这里有的,我没有执行那条语句

#除了172.16.1.0这个网段其他都不能访问22端口
iptables -A INOUT -p tcp ! -s 172.16.1.0/24 --dport 22 -jDROP
#!表示取反

#所有IP只能访问80和443端口
iptables -I INPUT -p tcp -m multiport ! -dport 22,80,443 -jDROP 
#默认只支持一个端口,要加-m

在这里插入图片描述

参数解释

在这里插入图片描述

 iptables -A INPUT -p tcp  --dport 22 -j DROP
-p:指定目标的连接协议
	(此处可以写一个端口,也可以写多个,还能指定一个范围)
	22 或者22,23,24 或者1:3306
-j:指定是拒绝(DROP)还是允许(ACCEPT)
-dport:指定端口号
-A:指定要进行限制的那个链(默认是追加在最后面)
-I:有最后就有最前,这个参数就是
-t:指定查看那个表中的规则
-F:清除所有规则,不会处理默认的规则
-X:删除用户自定义的链
-Z:链的计数器清零(数据包计数器与数据包字节计数器 )
再来一条
iptables -A INPUT  -p tcp ! -s 172.16.1.0/24  --dport 22 -j DROP
这条语句是除了172.16.1.0这个网段的统统不允许	

防火墙规则的备份

iptables-save 

这条参数会直接将所有内容输出到屏幕上,我们用追加重定向放进文件里
iptables-save >/backup/iptables
恢复
iptables-restore </backup/iptables

图是我盗的.但字是我一个个敲出来的,侵权也不用联系我,我是不会撤掉的

猜你喜欢

转载自blog.csdn.net/weixin_44455125/article/details/90180825