iptables防火墙

目录

一、防火墙基础

1.netfilter和iptables区别

2.iptables的表、链结构

3.数据包过滤的匹配过程

二、编写防火墙规则

1.iptables的安装

2.基本语法、数据包控制类型

3.添加、查看、删除等基本操作

三、规则的匹配条件

1.通用匹配

2.隐含匹配

3.显式匹配


一、防火墙基础

1.netfilter和iptables区别

  1. netfilter:指的是Linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在,属于“内核态”(Kernel Space ,又称内核空间)的防火墙功能体系
  2. iptables:指的是用来管理Linux防火墙的命令程序,通常于/sbin/iptables目录下,属于“用户态”(User Space , 又称用户空间)的防火墙功能体系

2.iptables的表、链结构

        1.规则表

  • filter表:用来对数据包进行过滤,根据具体的规则要求决定如何处理一个数据包。内核模块为iptable_filter
  • nat表:nat(网络地址转换)表主要用来修改数据包的ip地址、端口号等信息。内核模块为iptable_nat
  • mangle表:用来修改数据包的TOS(服务类型)、TTL(生存周期)、或者数据包设置Mark标记,以实现流量整形、策略路由等高级应用。内核模块为iptable_mangle
  • raw表:用来决定是否对数据包进行状态跟踪。内核模块为iptable_raw

        2.规则链

  • INPUT链:当收到访问防火墙本地地址对数据包(入站)时,应用此链中的规则
  • OUTPUT链:当防火墙本机向外发送数据包(出站)时,应用此链中的规
  • FORWARD链:当接收到需要通过防火墙、中转发送给其他地址的数据包(转发)时,应用此链中的规则
  • PRERUTING链:在对数据包最路由选择之前,应用此链中的规则
  • POSROUTING链:在对数据包做路由选择之后,应用此链中的规则

注:INPUT、OUTPUT链主要用在“主机型防火墙”中,即主要针对服务器本机进行保护的防火墙;而PORWARD、PREROUTING、POSROUTING键多用在“网络型防火墙”中,如使用Linux防火墙作为网关服务器,在公司内网与Internet之间进行网络控制

3.数据包过滤的匹配过程

  1. 规则表之间的顺序
    raw-mangle-nat-filter
  2. 规则链之间的顺序
  • 入站数据流向:来自外界的数据包到达防火墙后,首先被PREROUTING链处理,然后进行路由选择;如果数据包目标地址时防火墙本机,那么将内核传递给INPUT链进行处理,通过后在交给系统上层的应用程序进行响应
  • 转发数据流向:来自外界的数据包到达防火墙后,首先被PREROUTING链处理,在进行路由选择;如果数据包目标地址是外部地址,则内核将其传递PORWARD链进行处理,最后交给POSTROUTING链处理
  • 出站数据流向:防火漆本机向外部发送数据包,首先进行路由选择,确定了输出路径后,再经有OUTPUT链处理,最后再交给POSTROUTING链进行处理
  1. 规则链内部各条防火墙规则之间的顺序
  • 当数据包经过每条规则链式,依次按照规则的顺序匹配和处理,链内遵循“匹配即停止”的原则,一旦找到一条相匹配的规则,则不会检查本链的其他规则

二、编写防火墙规则

1.iptables的安装

dnf -y install iptables iptables-services

2.基本语法、数据包控制类型

  1. 基本格式
    iptables 【-t 表名】 管理选项 【链名】 【匹配条件】 【-j 控制类型】
  2. 类型
  • ACCEPT:允许数据包通过
  • DROP:直接丢弃数据包,不给出任何回应信息
  • REJECT:拒绝数据包通过,必要时会给数据发送端一个响应信息
  • LOG:再/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则

3.添加、查看、删除等基本操作

类型选项用途
增加
 
-A

追加到最后一行

-I

插入到第一行(或指定序号)


查看

 
-L

列出所有规则

-n

以数字形式显示

-v

详细信息

--line(--line-number)

显示序号

删除
 
-D

删除一条(指定序号或内容)

-F

清除所有

修改-R

替换某条规则

设置默认-P

设置默认规则

三、规则的匹配条件

1.通用匹配

  1. 协议匹配:-p 协议名
  2. 地址匹配:-s 源地址 -d 目标地址
  3. 网络接口匹配:-i 接口名 -o 接口名

2.隐含匹配

  1. 端口匹配:--sport 源端口 --dport 目标端口
  2. ICMP匹配:--icmp-type ICMP

3.显式匹配

  1. 多端口匹配:-m multiport --dports 端口列表 -m multiport --sports 端口列表
  2. IP范围匹配:-m iprange --src-range IP范围 -m iprange --dst-range IP范围
  3. MAC地址匹配:-m mac --mac-source MAC
  4. 状态匹配:-m state --state 连接状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值