Netfilter
Netfilter:是Linux操作系统内核层内部的一个数据包处理模块。
Hook point:数据包在Netfilter中的挂载点(PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING)。
用通俗的话解释下:数据包通过网卡,走到操作系统内核后,就会进入Netfilter中这5个挂载点。
可以在这5个挂载点进行Hook,修改数据包。
组成部分:四张表 + 五条链(Hook point) + 规则
四张表:filter表、nat表、mangle表、raw表。
五条链:INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING。
每个链的功能都有一个表对应。
一般最关键的表为filter,nat表。
Managle表:修改数据包,改变包头中的内容(TTL,TOS,MARK)。
Filter表:访问控制、规则匹配。
Nat表:地址转发。
iptables规则组成
数据包访问控制:ACCEPT、DROP、REJECT。
数据包改写:SNAT、DNAT。
信息记录:LOG。
其中:SNAT是源地址改写,DNAT是目标地址改写。
规则:
| | table | command | chain | Parament & | target |
| iptables | -t filter<br> nat | -A<br> -D<br> -L<br> -F<br> -P<br> -I<br> -R<br> -n | INPUT<br> FORWARD<br> OUTPUT<br> PREROUTING<br> POSTROUTING | -p tcp<br> -s<br> -d<br> --sport<br> --dport<br> --dports<br> -m tcp<br> state<br> multiport | -j ACCEPT<br> DROP<br> REJECT<br> DNAT<br> SNAT |
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://it1995.blog.csdn.net/article/details/123701712
内容来源于网络,如有侵权,请联系作者删除!