iptables入门介绍

什么是iptables

说白了,iptableslinux当中充当类似防火墙的功能。它依赖于linux内核的netfilter模块,在它的基础上实现了自己的规则,转发筛选数据包。

和firewalld的区别

我们只需要知道,区别就是筛选方式和手段不一样,但是都是依赖netfilter实现的。具体的区别是什么,有兴趣的可以自己搜索。

安装iptables

yum install iptables iptables-services && systemctl start iptables && yum enable iptables

概念

Tables

iptables中按照功能分为五种不同类型的表格(table)

  • filter: 适用于做数据包的筛选,如果没有指定的话,是默认table
  • nat: 适用于网络地址做转发 (NAT)
  • raw: 适用于在配置文件放行一些连接,在经过任何table之前都会先经过此table
  • mangle: 适用于专业数据包变更
  • security: 适用于强制的访问控制网络规则

指定table使用-t (--table)选项

Chains

每个表格都可以含有多条链(chain)。本篇文章主要关注filter,主要介绍INPUT,FORWARD,OUTPUT

  • INPUT chain 处理要访问当前系统的数据包
  • OUTPUT chain 是本地生成的数据包
  • FORWARD chain 适用于通过当前主机转发的数据包

用户使用-N (--new-chain)选项添加一条新的链,使用-X (--delete-chain)选项删除一条链。

Rules

rules被定义为一组规则,这组规则会把数据包匹配到指定目标。ruleschain中是以list的形式存在,所有的Rule会进行排序,然后数据包一条一条的匹配,知道匹配到指定路由。

Matches

一个match是一个数据包的判断条件。下面是部分匹配选项的说明
-s (--source): 指定数据包的源,可以是IP,主机名

-d (--destination): 指定目的地

-p (--protocol): 匹配协议,如果不指定,接受任何协议

-i (--in-interface): 匹配接收数据包的接口和输出接口

Target

表示数据包通过匹配规则后的动作,并且使用-j (--jump)选项跳转。下面是四个内置的target

  • ACCEPT: 允许数据继续传输而不需要其他的验证
  • DROP: 拒绝数据包
  • QUEUE: 把数据包传递到用户空间
  • RETURN: 把数据包传递给上一个chain中的下一个rule

操作示例

查看所有Chains

iptables --list

查看所有Rules

iptables --list-rules

查看某个FORWARD上的所有rule

iptables -L FORWARD

主机192.168.0.2拒绝主机192.168.0.1的所有数据包

iptables -A INPUT -s 192.168.0.1 -d 192.168.0.2 -j DROP

删除INPUT的第一条rule

iptables -D INPUT 1

更多操作查看

iptables --help
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值