Linux-iptables(filter表)详解

目录

一、iptables简介 :

(1)基本认识:

(2) 四表五链:

      1、“四表”是指 iptables 的功能

     2、“五链”是指内核中控制网络的 NetFilter 定义的 5 个规则链。每个规则表中包含       多个数据链,防火墙规则需要写入到这些具体的数据链中。

      3、 iptables的结构:

     4、图解:​

二、安装iptables服务: 

三、路由转发配置: 

四、filte表: 

 ——查看 filter 的详细规则

—— INPUT 入站链(找我的:

—— FORWARD 转发规则链 (找别人的)

——OUTPUT 出站链 (一般不配规则 否则数据无法出去)

—— 查看filter规则表:

五、iptables 的基本语法

—— 注意事项:

——数据包的基本控制类型

 ——写入规则

—— 添加新的规则:

—— 查看规则列表

—— 删除、清空规则

——指定默认策略

—— 匹配条件

常见的通用匹配条件

常见的隐含匹配条件

常见的显示匹配条件

——导出导入备份规则

导出:

导入:


一、iptables简介 :

(1)基本认识:

  • iptables 是集成在 Linux 内核中的包过滤防火墙系统。使用 iptables 可以添加、删除具体的过滤规则,iptables 默认维护着 4 个表和 5 个链,所有的防火墙策略规则都被分别写入这些表与链中。
  • 防火墙在做数据包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的数据包过滤表中,而这些表集成在 Linux 内核中。在数据包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfilter/iptables IP 数据包过滤系统是一款功能强大的工具,可用于添加、编辑和移除规则。
  • 虽然 netfilter/iptables IP 信息包过滤系统被称为单个实体,但它实际上由两个组件netfilter 和 iptables 组成。
  • netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
  • iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。除非您正在使用 Red Hat Linux 7.1 或更高版本,否则需要下载该工具并安装使用它。

(2) 四表五链:

      1、“四表”是指 iptables 的功能

——filter 表(过滤规则表):控制数据包是否允许进出及转发
——nat 表(地址转换规则表):控制数据包中地址转换
——mangle(修改数据标记位规则表):修改数据包中的原数据
——raw(跟踪数据表规则表):控制 nat 表中连接追踪机制的启用状况


     2、“五链”是指内核中控制网络的 NetFilter 定义的 5 个规则链。每个规则表中包含       多个数据链,防火墙规则需要写入到这些具体的数据链中。

——INPUT(入站数据过滤) :处理来自外部的数据

——OUTPUT(出站数据过滤):处理向外发送的数据。

——FORWARD(转发数据过滤):将数据转发到本机的其他网卡设备上。

——PREROUTING(路由前过滤) :– 处理刚到达本机并在路由转发前的数据包。它会转换数据包中的目标IP地址(destination ip address),通常用于DNAT(destination NAT)。

——POSTROUTING(路由后过滤): – 处理即将离开本机的数据包。它会转换数据包中的源IP地址(source ip address),通常用于SNAT(source NAT)。

      3、 iptables的结构:

iptables -> Tables -> Chains -> Rules. tables由chains组成,而chains又由rules组成。

     4、图解:

——————————————————————————————————————————————————————————

二、安装iptables服务: 

   设备:centos 7x64位

   1、安装iptables

root@localhost poem]# yum install iptables

 2、 出现问题(个人):

3、 解决:更改yum源

——备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 
——下载yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 
——清理旧的并生成新的
yum clean all && yum makecache 
(运行 yum makecache 生成缓存)

4、敲入以下代码并按两下tab键下载 iptables.service 服务 

root@localhost poem]# yum install iptables

[root@localhost poem]# yum install iptables-services -安装服务
[root@localhost poem]# systemctl restart iptables  -开启服务

安装成功!!!!! 

———————————————————————————————————————————————————————— 

三、路由转发配置: 

 sysctl -p 查看是否开启路由转发功能
————配置
[root@localhost poem]# vim /etc/sysctl.conf

 再查看:

 ——————————————————————————————————————————————————————————

四、filte表: 

 ——查看 filter 的详细规则

[root@localhost poem]# iptables -t filter -nvL

—— INPUT 入站链(找我的:

—— FORWARD 转发规则链 (找别人的)

 对 iptables -t filter -nvL

 • watch -n1 iptables -t filter -nvL (每秒钟观察状态)

然后再去 windos 上 ping -t

——OUTPUT 出站链 (一般不配规则 否则数据无法出去)

filter 规则写入:

格式
iptables -t filter -I INPUT -p tcp --dport 90 -j ACCEPT

—— 查看filter规则表:

 这样,我们就可以在外部访问这台服务器的网站了。

—————————————————————————————————————————————————————————— 

五、iptables 的基本语法

—— 注意事项:

  • 1. 不指定表名时,默认指向 filter 表
  • 2. 不指定链名时,默认表内所有链
  • 3. 除非设置链的默认策略,负责必须指定匹配条件
  • 4. 选项、链名、控制类型使用大写字母,其余均为小写

——数据包的基本控制类型

  • • ACCEPT 允许通过
  • • DOROP 直接丢弃,不给出任何提示
  • • REJECT 拒绝通过,必要时给出提示
  • • LOG 记录日志信息,然后传给下一条规则继续匹配 我们可以实际操作(icmp 协议 PING)看一下 DOROP 的 REJECT 的区别

 ——写入规则

• iptables -I FORWARD -s 0.0.0.0/0 -d 0.0.0.0/0 -j DROP DRO

—— 添加新的规则:

—— 查看规则列表

     • -L 列出所有规则条目

    • -n 数字的形式显示地址、端口信息

    • -v 以更详细的方式显示规则信息

    • --line-number 查看规则时,显示规则的序号

—— 删除、清空规则

    • -D 删除链内指定序号(或内容)的一条规则

    • -F 清空所有的规则 

例子:

删除 FORWARD 链中的序号 2 对应的规则

   iptables -D FORWARD 2

清空 FORFARD 链中所有的规则

   iptables -F FORWARD

当我们清空后,是不是规则就一直没有了呢

防火墙默认时保存其原来的配置的,只要重启 iptables 防火墙的服务,它之前 的规则就又会出来了

——指定默认策略

       • service iptables restart 指定默认策略

       • -P

注:默认策略的选择只有 DROP 和 ACCEPT

例子:

将 FORWARD 的默认策略改为 DROP

iptables -P FORWARD DROP

—— 匹配条件

  常见的通用匹配条件

    • 协议匹配 -p [协议名]

   • 地址匹配 -s [源地址] -d [目的地址]

   • 接口匹配 -i [入站网卡] 、-o [出站网卡]

常见的隐含匹配条件

   • 端口匹配 --sport [源端口]、--dport [目的端口]

  • TCP 标记端口 --tcp-flags [检查范围] [被设置的标记]

  • ICMP 类型匹配 --icmp-type [ICMP 类型]

例如:

 ICMP 类型 : 8 请求 0 回显 3 不可达

常见的显示匹配条件

    • 多端口匹配 -m multiport -- sport [源端口列表]、-m multiport -- sport [目的 端口列表]

   • IP 范围匹配 -m iprange --src-range [IP 范围]

   • MAC 地址匹配 -m mac --mac-source [MAC 地址]

——导出导入备份规则

  • iptables-save 工具

  • 可结合重定向输出保存到指定文件 将当前状态保存到一个桌面的文件中

导出:

  • iptables-save > /root/Desktop/ipt.txt

导入:

• iptables-restore < /root/Desktop/ipt.txt 将当前状态保存为默认规则

• service iptables save 无论你重启多次,它也会一直存在生效

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值