192.168.2.1如何訪問192.168.1.1的服務器?

jackceo8


由於此問題並沒有闡明清楚是在什麼情況下做到這兩個ip服務器之間訪問,所以下面自己能通過服務器之間直接互ping、前端開發處理方式和後端開發處理方式這問題來說明。此問題直觀問題就是跨網段訪問的問題。

首先解決兩個服務器之間直接訪問的問題。以liunx服務器為例,由於處於不同網段或端口不允許ping,不能做到直接訪問到服務器。這裡面有很多高深知識和問題,自己不是專業運維人員,只能簡單講一下處理這種問題的思路。對於跨網段的問題,可以通過添加路由方式解決,例如192.168.2.1不能ping通192.168.1.1,我們可以在192.168.2.1上執行vi /etc/rc.local;然後在文件最後一行添加route add default gw 192.168.2.1;wq保存退出即可。

前端項目佈署的服務,由於現在前後端分離的開發方式,HTTP同源策略安全模型的問題就需要規避。因為在不同ip下的服務器,所以具體點就是跨域問題。解決跨域問題有很多方式,例如JSONP、iframe、CORS訪問、Nginx反向代理等。在個人實際開發工作中,前後端分離與Vue等前端框架的流行,以及nginx的強大,使用CORS和Nginx方式最為理想。

如果是後端項目佈署的服務器之間訪問,以java為例,可以使用使http相關類實現數據訪問。例如HttpUrlConnection和HttpClient等,前題是服務器之間沒做網絡安全策略。如果是通過tcp方式訪問服務,可以使用Socket來實現編程用於傳輸文件等。

隨著微服務的流行,類似springcloud的微服務直接就跟ip無關了,我們只需通過服務名發現就能做到直接訪問。具體來說就是192.168.1.1上的微服務註冊到eureka,192.168.2.1上的微服務也註冊在同一個eureka集群下,2.1就可以直接通過feign框架加上1.1註冊的服務名做到訪問調用,而不用關心ip是多少。當然也要考慮到微服務在多實例下負載均衡的問題,因為不能保證每次訪問都能擊中192.168.1.1這臺服務器。單實例就不說了,肯定是這一臺ip服務器上服務被訪問到。

篇幅有限,不能做到面面俱到,其中不足之處請指出並斧正。對於此問題還有什麼補充的地方,也歡迎大家積極探討。


EmacserVimer


這個問題我來解答一下,順便說一下網絡訪問的基本原理

我們的PC機訪問網絡地址,主要分兩種情況,一種是局域網內部的訪問,一種是局域網外部的訪問

局域網內部的訪問,就是我們訪問的目的地址和自己的PC機在同一網段裡。我們給PC機配置IP地址或者採用DHCP方式自動獲取IP地址時,需要用到IP和掩碼,IP地址和掩碼是判斷我們訪問的目的地址是局域網還是外部網絡的依據

下圖就是PC機上查到的地址,192.168.0.110是主機地址,255.255.255.0是掩碼,兩個參數轉換成二進制一與就會發現,局域網的範圍是192.168.0.1到192.168.0.254。那麼我們訪問這段範圍內的地址屬於局域網內訪問,訪問這段地址範圍之外屬於外部網絡訪問

例如,下圖我要訪問192.168.0.102(Ping包),此時是局域網內的訪問。局域網內直接使用MAC地址(網卡的物理地址)訪問。如果不知道MAC地址可以採用ARP協議獲取目的PC機的MAC地址

我們看看PC機上ARP表, 此時發現ARP表有對應的目的地址的MAC地址,那麼在局域網內就可以直接訪問。PC機會把流量從網卡丟出去到下一個設備再查自己MAC錶轉發,通常這個設備叫交換機,交換機上可以學習到這個局域網所有PC機的MAC地址

然後我能再看看訪問百度,此時可以看到,百度的地址不是一個局域網地址

那麼非局域網地址,我們就不能通過MAC地址訪問,我們要查一下路由表,如下圖。路由表顯示,訪問百度的地址的流量需要從網關192.168.0.1轉發,那麼我們訪問的數據包就會通過我們的網卡送到192.168.0.1這個網關設備,由這個網關設備再查路由錶轉發。我們把這個網關設備叫路由器,網關地址是路由器和PC機互聯的接口地址。路由器上有所有不是同一網段的訪問路由表

所以,你這個問題的答案是,如果服務器和你在一個網段,那就通過MAC轉發。你只需一臺交換機,服務器和PC機都連接到交換機就可以

如果你的PC機的掩碼是255.255.255.0,很明顯服務器和PC機都不在一個網段,那麼就通過路由轉發,此時買一臺路由器,PC機和服務器的網關地址都是路由器上和他們用網線連接的接口地址即可


IT老菜鳥


子網掩碼設置為255.255.0.0


用戶3979151642954


2.1是1.1的下級路由的話,2.1可以單向訪問1.1,如果要1.1訪問2.1,使用普通的路由器是無法辦到的,只能通過端口映射來暴露2.1的主機


困66153272


路由器或交換機配置相關路由,先把基礎網絡打通,然後在搞業務


攻城獅阿龍


不在一個網段就路由唄


分享到:


相關文章: