防火墙:iptables详细介绍

Iptables详细介绍
1、 iptables 简介 2
2、iptables常用规则操作 4
2.1.增加规则(-I) 4
2.2. 追加规则(-A) 5
2.3. 删除规则 (–D ) 5
2.4. 修改规则 –R 5
2.5. 保存规则 (save) 6
3、iptables匹配条件用法 6
3.1 匹配条件:源IP地址(-s) 6
3.2 匹配条件:目的IP地址(-d) 7
3.3 匹配条件:协议类型(-p) 8
3.4 匹配条件:网卡接口 (-I 流入; -o 流出) 8
3.5 匹配条件:扩展模块之源端口和目的端口(-m tcp --sport 和 –m tcp --dport) 9
4. 常用扩展模块介绍 10
4.1 –m ipragnge扩展模块 10
4.2 –m string 扩展模块 11
4.3 time扩展模块 11
4.4 connlimit扩展模块 12
4.5 limit 扩展模块 12
4.6 TCP扩展模块 13
4.7 UDP扩展模块 15
4.8 imcp扩展模块 15
4.9 State扩展模块 16
5、黑白名单机制 17
6. iptables自定义链 18
6.1.手动创建一条自定义链(–N 选项) 18
6.2.规则配置 18
6.3.引用自定义链 19
6.4.重命名自定义链:(-E选项) 19
6.5.删除自定义链:(-X选项) 19
7.网络防火墙配置命令总结 19
8. iptables 的动作处理 20
8.1.动作: SNAT 21
8.2.动作:DNAT 21
8.3.动作:MASQUERADE 21
8.4.动作:REDIRECT 21
9.iptables总结常用套路 22

1、 iptables 简介
Iptables 其实不是真正的防火墙,我们可以理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的安全框架中,这个安全框架才是真正的防火墙,这个框架名称:netfilter
Netfilter才是真正的安全框架,位于内核空间
Iptables其实是一个命令工具,位于用户空间,我们利用这个工具操作真正的框架netfilter

Netfilter/iptables 组成linux平台下的包过滤防火墙,切实免费的,可以代替昂贵的商业防火墙解决方案,完成封包过滤,封包重定向,网络地址转化NAT等功能。

Netfilter是linux操作系统核心层内部的一个数据包处理模块,具有以下功能:

  1. 网络地址转换NAT
    2.数据包内容修改
    3.数据包过滤的防火墙功能
    所以说:虽然在linux下使用 service iptables start 启动iptables服务,但是准确来说,iptables并没有一个守护进程,所以并不上是真正意义上的服务,而应该是内核提供的功能。

Iptables基础:数据经过防火墙的流程图:
在这里插入图片描述
常用查看命令:
Iptables –t 表名 –L
Iptables –t 表名 –L 链名
选项参数:
–line-number:列出规则编号
-v :显示更详细的内容
-n:不对IP地址名称进行反解
-L:列出规则
-x:表示显示计数器的精确值
删除所有规则: iptables –F
链的概念:
有哪些链: PREROUTING,INPUT,FORWARD,OUPUT,POSTROUTING
每个经过这个关卡的报文,都要将这条链上的所有规则匹配一遍,如果符合条件的规则,则执行对应的动作。
表的概念:
有4张表:filter,nat,mangle,raw
Filter表:负责过滤功能,防火墙;内核模块:iptables_filter
Mangle表:拆解报文,作出修改,并重新封装的功能:iptables_mangle
Nat表:网络地址转换功能;iptables_nat
Raw表:关闭nat表上启用的连接追踪机制:iptables_raw
表链关系:
PREROUTING的规则可以存在: raw,mangle,nat表
INPUT的规则可以存在:mangle,filter表(centos7中海油nat表,centos6中没有)
FORWARD规则可以存在:mangle,filter表
OUTPUT规则可以存在:raw,mangle,nat,filter表
POSTROUTING规则可以存在:mangle,nat表
在实际使用过程中,往往是通过表作为操作入口,对规则进行定义的。
在这里插入图片描述

Iptables定义的4张表,当他们处于同一条链时:执行的优先级顺序:rawmanglenatfilter
处理动作:
ACCEPT:允许数据包通过
DROP:直接丢弃数据包
REJECT:拒绝数据包通过
SNAT:源地址转换,解决内网用户同一个公网地址上网的问题
DNAT:目标地址转换
MASQUERADE:是SNAT的一种特殊形式,适用于动态的,临时会变的IP上。
REDIRECT:在本机做端口映射
LOG: 在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则

2、iptables常用规则操作
增删改查操作
2.1.增加规则(-I)
-I: 添加到链的首部位置
拒绝192.168.1.111主机上的所有报文访问当前主机
Iptables –t filter –I INPUT –s 192.168.1.146 -j DROP
-t:指定要操作的表,不使用-t 默认就是filter表
-I:插入到INPUT链中(insert)
-s:指明匹配条件中的原地址(source)
-j:指明匹配条件满足时,所对应的动作,这里是DROP丢弃

查看下iptables规则
Iptables -nvL INPUT
在这里插入图片描述
解释:
Policy ACCEPT: 表示INPUT链默认动作是ACCEPT
Pkts:对应规则匹配到的报文的个数
Bytes:对应匹配到的报文包大小总和
Target:规则对应的target,往往表示规则对应的动作,即规则匹配成功后需要采取的操作
Prot:表示规则对应的协议
Opt:表示规则对应的选项
In:表示数据包由哪个接口流入,我们可以设置通过哪块网卡流入的报文需要匹配当前规则
OUT:表示数据包由哪个接口流出
Source:表示规则对应的源头地址,可以是一个IP或一个网段
Destination:表示规则对应的目标地址;
注意:有的原地址和目的地址显示是:anywhere;说明 IPtables默认为我们进行了名称解析,但是规则非常多时;这种解析效率很低,所以使用-n选项,表示不对IP地址进行名称反

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值