Iptables linux防火墙

本文介绍了iptables,一种基于内存的Linux防火墙。添加规则后,需通过`service iptables save`或`iptables-save > /etc/sysconfig/iptables`来保存配置,以防重启后失效。回顾了iptables的历史,从ipfwadmin到ipchains,再到iptables,以及在不同Linux发行版中的应用。
摘要由CSDN通过智能技术生成

前言:iptable基于内存的防火墙,添加规则后临时保存生效,机器重启后则失效;

          添加规则后注意保存 :
     iptables规则配置保存:
  (1) 方法一:
    # service iptables save
  (2) 方法二:
    # iptables-save > /etc/sysconfig/iptables

注意:iptables-save是连在一起的,是一个命令,不是参数;
        iptables-save 仅仅是列出当前设置,并不是将配置保存


 

 

 

    历史介绍: linux 内核2.0     RedHat 5.1       ipfwadmin
                            linux 内核2.2     RedHat 7.x       ipchains
                            linux 内核2.4     RedHat 9.x       iptables
                                                        centos 7           firewall


其实linux内核中运行的是 netfilter,用户通过iptables命令来调用 netfilter。


         iptables防火墙可以用于创建过滤(filter)与NAT规则。所有Linux发行版都能使用iptables,因此理解如何配置 iptables将会帮助你更有效地管理Linux防火墙。
        首先介绍iptables的结构:
          iptables -> Tables -> Chains -> Rules.
简单地讲,tables由chains组成,而chains又由rules组成。

        如果把linux当做网络防火墙的话,需要在执行iptables  之前激活ip数据包的转发功能。
因为普通的主机只能处理目标地址为自己的单播数据包,而防火墙需要把符合规则的、且目标地址为其他的机器的数据包进行转发,这样必须激活ip的转发功能(路由功能),激活命令|
    echo"1">/proc/sys/net/ipv4/ip_forward      此命令一次有效 
   编辑 /etc/sysctl.conf    设置net.ipv4.ip_forward=1    执行命令  #sysctl -p      永久生效


一、iptables的表与链
iptables具有Filter, NAT, Mangle, Raw四种内建表:
1. Filter表(过滤)
Filter表示iptables的默认表,因此如果你没有自定义表,那么就默认使用filter表,它具有以下三种内建链:
INPUT链 – 处理来自外部的数据。
OUTPUT链 – 处理向外发送的数据。
FORWARD链 – 将数据转发到本机的其他网卡设备上。

2. NAT表
NAT表有三种内建链:
PREROUTING链 – 处理刚到达本机并在路由转发前的数据包。它会转换数据包中的目标IP地址(destination ip address),通常用于 DNAT(destination NAT)。
POSTROUTING链 – 处理即将离开本机的数据包。它会转换数据包中的源IP地址(source ip address),通常用于 SNAT(source NAT)。
OUTPUT链 – 处理本机产生的数据包。

3. Mangle表
Mangle表用于指定如何处理数据包。它能改变TCP头中的QoS位。Mangle表具有5个内建链:
PREROUTING
OUTPUT
FORWARD
INPUT
POSTROUTING


4. Raw表
Raw表用于处理异常,它具有2个内建链:
PREROUTING chain
OUTPUT chain
 
Iptables linux防火墙 - 朝鲜程序员 - 朝鲜程序员的博客
Iptables linux防火墙 - 朝鲜程序员 - 朝鲜程序员的博客
 



 iptables定义规则的方式比较复杂:
 格式:
      iptables [-t table]  COMMAND chain [match]  [-j  ACTION]
Iptables linux防火墙 - 朝鲜程序员 - 朝鲜程序员的博客
                                           A增加 D删除 R替换   -p 协议   
                                           I插入   L列表       -s源地址  -d 目的地址
                                             F清除所有                   -i进入网卡
                                            X清除用户的              -o流出网卡
                                            Z统计归零         
--sport源端口    --dport 目的端口  
                                    N 新建链   P内置链策略
                                               E链改名


-t table :3个filter nat mangle  省略即默认为 filter表
 COMMAND:执行的命令
 chain:指定操作的链,当定义策略的时候,是可以省略的
 match :指定匹配模板
 -j ACTION :指定如何进行处理



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值