日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

netfilter与iptables表规则建立

發布時間:2025/4/5 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 netfilter与iptables表规则建立 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在內核的net中,iptable_nat.c iptable_filter.c iptable_mangle.c中,分別建立了3張表,供iptables規則使用

其中filtermangle表的建立,有自己的優選級

調用 ipt_register_table函數進行注冊表; 調用xt_hook_link注冊到時hook,此表可以掛到5個點,那就會注冊到5個hook點,優先級都是一樣的,如上圖。

那么nat表呢?

它也這個結構體,但在初始化時,僅調用了ipt_register_table注冊了表,那么通過iptables打入的nat規則如何生效呢?

它額外注冊了幾個hook點函數,如下:

以NF_INET_PRE_ROUTING為例,nf_nat_ipv4_in-》nf_nat_ipv4_fn-》如果ct狀態為IP_CT_NEW -》nf_nat_rule_find-》ipt_do_table執行iptables nat表中的NF_INET_PRE_ROUTING點上規則。

?

對于NF_INET_POST_ROUTING也是一樣,nf_nat_ipv4_out-》nf_nat_ipv4_fn-》如果ct狀態為IP_CT_NEW -》nf_nat_rule_find-》ipt_do_table。

?

也就是說對于nat表中動作,僅會在ct為IP_CT_NEW時,執行一次,如果ct的狀態其它,則不會再執行。

返回來的規則在conntrack中進行會進行處理(nf_conntrack_l3proto_ipv4.c)。

也就是說,對于iptables規則,filter和magle表中的規則對每個數據包都會進行;而nat表中規則,只會對數據報文做一次,后續的就交給ct來做了。

?

根據優先級,如下

則執行順序為

新的報文-》ip_recv-》PREROUTING HOOK點

-》優先級NF_IP_PRI_CONNTRACK

-》優先級NF_IP_PRI_MANGLE -》所有的magle表中規則都會順序執行

-》優先級NF_IP_PRI_FILTER-》所有filter表中規則都會順序執行

-》優先級NF_IP_PRI_NAT_DST->nf_nat_ipv4_in-》nf_nat_ipv4_fn-》執行iptables nat表中的NF_INET_PRE_ROUTING點上規則。

所有的鉤子函數執行完后

?

ct中已存在鏈接的報文-》ip_recv-》PREROUTING HOOK點

-》優先級NF_IP_PRI_CONNTRACK,更新連接跟蹤

-》優先級NF_IP_PRI_MANGLE -》所有的magle表中規則都會順序執行

-》優先級NF_IP_PRI_FILTER-》所有filter表中規則都會順序執行

-》優先級NF_IP_PRI_NAT_DST->nf_nat_ipv4_in-》nf_nat_ipv4_fn-》nf_nat_packet,完成nat轉換(不再執行相應規則)

所有的鉤子函數執行完后

總結

以上是生活随笔為你收集整理的netfilter与iptables表规则建立的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。