iptables实践

一、相关概念

1.1、链(chain)

iptables包含以下五种内置链:

  • PREROUTING:数据包刚到达本机,未经过路由之前;
  • INPUT:数据包经过路由进入本机;
  • FORWARD:数据包转发;
  • OUTPUT:数据包从本机发出,未经过路由之前;
  • POSTROUTING:数据经过路由离开本机。

1.2、表(table)

iptables包含四种表:

  • raw表:关闭nat表上启用的连接追踪功能;
  • mangle表:拆解报文,作出修改,并重新封装;
  • nat表:网络地址转换,修改源IP地址或目的IP地址,也可以对端口进行修改;
  • filter表:过滤数据包。

表处理的优先级:raw表 --> mangle表 --> nat表 --> filter表

1.3、表链关系

raw表对应的链:PREROUTING、OUTPUT;
mangle表对应的链:PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING;
nat表对应的链:PREROUTING、OUTPUT、POSTROUTING,CentOS7以上系统还包括INPUT;
filter表对应的链:INPUT、FORWARD、OUTPUT

1.4、路由功能

路由功能发生的时刻:

  • 数据包到达本机后,判断目标主机是哪里?
  • 数据包离开本机时,判断应该由哪个接口(网卡)送往下一站。

1.5、报文流向

数据包流向大致可以分为三类:

  • 数据包流入本机:PREROUTING --> INPUT
  • 数据包由本机流出:OUTPUT --> POSTROUTING
  • 数据包转发:PREROUTING --> FORWARD --> POSTROUTING

数据流向

二、iptables使用

2.1、iptables命令用法

iptables命令语法格式:

iptables [-t table] COMMAND chain [-m matchname [per-match-options]] -j targetname [per-target-options]
  • -t table:raw、mangle、nat、filter。默认值为filter;
  • chain:内置链包括PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING;
  • COMMAND:
    链管理相关:
    -N:自定义一条新的规则链;
    -X:删除自定义的规则链,指定链名则删除指定链,不指定则删除所有;
    -P:设置默认策略。对filter表中的链,策略有:ACCEPT(接收),DROP(丢弃),REJECT(拒绝)。DROP和REJECT的区别在于REJECT有特定的数据返回给对方,而DROP则直接丢弃数据包;<
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值