iPtables 介绍
2018-11-07阅读 4721

Iptables隶属于netfileter.org的一个包过滤框架的一个项目软件,基本在linux 2.4.x以后的版本中都在内核中支持。Iptables的项目https://git.netfilter.org/iptables/.


主要功能

Iptables提供包过滤、网络地址转换和其他包封装处理,主要功能如下所示:

1、 无状态包过滤(IPv4 and IPv6)

2、 有状态包过滤(IPv4 and IPv6)

3、 各种网络地址和端口转换,比如NAT或者NAPT(IPv4 and IPv6)

4、 灵活的和可扩展的基础设施

5、 用于第三方扩展的多层API

我能用iptables做什么?

1、 基于有状态或无状态包过滤来建立互联网防火墙

2、 部署高可用有状态或无状态集群

3、 使用NAT或者伪装来共享外网接口来代理内网上网

4、 使用NAT来实现透明的代理

5、 有助于TCiproute2,用于构建复杂的QOS和策略路由

6、 数据包分组,比如修改IP报头的TOS/DSCP/ECN

我能从哪里获得最新版iptables


1、 http://www.netfilter.org/projects/iptables/downloads.html

2、 https://git.netfilter.org/iptables/

3、 2.4.X内核以后的Linux都自带iptables,不过不是最新版,这个要注意

4、

下载iptables

确认一下操作系统自带的iptables版本

iptables –V


wget http://www.netfilter.org/projects/iptables/files/iptables-1.6.1.tar.bz2

Iptables概念

表、链、策略

Iptables ip6tables命令用于在内核中设置、维护ipv4ipv6包过滤,内置了几个不同的表,每个表又包括一到多个内置链或者用户定义的链,每个链都是一些规则的列表,每个规则来指定哪些包应该数据包的用途,这个被称为target

策略结果解释

Iptables防火墙匹配的结果有3个,acceptdropreturnaccept的意思是,允许数据包通过,而drop的意思是丢弃数据包,这些都好理解,我们来看看returnreturn 如果被触发,就会返回上一个链,如果是一个内置的链,将由target策略来决定去留。

表解释

Filter: 这个是默认表,包含了内置的链,分别为inputoutputforward

Nat: 这个表主要对新建立的链接,关联了四个内置的链,分别为preroutinginputoutputpostrouting

Mangle: 此表用于专门的包更改,内核到2.4.17后,它有两个内置的链,preroutingoutput2.4.18开始,它有了三个内置的链,inputforwardpostrouting

Raw: 这个表主要用于和NOTRACK target相结合,它在netfileter中,在ip_conntrack之前以高优先级注册,它由两个内置的链提供preroutingoutput

Security: 这个表用于MAC网络规则



头像
李晓辉
16
文章总数
41249
总阅读数