快速了解iptables原理

​ iptables是一个命令行工具位于用户空间,用户通过iptables这个客户端将安全设定执行到内核的netfilter模块。netfilter是linux操作系统的一个数据包处理模块,具有网络地址转换、数据包内容修改、数据包过滤等防火墙功能。

一、表和链

​ 链可以理解为“关卡”,数据包通过不同的关卡匹配不同的规则,然后根据规则的进行处理。如drop、accept、reject等。

在这里插入图片描述

  1. 在centos6中INPUT的规则不能存在与nat表,但是centos7是可以的;
  2. 日常更多使用的是从表到链的对应关系
  • raw表中的规则可以被使用的链:PREROUTING,OUTPUT
  • mangle表中的规则可以被使用的链:PREROUTING,INTPUT,FORWARD,OUTPUT,POSTROUTING
  • nat表中的规则可以被使用的链:PREROUTING,OUTPUT,POSTROUTING
  • netfilter表中的规则可以被使用的链:INTPUT,FORWARD,OUTPUT
  1. 链的匹配规则是从上到下按顺序匹配,直到匹配成功
  2. ipvs模块用于lvs转发,附属在INPUT链上,作为netfilter的一部分
  3. 常用场景
  • 到本机应用的数据包:PREROUTING --> INTPUT
  • 由本机转发数据包:PREROUTING --> FORWARD --> OUTPUT
  • 由本机应用发出的数据包:OUTPUT–> POSTROUTING
  • 本机作为lvs转发数据包:PREROUTING --> INTPUT --> IPVS–> POSTROUTING
  1. linux主机支持转发,需开启内核IP_FORWARD功能

二、规则管理

iptables -t filter -I INPUT -s 192.168.0.240 -j ACCEPT			#添加规则
iptables -t filter -A INPUT -s 192.168.0.2401-j ACCEPT			#追加规则
iptables -t filter -D INPUT 3					#删除规则

service iptables save							#保存规则,需要安装iptables-service,默认保存到/etc/sysconfig/iptables
iptables-save > /etc/sysconfig/iptables			#保存规则,持久化
iptables-restore < /etc/sysconfig/iptables		#载入规则

三、与firewalld区别

​ firewalld和iptables一样,它们的作用都用于维护规则,而真正使用规则干活的是内核的netfilter。只不过firewalld和iptables的结果以及使用方法不一样。firewalld是iptables的一个封装,可以让你更容易地管理iptables规则。它并不是iptables的替代品,虽然iptables命令仍可用于firewalld,但建议firewalld时仅使用firewalld命令

  1. firewalld可以动态修改单条规则,动态管理规则集,允许更新规则而不破坏现有会话和连接。而iptables,在修改了规则后必须得全部刷新才可以生效;

  2. firewalld使用区域和服务而不是链式规则;

  3. firewalld默认是拒绝的,需要设置以后才能放行。而iptables默认是允许的,需要拒绝的才去限制

默认是拒绝的,需要设置以后才能放行。而iptables默认是允许的,需要拒绝的才去限制

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值