iptables与netfilter基础与示例

    该怎么描述防火墙的实现呢?既然说不明白那就不说了,自己领悟吧!

创新互联是一家集网站建设,安溪企业网站建设,安溪品牌网站建设,网站定制,安溪网站建设报价,网络营销,网络优化,安溪网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

一、防火墙是什么?

    通过一些规则在网络数据报文必经的几个钩子上做端口的限制,实现数据过滤的功能。

二、数据报文传输的路径是怎样的?

   1、 客户端发出数据报文---->到达服务器的网络接口-----(判断目标是服务器自己)将报文送入内核处理---->将处理好的数据报文转发出去---->通过网络接口发还给客户端

   2、客户端发出数据报文---->到达服务器的网络接口-----(判断目标不是服务器)将数据转发出去---->通过网络接口送去目标地址

iptables与netfilter基础与示例

三、哪些地方是数据流必经的点?

    1.报文进入网卡,但是还没有经过路由,这个点叫做prerouting

    2.报文经过路由后送入内核之前,这个点叫做input

    3.路由功能节点,这个点叫forward

    4.报文由内核处理完毕,发送给路由之前,这个点叫output

    5.报文经过路由后,就要经过网卡发送出去,这个点叫postrouting

    这些点在专业术语中称为hooks funcation即钩子函数,因为所有的数据流必经这五个点,所以我们的防火墙规则写在这5个点上就可以了。

iptables与netfilter基础与示例

四、有哪些规则可以防火?

    这就要谈一下防火墙的历史了,最开始linux是没有防火墙设计的,基于安全的考虑OpenBSD最先将防火墙的概念在其unix内核中实现。后来linux的维护者看到有这么好的东西,就把它移植到linux的内核中去了,最开始这个规则叫做firewall,但是其太简陋了,只能起到数据报文过滤filter的功能。随着时间的发展其功能得到了非常多的扩展,比如实现了nat、mangle、raw等功能,所以后来给这些功能统一一起来起了个好听的名字——netfilter,怎么样?好听吧......

    netfilter叫做规则,它有四种功能:

             1.filter 过滤

             2.nat    网络地址转换

             3.mangle 修改数据报文首部的可修改信息

             4.raw    关闭net表上启动的连接追踪功能

五、什么是链?chain?

    在一个钩子上添加了很多规则功能,这些规则功能连起来就叫chain。但是有些功能只有在特定的钩子上才起作用,下面是五个链的对应表:

preroutingrawmanglenat
inputmanglefilter

outputrawmanglenatfilter
forwardmanglefilter

postroutingmanglenat

    链上面的规则检查是要按顺序检查的:

            1.同类规则匹配范围小的方上面

            2.不同类规则,匹配次数频繁的方上面

            3.应该设定默认的规则 

六、什么是表?table

    每个功能都对应几个链,把这些链排起来就是表,下面是四个功能表:

 

filterinputforwardoutput

natpreroutingoutput
postrouting

mangle

preroutinginputoutputforwardpostrouting
rawpreroutingoutput


 

七、上面所说的规则功能怎么添加到linux中?

    iptables是一个接口,也是一个工具,可以让程序员使用命令行模式输入设定的规则到指定的hooks funcation上,实现防火墙的功能。

    格式:

    # iptables [-t TABLE] SUBCOMMAND CHAIN CRETERIA -j TARGET

            TABLE: filter, nat, mangle, raw

            SUBCOMMAND:

                  -P   设置链的默认处理 #iptables -P INPUT DROP

                  -F   清空指定链上的所有规则 #iptables -F INPUT

                  -Z   将链上的流经的数据报文数据清零 

                  -N   新建一个链,自定义的链
                  -X   删除用户自定义的空链

                  -E   重命名自定义链

                  -A   在指定链的最后添加一条规则
                  -I   插入一条规则,默认插入为第一条 

                  -D   删除指定的规则

                  -R   替换指定的规则

                  -L   列出指定链上的所有规则

                  -L -n  以数字方式列出

                  -L -n -v 更相信的信息

                  -L -n --line-numbers 显示规则编号

                  -L -n -v -x 显示计数器的精确值

            CHAIN: PREROUTING INPUT FORWARD OUTPUT POSTROUTING

            CRETERIA:

                通用:-p   检查协议tcp,udp,icmp

                      -s   源IP

                      -d   目标IP

                      -i   进入网卡接口

                      -o   出去网卡接口

                隐式:(如果-p指明了协议-m 和协议可以省略)

                     -m  tcp  --dport|sport|syn|tcp-flags LIST1 LIST2

iptables与netfilter基础与示例

                     -m  udp  --dport|sport

                     -m  icmp --icmp-type 8|0(8为ping请求,0为ping响应)

iptables与netfilter基础与示例

iptables与netfilter基础与示例

                显示:

                     -m multiport     指定多个端口

                            --sports 

                            --dports

iptables与netfilter基础与示例

                    -m iprange        指定IP范围

                           --src-range   源  (注意:前面可使用 ! 表示否定含义)

                           --dst-range   目标

iptables与netfilter基础与示例

                    -m string         指定过滤的字符串

                           --algo {kmp|bm}  指定解析算法

                           --string         字符串

                           --hex-string    十六进制编码后的字符串

iptables与netfilter基础与示例

                    -m time          基于时间做限制

                           --datestart

                           --datestop

                           --timestart

                           --timestop

                           --weekdays

iptables与netfilter基础与示例

                   -m connlimit       基于并发连接数做限制

                           --connlimit-above

iptables与netfilter基础与示例

                    -m limit           基于链接速率做限制

                           --limit n[/second|/minit|/hour|/day]  限制链接速度多久一次

                           --limit-burst n    突发链接速率最快每秒n个

iptables与netfilter基础与示例

           TARGET:

                 内置目标:ACCEPT(接受),DROP(不响应),REJECT(拒绝)

                 自定义的链chain

                

八、未完待续

分享名称:iptables与netfilter基础与示例
URL链接:https://www.cdcxhl.com/article24/pisgje.html

成都网站建设公司_创新互联,为您提供全网营销推广网站导航域名注册微信小程序网站建设品牌网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营