iptables how to



本文的主要思想互联网整理归纳而来。如有雷同,纯属巧合。

按照国人的传统思维,我先对iptbale下个定义

iptables是什么

维基百科对iptables的定义是:

iptables或netfilter(网络过滤器)是一个工作于用户空间的防火墙应用软件,允许系统管理员可以调整设置X表(Xtables)提供相关的系统表格(目前主要位于iptables/netfilter)以及相关的“链”与“规则”来管理网络数据包的流动与转送的动作。因相关动作上的需要,iptables的操作需要用到超级用户的权限。在大部份的Linux系统上面,iptables是使用/usr/sbin/iptables来操作,文件则放置在手册页(Man page[2])底下,可以通过 man iptables 指令取得。通常iptables都需要内核层级的模块来配合运作,Xtables是主要在内核层级里面iptables API运作功能的模块。

目前iptables系在2.4、2.6及3.0的内核底下运作,旧版的Linux内核(2.2)使用ipchains及ipwadm(Linux 2.0)来达成类似的功能,2014年1月19日起发布的新版Linux内核(3.13后)则使用nftables取而代之。


说白了,就是一个防火墙应用软件,依据特定的规则管理IP包的流动或者转发。

iptables和ip6_tables、arp_tables一同都是建构在Xtables的架构下,这个方案让系统管理员定义“表(tables)”、“链(chain)”、“规则(rules)”三个数据来处理数据包的运送。

每一个“表”都和不同的数据包处理有关决定数据包是否可以穿越的是“链”、而一条“规则”在键里面则可以决定是否送往下一条链(或其它的动作),这个处理可以在嵌套的结构里面重复使用。每一个网络数据包从抵达到离开该计算机至少会经过一个链(亦即转送或本机路由)。


iptables中的术语

nat表、filter表、mangle表;各个表都和不同的数据包处理有关


mangle表,一般作为特殊处理时使用,我们般不需要使用mangle。

filter表:也就是过滤。

在不同的链上,通过过滤特定的数据包以达到防火墙的目的。我们的所有防火墙规则都是通过该表来实现。

nat表:顾名思义,即完成NAT操作;

nat分为SNAT(针对外网是静态IP地址的NAT转换),DNAT(目的地址NAT)和伪装(类似SNAT,但是针对WAN是动态的处理)三种类型。后续会详细讨论



1. prerouting,在网络上接受数据报文的链;

如果目的MAC地址匹配的话,就会进入该链。---我们在此处可以实现 VPN 的pass through

默认的匹配规则也一般在此处落点。


prerouting处理完之后,判断路由进入

2. input,output,

3. forwarding

所有转发的数据报文,均在该链进行匹配操作。路由器的过滤一般在此处。


4. postrouting,将数据包推送到网络上(通过SNAT或者MASQUERATE);


规则

根据条件执行特定的动作。

1. 默认规则(通常称之为策略)

1. 匹配

通用匹配,适用所有规则

比如 -p -s -d -i -o -f

tcp,适用tcp的规则

-sport

-dport

-tcp-flags

--syn

--tcp-option 

udp

-

icmp

--icmp-type


2. 显式匹配

-m 【limit, mac,mark,multiport,owner,state,tosttl】


3.动作

即target/jump,用以决定符合条件的包到何处去,语法是--jump target-j target

target的类型

1. ACCEPT --firewall

2. DROP --firewall

3. MASQUERADE--NAT

4. DNAT --porting forwarding

5. MARK

6. REJECT

7. LOG

8. Mirror

9. QUEUE

10. REDIRECT

11. SNAT

12 RETURN 

13 TOS

14 TTL

15 ULOG 


参考资料:

https://www.frozentux.net/iptables-tutorial/cn/iptables-tutorial-cn-1.1.19.html


http://zh.wikipedia.org/zh-cn/Iptables

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值