计算机网络学习—防火墙工具iptables

计算机网络——防火墙

防火墙简介

防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。

防火墙的一些功能:(保护功能)

1、防止来自被保护区域外部的攻击。
2、防止信息外泄和屏蔽有害信息。
3、集中安全管理。
4、安全审计和告警。
5、增强保密性和强化私有权。
6、访问控制和其他安全作用等。

 

Linux防火墙概述

1、netfilter

位于Linux内核中的包过滤防火墙功能体系

称为Linux防火墙的 “内核态” , 即工作在内核空间里的进程的台词

内核态的进程可以访问用户空间

在这里插入图片描述
 

2、iptables防火墙工具

位于/sbin/iptables,是用来管理防火墙的命令工具

为防火墙体系提供过滤规则/策略,决定如何过滤或处理到达防火墙主机的数据包

称为Linux防火墙的 “用户态” , 即工作在用户空间里的进程

用户态的进程不能访问内核空间

问题:什么时候用户启动的进程可以变成内核态?
1、系统调用的时候
2、中断的时候:
    硬件出现问题(异常)
    IO(进出或者读写)的时候 --> input output 网络IO 磁盘IO

中断:中间运行的时候被打断(终止)--> interrupt

在这里插入图片描述

iptables的规则表、链结构

规则链:规则堆放的一个位置 --> ip,端口号,协议,icmp等

规则的作用在于对数据包进行过滤或处理,根据处理时机的不同,各种规则被组织在不同的“链”中
规则链是防火墙规则/策略的集合

默认的5钟规则链

INPUT:处理入站数据包
OUTPUT:处理出战数据包
FORWARD:处理转发数据包
POSTROUTING链:在进行路由选择后处理数据包
PREROUTING链:在进行路由选择前处理数据包

规则表

具有某一类相似用途的防火墙规则,按照不同处理时机区分到不同的规则链以后,被归置到不同的“表”
规则表时规则链的集合

默认的4个规则表

raw表:确定是否对该数据包进行状态跟踪
mangle表:为数据包设置标记
nat表:修改数据包中的源、目标IP地址或端口
filter表:确定是否放行该数据包(过滤)

filter表中蕴含的链

Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)

在这里插入图片描述

查看规则表中的集合链

[root@zjx ~]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
目标       协议 选择  源                    目的地

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source

规则表与规则链的顺序

规则表间的优先顺序
依次为:raw、mangle、nat、filter

规则链间的匹配顺序
入站数据:PREROUTING、INPUT
出站数据:OUTPUT、POSTROUTING
转发数据:PREROUTING、FORWARD、POSTROUTING

规则链内的匹配顺序
按顺序依次进行检查,找到相匹配的规则即停止(LOG策略会有例外)
若在该链找不到相匹配的规则,则按该链的默认策略处理

数据包过滤匹配图
在这里插入图片描述

3、管理和设置iptables规则

iptables命令的语法格式

iptables [-t 表名] 管理选项 [链名] [条件匹配] [-j 目标动作或跳转]

几个注意事项:

1、不指定表名时,默认表示filter表

2、不指定链名时,默认表示该表内所有链

3、除非设置规则链的缺省策略,否则需要指定匹配条件

设置规则内容:
-A:在链尾追加一条新的规则    append
-I:在指定位置(或链首)插入一条新的规则   insert
-R:修改、替换指定位置或内容的规则   replace
-P:设置指定链的默认策略   policy

列表查看规则:
-L:列表查看各条规则信息   list
(查看全部规则,以列表形式:nft list ruleset)
--line-numbers:查看规则信息时显示规则的行号
-n:以数字形式显示IP地址、端口等信息   number
-v:显示数据包个数、字节数等详细信息   verbose

清除规则:
-D:删除指定位置或内容的规则
-F:清空规则链内的所有规则

自定义规则链:
-N:创建一条新的规则链
-X:删除自定义的规则链

其他:
-h:查看iptables命令的使用帮助

测试

在这里插入图片描述

创建新链后的应用

[root@zjx /iptables]# iptables -t filter -I INPUT -p icmp -j zjxzwp
[root@zjx /iptables]# iptables -t filter -A zjxzwp -p icmp -j DROP
[root@zjx /iptables]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
zjxzwp     icmp --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain zjxzwp (1 references)
target     prot opt source               destination 
DROP     icmp --  anywhere             anywhere  

此作用就是将INPUT链里的icmp数据包全都交给新链zjxzwp去处理,zjxzwp链则会将包DROP掉

4、设置匹配数据包的条件

在这里插入图片描述

1、通用条件匹配

在这里插入图片描述
在这里插入图片描述
 

2、隐含条件匹配

在这里插入图片描述
在这里插入图片描述
 

3、显示条件匹配

在这里插入图片描述
在这里插入图片描述
 

数据包

在这里插入图片描述
在这里插入图片描述
 

5、导入导出防火墙规则

导出规则

iptables-save
结合重定向输出 “>” 符号保存规则信息

导入规则

iptables-restore
结合重定向输入 “<” 符号恢复规则信息

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值