• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于Linux的Nat日志記錄方法與裝置制造方法及圖紙

    技術編號:9671569 閱讀:299 留言:0更新日期:2014-02-14 18:55
    本發明專利技術涉及日志系統技術領域,尤其涉及一種基于Linux的Nat日志記錄方法與裝置,所述方法包括:A.數據報文到達網卡,并進入內核防火墻;B.數據報文到達第一檢測點,判斷是否需要做DNat記錄,是則對所述數據報文做DNat記錄,并通過傳輸接口記錄后執行步驟C,否則直接執行步驟C;C.數據報文進入第二檢測點,判斷是否需要做SNat記錄,是則對所述數據報文做SNat記錄,并通過傳輸接口記錄后執行步驟D,否則直接執行步驟D;D.內核防火墻將數據報文通過Netlink發送到用戶層。本發明專利技術減少了數據的拷貝,以及系統調用的次數,提高了日志系統性能,使系統更加快速、準確,足夠處理大流量的Nat環境需求。

    【技術實現步驟摘要】
    一種基于Linux的Nat日志記錄方法與裝置
    本專利技術涉及日志系統
    ,尤其涉及一種基于Linux的Nat日志記錄方法與裝置。
    技術介紹
    基于Linux的Nat服務器,一般使用Netfilter來實現其Nat功能,根據Netfilter的五個鉤子和三個表的工作模式,在Nat服務器下要記錄日志,一般會記錄一個數據報文經過Netfilter的Nat模塊作地址轉換前后的信息,并輸出到用戶層以使應用程序能接收并作特定用途。Nat日志系統的數據流如下:1.數據報文到達網卡;2.數據報文進入Netfilter;3.進行Nat前記錄一次信息;4.進行Nat后記錄一次信息;4.數據報文離開Netfilter;5.應用程序接收兩次信息并處理?,F有的基于Linux的Nat日志系統,一般使用iptables規則配合printk把數據包信息輸出到用戶層的應用程序。如圖1所示,工作流程如下(以SNat為例):1)在Netfilter的FORWARD鉤子的mangle表處設置一個規則,修改數據包的TOS屬性;2)在Netfilter的FORWARD鉤子的filter表處設置一個規則,記錄經過的數據包信息并輸出到用戶層;3)插入一個Netfilter處理模塊在POSTROUTING最后位置,判斷數據包的TOS屬性,如符合則記錄此數據包信息并輸出到用戶層;4)用戶層程序接收到一前一后的數據包信息,處理并發送到遠端syslog日志服務器?,F有的Nat日志系統是使用printk輸出信息到用戶層的,printk由于效率低下,性能欠佳,所以此系統會占用過多的CPU,處理不了大流量的Nat環境。
    技術實現思路
    本專利技術實施例提供一種基于Linux的Nat日志記錄,旨在解決現有技術中日志記錄數據拷貝多,數據流經路程長,系統占用過多CPU的問題。本專利技術實施例是這樣實現的,一種基于Linux的Nat日志記錄方法,所述方法包括:A.數據報文到達網卡,并進入內核防火墻;B.數據報文到達第一檢測點,判斷是否需要做DNat記錄,是則對所述數據報文做DNat記錄,并通過傳輸接口記錄后執行步驟C,否則直接執行步驟C;C.數據報文進入第二檢測點,判斷是否需要做SNat記錄,是則對所述數據報文做SNat記錄,并通過傳輸接口記錄后執行步驟D,否則直接執行步驟D;D.內核防火墻將數據報文通過Netlink發送到用戶層。本專利技術實施例還提供一種基于Linux的Nat日志記錄裝置,所述裝置包括:數據報文入口單元,用于數據報文到達網卡,并進入內核防火墻;DNat記錄判斷單元,用于數據報文到達第一檢測點,判斷是否需要做DNat記錄,是則對所述數據報文做DNat記錄,并通過傳輸接口記錄后發送執行指令到SNat記錄判斷單元,否則直接發送執行指令到SNat記錄判斷單元;SNat記錄判斷單元,用于數據報文進入第二檢測點,判斷是否需要做SNat記錄,是則對所述數據報文做SNat記錄,并通過傳輸接口記錄后發送執行指令到數據報文發送單元,否則直接發送執行指令到數據報文發送單元;數據報文發送單元,用于內核防火墻將數據報文通過Netlink發送到用戶層。本專利技術在數據報文進入防火墻后,分別進行DNat記錄和SNat記錄,通過傳輸接口記錄數據報文,使用Netlink傳輸信息到用戶層,減少了數據的拷貝,以及系統調用的次數,縮短了數據流經的路程,提高了日志系統性能,使系統更加快速、準確,足夠處理大流量的Nat環境需求。附圖說明圖1表示本專利技術實施例提供的現有技術工作原理圖;圖2表示本專利技術實施例提供的一種基于Linux的Nat日志記錄方法流程圖;圖3表示本專利技術實施例提供的一種基于Linux的Nat日志記錄方法流程圖;圖4表示本專利技術實施例提供的一種基于Linux的Nat日志記錄方法流程圖;圖5表示本專利技術實施例提供的基于Linux的Nat日志系統的整體結構圖;圖6表示本專利技術實施例提供的一種基于Linux的Nat日志記錄裝置結構圖。具體實施方式為了使本專利技術的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本專利技術進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本專利技術,并不用于限定本專利技術。圖2示出了本專利技術實施例提供的一種基于Linux的Nat日志記錄方法流程圖,詳述如下:在步驟S101中,數據報文到達網卡,并進入內核防火墻;在步驟S102中,數據報文到達第一檢測點;在步驟S103中,判斷是否需要做DNat記錄,是則執行步驟S104,否則執行步驟S105;在步驟S104中,對數據報文做DNat記錄,并通過傳輸接口記錄,繼續執行步驟S105;在步驟S105中,數據報文進入第二檢測點,判斷是否需要做SNat記錄,是則執行步驟S106,否則執行步驟S107;在步驟S106中,對數據報文做SNat記錄,并通過傳輸接口記錄,繼續執行步驟S107;在步驟S107中,內核防火墻將數據報文通過Netlink發送到用戶層。在本專利技術實施例中,Netfilter防火墻的五個鉤子分別為PREROUTING、LOCAL-IN、FORWARD、LOCAL-OUT、POSTROUTING,本例中的第一檢測點與第二檢測點分別為PREROUTING和POSTROUTING,分別實現Dnat(DestinationNetworkAddressTranslation,目的地址轉換)功能和Snat(sourcenetworkaddresstranslation,源地址目標轉換)功能,并且通過nf_log_packet接口記錄數據報文,最后通過Netfilter防火墻把兩次記錄的數據報文信息,通過Netlink發送到用戶層。使用Netlink傳輸數據報文不會經過任何中間環節,直接從內核傳輸到用戶的程序中。圖3示出了本專利技術實施例提供的一種基于Linux的Nat日志記錄方法流程圖,詳述如下:在步驟S201中,數據報文到達網卡,并進入內核防火墻;在步驟S202中,數據報文進入第一檢測點之前,判斷是否需要做DNat記錄,是則執行步驟S203,否則執行步驟S204;在步驟S203中,對數據報文做DNat記錄,并通過傳輸接口記錄,繼續步驟S204;在步驟S204中,數據報文進入第一檢測點;在步驟S205中,數據報文離開第一檢測點,判斷是否需要做DNat記錄,是則執行步驟S206,否則執行步驟S207;在步驟S206中,對數據報文做DNat記錄,并通過傳輸接口記錄,繼續步驟S207;在步驟S207中,數據報文進入第二檢測點之前,判斷是否需要做SNat記錄,是則執行步驟S208,否則執行步驟S209;在步驟S208中,對數據報文做SNat記錄,并通過傳輸接口記錄,繼續步驟S209;在步驟S209中,數據報文進入第二檢測點,繼續步驟S210;在步驟S210中,數據報文離開第二檢測點,判斷是否需要做SNat記錄,是則執行步驟S211,否則執行步驟S212;在步驟S211中,對數據報文做SNat記錄,并通過傳輸接口記錄,繼續步驟S212;在步驟S212中,內核防火墻將數據報文通過Netlink發送到用戶層。在本專利技術實施例中,一般的Nat服務器要么提供SNat服務,要么提供DNat服務,本實施例中,將Nat日志兩個配成一對,DNat前后組成本文檔來自技高網
    ...
    一種基于Linux的Nat日志記錄方法與裝置

    【技術保護點】
    一種基于Linux的Nat日志記錄方法,其特征在于,所述方法包括:A.數據報文到達網卡,并進入內核防火墻;B.數據報文到達第一檢測點,判斷是否需要做DNat記錄,是則對所述數據報文做DNat記錄,并通過傳輸接口記錄后執行步驟C,否則直接執行步驟C;C.數據報文進入第二檢測點,判斷是否需要做SNat記錄,是則對所述數據報文做SNat記錄,并通過傳輸接口記錄后執行步驟D,否則直接執行步驟D;D.內核防火墻將數據報文通過Netlink發送到用戶層。

    【技術特征摘要】
    1.一種基于Linux的Nat日志記錄方法,其特征在于,所述方法包括:A.數據報文到達網卡,并進入內核防火墻;B.數據報文到達第一檢測點,判斷是否需要做DNat記錄,是則對所述數據報文做DNat記錄,并通過傳輸接口記錄后執行步驟C,否則直接執行步驟C;C.數據報文進入第二檢測點,判斷是否需要做SNat記錄,是則對所述數據報文做SNat記錄,并通過傳輸接口記錄后執行步驟D,否則直接執行步驟D;D.內核防火墻將數據報文通過Netlink發送到用戶層;其中,所述步驟B具體包括:數據報文進入第一檢測點之前,判斷是否需要做DNat記錄,是則對所述數據報文做DNat記錄,并通過傳輸接口記錄后數據報文進入第一檢測點,否則數據報文直接進入第一檢測點;數據報文離開第一檢測點,判斷是否需要做DNat記錄,是則對所述數據報文做DNat記錄,并通過傳輸接口記錄后執行步驟C,否則直接執行步驟C;其中,所述步驟C具體包括:數據報文進入第二檢測點之前,判斷是否需要做SNat記錄,是則對所述數據報文做SNat記錄,并通過傳輸接口記錄后數據報文進入第二檢測點,否則所述數據報文直接進入第二檢測點;數據報文離開第二檢測點,判斷是否需要做SNat記錄,是則對所述數據報文做SNat記錄,并通過傳輸接口記錄后執行步驟D,否則直接執行步驟D。2.如權利要求1所述的方法,其特征在于,所述步驟C之后還包括:用戶層日志記錄模塊收到數據報文之后,將所述數據報文放進Nat內存池;線程池從Nat內存池獲取所述數據報文,處理并發送到遠端日志服務器。3.一種基于Linux的Nat日志記錄裝置,其特征在于,所述裝置包括:數據報文入口單元,用于數據報文到達網卡,并進入內核防火墻;DNat記錄判斷單元,用于數據報文到達第一檢測點,判斷是否需要做DNat記錄,是...

    【專利技術屬性】
    技術研發人員:梁潤強,曾憲力李坤祥,黃衍博
    申請(專利權)人:廣東睿江科技有限公司,
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 免费一区二区无码东京热| 一本大道在线无码一区| 免费a级毛片无码av| 亚洲AV无码乱码在线观看性色扶| 狠狠躁天天躁无码中文字幕图| 日韩精品人妻系列无码专区| 亚洲无码精品浪潮| 久久亚洲精品成人av无码网站 | 亚洲AV无码之日韩精品| 亚洲精品无码专区在线在线播放| 无码爆乳护士让我爽| 亚洲中久无码不卡永久在线观看| 日韩人妻无码一区二区三区久久| H无码精品3D动漫在线观看| 亚洲av无码专区亚洲av不卡| 国产无遮挡无码视频免费软件| 日韩激情无码免费毛片| 无码乱肉视频免费大全合集| 无码AV天堂一区二区三区| 国产福利无码一区在线| 亚洲性无码一区二区三区| 亚洲av无码成人黄网站在线观看| 国精品无码A区一区二区| 97无码免费人妻超级碰碰碰碰| 国产成人无码AV麻豆| 91精品久久久久久无码 | 中文字幕精品无码一区二区| 精品人妻系列无码人妻漫画 | 无码中文字幕av免费放dvd| 亚洲不卡无码av中文字幕| 无码熟熟妇丰满人妻啪啪软件| 一本天堂ⅴ无码亚洲道久久| 久久久久精品国产亚洲AV无码| 熟妇人妻AV无码一区二区三区| 亚洲AV无码AV男人的天堂| 无码乱人伦一区二区亚洲一| 亚洲AV日韩AV永久无码久久| 国产午夜无码精品免费看动漫| 亚洲国产无套无码av电影| 无码国内精品人妻少妇| 亚洲综合无码一区二区三区 |