怎麼實現兩個網段的聯通,兩種情況

2021-10-01 14:35:34 字數 1973 閱讀 7385

三、兩種方式的區別

四、區別的實質

最近在公司做乙個平台專案,存在公司內網的兩個網段的伺服器和客戶端的互聯。例如伺服器ip:10.70.48.250和多台客戶端ip 172.22.68.***。

由於服務端需要使用客戶端的ip位址來作為標識,這樣方便從服務端儲存的異常客戶端的ip快速查詢到對應的客戶端,從而檢視其本地日誌。這就需要服務端能獲取到的客戶端的ip唯一了。

我以往沒出現過這種內網網段不同的情況,按照之前的開發外網伺服器的情況,因為伺服器獲取到的實際上是客戶端的外網ip,又因為外網ip實際上很有限。所以我們家裡的電腦基本都沒有獨享的外網ip,而是通過(同乙個區域網的使用者)共用同乙個外網ip。

所以我就模擬這種情況 ,以為,10.70.48.250上的伺服器接受到的來自客戶端的請求會是ip為網段10.***下面的。

實際上,10.70.48.250的機器上是可以直接ping通172.22.68.××下面的機器的。我網上查了一下,找到了原因。

首選,172和10網段都是私有ip,也就是非公網ip是大家區域網下都可以使用的ip段。那麼如果兩個區域網172和10。直接想實現互聯,有兩種方式。

這種方式是使用的閘道器,做靜態路由。

比如,這篇文章的案例一(如下圖)

要實現pc1和pc2的互通,實際上就是在r1上,設定靜態路由,設定ip192.168.1.0,子網掩碼255.255.255.0、閘道器192.168.0.100。

這樣設定之後,的那個192.168.0.0想訪問192.168.1.0這個ip時,首選會請求r1路由器,r1通過子網掩碼與運算之後,192.168.1.0 & 255.255.255.0 = 192.168.1.0不屬於192.168.0.0網段。但是靜態路由上有所以,通過靜態路由,**給指定的閘道器192.168.0.100,而192.168.0.100介面上的路由器(也就是閘道器)路由表中能查到192.168.1.0的ip,所以直接發給了192.168.1.0。這樣就是直接連通。

nat:網路位址轉換協議

這種方式就是我們上面背景說的,外網伺服器,內網客戶共享乙個外網ip的情況。實際上nat閘道器實現的就是將乙個網段的位址對映到另乙個網段的另乙個位址。這就有幾種情況。

nat閘道器有幾轉換方式。

區別:之所以現在普通寬頻都用的埠多路復用是因為,首選,通過這種方式,多個使用者可以共享乙個ip的不同埠,這樣極大的擴大了乙個ip的利用率,相比靜態和動態更高。而且更加安全。因為,降低了外網的威脅攻擊內網使用者的風險,隱藏了內網的機器。

思考:不是有互信機制(內網ip:a訪問外網ip:a後,a才可以直接給a發請求,而且是有有效期的,如果a沒給a發過請求,a給a發請求,會被a的路由器直接拋棄)?為什麼還要擔心外網威脅。網覺得可能是因為,我們假設大家都經常使用某個**,如果我現在構造假的資料報(源位址設定為那個**)資料報裡面攜帶漏洞利用負載。瘋狂的發給某個外網ip,那麼如果剛好外網ip採用靜態轉換,那麼可能就直接能攻擊到了 。如果用的動態轉化,運氣好也能攻擊到。但是,埠多路復用,這個攻擊到的概率就會降低,比較困難。【只是想法,可能不對】

1.直接連通的方式,那就不是通過位址對映機制。即10的和172的可以直接相互ping通。就跟在同乙個位址空間一樣。

2.第二種nat協議的方式,顯然,只能單向ping通(互信之前),比如是172的對映到10裡面。

這裡如果有伺服器10.70.48.250,客戶端172.22.68.2對映到10.70.48.2。這種情況下,客戶端172.22.68.2請求10.70.48.250,服務端檢視客戶端ip時,ip會是10.70.48.2,而不是172.22.68.2。因為是對映,response時,nat閘道器會把10.70.488.2收到的**給172.22.68.2。

實質上,就是路由器在**172網段的請求時是否會把源位址轉換為10網段的位址。

hover在兩種情況下的兩種用法

hover在滑鼠移到鏈結上時新增的特殊樣式。注意 為了產生預期的效果,在 css 定義中,hover 必須位於 link 和 visited 之後!前兩天遇到乙個關於 hover的問題,困惑了好久 這裡我們舉個例子看一下 hover在兩種情況下的兩種用法 先說一下,下面的 想實現的效果 當滑鼠放在 ...

兩種無法開機的情況

錯誤資訊 我以前只是在書上看過 系統時鐘不對的話開不了機,沒想到這次還真是碰到了。她這台機器是2010年上高中的時候買的清華同方,上高中的時候買的,到現在差不多8年了 請拿出你換衣服的魄力換電腦 電池早已駕鶴西去,目前只有在插著電源的時候可以使用,那就不難理解了。1 由於電腦得不到充足的供電,所以系...

Python實現「合併兩個有序鍊錶」的兩種方法

合併兩個有序鍊錶,並返回乙個新的鍊錶。新煉表由前兩個鍊錶拼接而成。example input 1 2 4,1 3 4 output 1 1 2 3 4 4 definition for singly linked list.class listnode object def init self,x ...