iptables 实现主机防火墙(四表五链)

一. 综述iptables

iptables 实际上就是一种包过滤型防火墙。就是通过书写一些接受哪些包,拒绝哪些包的规则,实现数据包的过滤。这些规则存储在专用的信息包过滤表中,而这些表集成在 Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。

iptables由两部分组成:
1.framework:netfilter hooks function钩子函数,实现网络过滤器的基本框架。
2.rule utils:iptables 规则管理工具


总体说来,iptables就是由“四表五链”组成。
四表:

  • filter:过滤,防火墙
  • nat :network address translation 网络地址转换
  • mangle:拆解报文,作出修改,封装报文
  • raw: 关闭nat表上启用的链接追踪机制

五链:

  • PREROUTING 数据包进入路由之前
  • INPUT 目的地址为本机
  • FORWARD 实现转发
  • OUTPUT 原地址为本机,向外发送
  • POSTROUTING 发送到网卡之前

    这里写图片描述

iptables中表与链的对应关系,其实就是一个表中包含哪几个链

这里写图片描述

二. iptables命令常用方法

iptables [-p table] 链管理 chain
-t table : filter,nat,mangle,raw (默认为 filter)

链管理:

  • -F : 清空规则链
  • -N:创建新的自定义规则链
  • -X : drop 删除用户自定义的规则链
  • -P : Policy 为指定链设置默认策略;iptables -t filter -P FORWARD DROP
  • -E:重命令自定义链

规则管理:

  • -A:蒋新规则添加到指定的链上
  • -I:将新规则插入到指定的位置
  • -D:删除链上的指定规则
  • -R:替代指定链上的规则

查看:

  • -L:列表,列出指定链上的指定的规则
    -n -v –line-numbers -x 等参数

匹配条件:
基本匹配:
-s 原地址IP
-d 目的IP
-p 协议{tcp|udp|icmp}
-i 数据报文的流入接口
-o 数据报文的流出接口
扩展匹配:-m match_name
–dport PORT:目标端口,可以是单个端口
–sport PORT:源端口
-p udp|tcp|icmp
–icmp-type
0 : echo-reply
8 : echo-request

目标:
-j TARGET:jump至指定的TARGET
- ACCEPT 接受
- DROP 丢弃
- REJECT 拒绝访问
- RETURN 返回调用链

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值