溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iptables與netfilter基礎與示例

發布時間:2020-07-18 13:33:08 來源:網絡 閱讀:542 作者:下善若火 欄目:安全技術

    該怎么描述防火墻的實現呢?既然說不明白那就不說了,自己領悟吧!

一、防火墻是什么?

    通過一些規則在網絡數據報文必經的幾個鉤子上做端口的限制,實現數據過濾的功能。


二、數據報文傳輸的路徑是怎樣的?

   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

                

八、未完待續




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女