iptables 详解

iptables 不是防火墙,而是一个客户端,通过执行命令将防火墙的配置放置在真正的防火墙框架中,位于用户空间,netfilter 才是真正的防火墙安全框架,位于内核空间。我们可以通过 iptables 对进入主机和从主机的 ip 以及端口进行限制,还可以进行网络转发。下面图片来源于博客 iptables详解:iptables 概念

image

如上图所示,”链“ 表示的是数据流经过的一个一个的关卡,一共有五个链:PREROUTING, INPUT, FORWORD, OUTPUT, POSTROUTING

  • 到本机某进程的报文:PREROUTING -> INPUT
  • 从本机某进程出去的报文:OUTPUT -> POSTROUTING
  • 由本机转发的报文:PREROUTING -> FORWARD -> POSTROUTING

“表” 表示的是每个关卡上设置的规则的分类,一共有四类

  • filter 表:负责过滤功能,防火墙;内核模块:iptable_filter
  • nat 表:网络地址转换功能;内核模块:iptable_nat
  • mangle 表:对报文进行拆分和修改;内核模块:iptable_mangle
  • raw 表:关闭 nat 表上启用的连接追踪机制:iptable_raw
表和链的关系

并不是所有的链上都同时存在上面四个表,同时每个表也不会存在所有的链上:

  • PREROUTING:raw,mangle,nat
  • INPUT: mangle, filter
  • FORWARD: mangle, filter
  • OUTPUT: filter, nat, mangle, raw
  • POSTROUTING: mangle, nat

同一个链中,表的优先级 raw -> mangle -> nat -> filter

规则
  • 规则表示一条链上某个表的一些匹配条件,比如拒绝某个 IP 访问
  • 一个链上某个表可以设置多条规则
  • 规则的顺序很重要,一旦有一个规则匹配成功了,后面的规则将会被忽略
  • 如果所有规则没有匹配,那么会有一个默认规则
  • 修改规则的逻辑最好是先删除某条规则,再加入新的规则
  • iptables 所有的规则都保存在 /etc/sysconfig/iptables
  • 设置了新的规则后,必须使用 service iptables save 进行保存或者使用iptable-save > /etc/sysconfig/iptables,否则重启后,新设置的规则将失效
  • 一个规则中存在多个匹配条件时,这些条件默认规则是与的关系,比如端口,IP必须满足才算匹配
  • 默认的匹配规则有:
- -s: 指定源地址,可以匹配多个 ip 地址,用逗号隔开,也可以指定一个 ip 段
- -d: 指定目标地址
- -p: 指定协议类型,可以是 tcp/udp/icmp/sctp/esp 等
- -i: 表示指定从哪个网卡流入的,只能用于 INPUT,PREROUTING,FORWARD 链
- -o: 表示指定从哪个网卡留
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值