src nat引數說明 回流原理

2021-06-09 00:29:56 字數 1653 閱讀 5780

src-nat是源位址轉換,其作用是將ip資料報的源位址轉換成另外乙個位址。

action 這是說明用的哪種轉換方式,通常我們用masqurade,nat這兩種,在特殊情況下用accept(主要是內網中有公網位址存在的情況)方法

引數說明

protocol

說明對哪些傳輸協進行轉換(通常有tcp,udp等)

out-inte***ce

說明通過哪乙個網絡卡進行轉換(通常是外網絡卡outside)

to-src-address

是將源位址偽裝成哪些位址(可以是乙個也可以是很多個)

to-src-pot

是將源埠偽裝成哪些埠(可以是乙個也可以是很多個)

dst-address

是指發向哪些主機的資料報要進行偽裝(可以乙個可以多個)

dst-port

是指發向哪些埠的資料報進行偽裝(可以乙個可以多個)

src-address

是指對哪些源位址進行偽裝(可以乙個可以多個)

src-port

是指從哪些源埠發出的資料報進行偽裝(可以乙個可以多個)

要做src-nat,除了指明協議、埠、轉換成什麼位址外,還要談到是在那塊網絡卡(介面)上做這個「源位址位址轉換」。

比如,要讓內網的電腦通過ros訪問外網,那麼就由與公網連線的網絡卡做snat,在新增src-nat規則時,general頁的out. inte***ce就應選"外網絡卡",當然,用預設設定"all"也就包含了"外網絡卡",但這不利於理解src-nat。理解了src-nat ,dst-nat就很好理解了,src-nat是ros將內網電腦發出的資料報的位址中的源位址進行轉換然後發往外網,在資料報中,被轉換的位址是源位址,所以叫源位址轉換,而dst-nat則剛好相反,它是ros將公網發來的資料報的位址中的目的位址進行轉換(當然這個目的位址就是ros的公網ip),然後發給內網的電腦,在資料報中,被轉換的位址是目的位址,所以叫目的位址轉換。同樣,dst-nat除了指定轉換後的位址外,也將涉及是在那塊網絡卡(介面)上進行,例如,要將公網發給ros的a埠的資料報轉給內網ip為b的c埠,那麼設定好a、b、c的值後,在dst-nat規則general頁的in.inte***ce裡,應選擇與b位址網段相連的網絡卡(介面),顯然這是一塊內網絡卡,當然,用預設設定"all"也就包含了這塊"內網絡卡",但這不利於理解dst-nat。到這裡可以明白什麼是埠映**,它就是dst-nat中的一條轉換規則。

再來談"回流",引用一段文字--"什麼叫回流呢?就是當內網有服務對映到閘道器後,內網主機也可以用閘道器外部位址訪問"。

由上面的定義可以清楚"回流"要完成的操作:

1、內網電腦向ros傳送目的位址為公網ip的資料報(當然這個ip就是ros的公網ip)

2、ros通過源位址轉換規則(src-nat)中選定的a網絡卡(介面)將資料報位址中的源位址轉換為公網ip(目的位址不變,仍為公網ip)

3、ros通過目的位址轉換規則(dst-nat)中選定的b網絡卡(介面)將資料報位址中的目的位址轉換為內網位址,然後發給相應的內網電腦。

但是問題來了,如果a網絡卡(介面)將資料報位址轉換後就往公網傳送,那麼資料報就無法再回到路由器並**給內網了。如果能讓資料報不出路由器,在路由器內完成src-nat和dst-nat這兩種位址轉換,那麼就可以實現回流了。呵呵,讓a=b就可以實現了。就是說,新增一條src-nat和一條dst-nat規則,而這兩條規則中所指定的網絡卡都是與內網相連的同一塊網絡卡。

Cache control引數說明

header中的cache control引數說明 php編碼 網頁的快取是由http訊息頭中的 cache control 來控制的,常見的取值有private no cache max age must revalidate等,預設為private。其作用根據不同的重新瀏覽方式分為以下幾種情況 ...

nmap引數說明

目標規範 可以通過主機名,ip位址,網路等 例 scanme.nmap.org,dream4.org 24,192.168.0.1 10.0.0 255.1 254 il 從指定檔案獲取主機或網路 ir 隨機選擇主機,0 不限制掃瞄主機數 exclude 排除指定主機或網路 excludefile ...

toString引數說明

格式化數值 有時,我們可能需要將數值以一定的格式來呈現,就需要對數值進行格式化。我們使用格式字串指定格式。格式字串採用以下形式 axx,其中 a 為格式說明符,指定格式化型別,xx 為精度說明符,控制格式化輸出的有效位數或小數字數。格式說明符 說明 示例 輸出 c 貨幣 2.5.tostring c...