linux如何设置iptables防火墙

1.什么是防火墙呢为什么要设置防火墙?

 1.防火墙就是用户保护一个单位的内部网络,对数据包进行过滤,不受外部的非法访问、防火墙可以通过ip,端口,协议等参数对数据包进行过滤。

在我们工作中主要有

.安全防护
.流量监控
.数据包过滤
.入侵检测防御
.访问控制
那么和大家聊聊linux里面的防火墙,其实在RockyLinux里面默认用的是FrieWalld防火墙,但是friewalld他的底层还是调用的包过滤防火墙iptables。(当然你可以把friewalld理解为一个皮肤让我们更直观)。                                                                                                                                    

2.iptables的结构
1.iptables它的结构就是我们常说的(4表5链)。

 当然并不是说每个表都能是5链,只是有的是5链有的是三链,具体看上面这幅图,其实在我们日常工作中用的最多的是filter表和里面的三种链,具体还是看你项目的端口,后面会给大家部署一个项目详细讲解一下。 

这个让大家更直观的看到filter表里面的内容。

那么包过滤匹配的流程

1.从左到右依次匹配匹配即停止。(当然我log日志除外)

2.若无任何匹配则按照这个链接的默认策略。

2.iptables的语法

iptables -t 指定使用的表 -I 指定所使用的链 -指定协议 -j 指定操作策略。

INPUT 对进入本机的数据进行过滤。(可以理解为目标地址) *个人这个比较用的多。

OUTPUT 本机对外产生的数据包 ( 可以理解发送到源地址的)

FORWORD 过滤所有路过本机的数据包(说白了就是源地址和目标地址都不是本机的数据)

         

大家可以看到 ,我对我的20服务器设置了一个策略,禁止别人ping 我的服务器。 

 

注意重点,如果我们在使用过程中不指定表那么默认使用的是filter表,那么如果我们不使用链那么他默认指定这个表所有的链,如果没有规则那么默认使用防火墙的规则(ACCEPT),这个面试会问!

那么可以对目标进行那些操作呢

ACCEPT (通过)

DROP (拒绝没有返回值) 可以理解和一个人表白然后对方没有任何回复结果很明显就是拒绝。

REJECT (拒绝有返回值告诉你为啥拒绝) ,和什上面这个例子相反打字太累不能复制跳过。

LOG(日志) 所有策略都是匹配及停止log除外。

 下面这些我就演示几个常用的。

iptables -nL 查看自己设置的规则。

                              

iptables -F 清空所有的规则。  可以看到哈清空所有规则之后再查看什么也没有了。

                       

iptables -t 表 -I 开头 -p  -j   在开头添加

iptables   -A -p -j    结尾添加       (规则也是分顺序执行的哦)

iptables -I 2 -p -j         指定第几条。

 

可以看到顺序 先写的不一定在最前面。iptables -D 链  删除第几条规则 

删除完之后第三条规则没有了。 

3.防火墙的匹配条件

首先和大家说一下我在工作中常用的是filter表其他的我不熟悉。

1.通用匹配能直接用不依赖其他条件,包括IP协议网络地址,网络端口等。

2.隐藏匹配,要求以特定的协议匹配作为前提,包括端口tcp,icmp协议。

对网络知识没有那么深说的不对的可以评论区纠正。

               

下面我做一个策略限制特定ip对我进行访问。

iptables -A  INPUT -s 192.168.1.10 -j  REJECT 

注意看规则禁掉之后我来访问一下看看结果。

                          

可以看到禁掉这个ip之后远程登入被拒绝(声明一下本人写完博客对服务器进行修改ip和端口,大佬切勿进行攻击里面啥也没)。 

我们可以进行设置整个指定的网段进行禁止

iptables -A  -s 192.168.168.0/24  -j DROP

整个网段都无法对我进行远程。

当然我们也可以限制端口访问

iptables -A INPUT   -s(ip) -p tcp --dport  -j ACCEPT

 

只能指定的这个IP对我进行访问              注意区分大小写我上面这个报错就是p大写的问题。

那么我有一个需求就是,你不能对我进行ping  而我对你可以进行ping 

 第一步禁止的请求

iptables -A INPUT -p icmp --icmp-type  echo-request -j DROP

不制止自身发出去的数据包

iptables -A INPUT -p icmp   ! --icmp-type   echo-requset  -j DROP

看效果

                    

由于本人用的是云服务器,我设置防火墙把自己干死了,腾讯云有办法补救,还是建议大家写一个重置脚本,每5分钟执行一次。

其他的我不多说,因为云服务器有自己的安全组。

 

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值