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

一、背景

最近在公司做一個平臺項目,存在公司內網的兩個網段的服務器和客戶端的互聯。例如服務器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。直接想實現互聯,有兩種方式。

1.直接連通(也就是172和10的機器能相互ping通)

這種方式是使用的網關,做靜態路由。
比如,這篇文章的案例一(如下圖)
在這裏插入圖片描述
要實現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。這樣就是直接連通。

2.NAT網關,地址空間映射

NAT:網絡地址轉換協議
這種方式就是我們上面背景說的,外網服務器,內網客戶共享一個外網IP的情況。實際上NAT網關實現的就是將一個網段的地址映射到另一個網段的另一個地址。這就有幾種情況。
NAT網關有幾轉換方式。

2.1 靜態轉換,即一個IP直接映射爲另一個網段裏的一個IP。

2.2 動態轉換,即一個IP隨機映射到另一個網段裏面的IP池中的一個。

2.3 端口多路複用,即一個IP會映射到另一個網段裏面的某個IP的隨機端口上。(也就是我們很多外網網關的實現,多個內外用戶共享一個外網IP的隨機的端口)

區別:之所以現在普通寬帶都用的端口多路複用是因爲,首選,通過這種方式,多個用戶可以共享一個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網段的地址。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章