目錄
今天下午,想起之前想要連另一個局域網的Oracle服務器,就試着去做,結果找到了端口映射這個概念,並實現了:
百科:
端口映射
首先,簡單告訴大家,什麼叫端口映射:
端口映射又叫端口轉發,又叫虛擬服務器,各個品牌路由器不同,叫法不一樣。
端口映射過程
端口映射過程就如同:你家在一個小區裏B棟2410室,你朋友來找你,找到小區門口,不知道你住哪層哪號?就問守門的保安,保安很客氣的告訴了他你家詳細門牌,所以你朋友很輕鬆的找到了你家。這個過程就是外網訪問內網通過端口映射的形象比喻.
我們這裏所說的端口,不是計算機硬件的I/O進出端口,而是軟件形式上的概念。
服務器可以向外提供多種服務,比如,一臺服務器可以同時是WEB服務器,也可以是FTP服務器,同時,它也可以是郵件服務器。
爲什麼一臺服務器可以同時提供那麼多的服務呢?其中一個很主要的方面,就是各種服務採用不同的端口分別提供不同的服務,比如:WEB採用80端口,FTP採用21端口等。這樣,通過不同端口,計算機與外界進行互不干擾的通信。我們這裏所指的端口不是指物理意義上的端口,而是特指TCP/IP協議中的端口,是邏輯意義上的端口。
端口映射
:內網的一臺電腦要上因特網對外開放服務或接收數據,都需要端口映射。
端口映射分爲動態和靜態.動態端口映射:內網中的一臺電腦要訪問新浪網,會向NAT網關發送數據包,包頭中包括對方(就是新浪網)IP、端口和本機IP、端口,NAT網關會把本機IP、端口替換成自己的公網IP、一個未使用的端口,並且會記下這個映射關係,爲以後轉發數據包使用。然後再把數據發給新浪網,新浪網收到數據後做出反應,發送數據到NAT網關的那個未使用的端口,然後NAT網關將數據轉發給內網中的那臺電腦,實現內網和公網的通訊.當連接關閉時,NAT網關會釋放分配給這條連接的端口,以便以後的連接可以繼續使用。
動態端口映射其實也就是NAT網關的工作方式。
靜態端口映射: 就是在NAT網關上開放一個固定的端口,然後設定此端口收到的數據要轉發給內網哪個IP和端口,不管有沒有連接,這個映射關係都會一直存在。就可以讓公網主動訪問內網的一個電腦。
現在說一下我實現的方式:
1)先去路由器設置頁面,做好端口映射:
a。在轉發規則-->>虛擬服務器: 設置:端口映射綁定,如我想外網凡是訪問8080和1521端口的,都映射到內網IP爲:192.168.1.138的主機上,
圖:
b。在轉發規則-->>特殊應用程序:設置 端口觸發。觸發端口即a步驟中的服務端口,開放端口即對應主機要開放的端口,如我想吧tomcat的8080和oracle的1521開放給外網:圖:
c。保存所有設置
2)找到自己網線的公網IP(唯一的那個)可在如圖出找到:
假設我的公網IP爲123.123.32.23
開始測試:
到其他網線去,用:http://123.123.32.23:8080/test/welcome.jsp
就可以訪問到我在內網IP爲192.168.1.138的主機上開啓的tomcat服務器上的test網站系統的welcome頁面了。
同樣,oracle連接也一樣,只要你在用來寫內網IP的地方換成公網IP,就可以連上了。
如:jdbc:oracle:thin:@192.168.1.138:1521:companydb
寫成:jdbc:oracle:thin:@123.123.32.23:1521:companydb
就ok了,這樣,在外網也能訪問到我在內網IP爲192.168.1.138的主機上開啓對應oracle服務了。