內網穿透在實際生活中,我們經常會在內網里部署服務讓外網訪問內網應用,比如Apache,Tomcat,數據庫,微信小程序的開發以及企業的一些管理軟件(OA、CRM、ERP),還有遠程桌面等等的外網都是無法直接訪問內網的。
內網穿透實現外網訪問內網
有些方式可以通過設置路由器虛擬服務器開放一些端口供外網訪問,但由于運營商的原因,這些IP有時候并不是直接的IP,更多的時候這些IP都是動態的,簡單說就是今天給你的IP是15.63.87.251,明天隨時都有可能變為變得IP,并且是不能訪問80個443端口的,那么有沒有一種辦法可以實現在沒有公網IP的情況下,又不用設置路由器就可以讓外網直接訪問內網里的應用呢,今天要講的就是這個:
首先普及一下基本的概念,可能有些拗口,不過沒關系,這個看不懂也不要緊,可以直接跳過這一段:
什么是內網穿透、為什么要內網穿透,內網、公網和NAT是什么意思?
公網、內網是兩種的接入方式。
內網接入方式:上網的計算機得到的IP地址是Inetnet上的保留地址,保留地址有如下3種形式:
10.x.x.x
172.16.x.x至172.31.x.x
192.168.x.x
內網的計算機以NAT(網絡地址轉換)協議,通過一個公共的網關訪問。內網的計算機可向上的其他計算機發送連接請求,但上其他的計算機無法向內網的計算機發送連接請求。
公網接入方式:上網的計算機得到的IP地址是Inetnet上的非保留地址。公網的計算機和上的其他計算機可隨意互相問。
NAT(Network Address )是網絡地址轉換,它實現內網的IP地址與公網的地址之間的相互轉換,將大量的內網IP地址轉換為一個或少量的公網IP地址,減少對公網IP地址的占用。NAT的最典型應用是:在一個局域網內,只需要一臺計算機連接上,就可以利用NAT共享連接,使局域網內其他計算機也可以上網。使用NAT協議,局域網內的計算機可以訪問上的計算機,但上的計算機無法訪問局域網內的計算機。
Windows操作系統的連接共享、sygate、、unix/linux的natd等軟件,都是使用NAT協議來共享連接。所有ISP(服務提供商)提供的內網接入方式,幾乎都是基于 NAT協議的。
什么是固定IP、動態IP地址、什么是域名?
固定IP地址是長期分配給一臺計算機或網絡設備使用的IP地址。一般來說,采用專線上網的計算機才擁有固定的IP地址。
什么是動態IP地址 ?
通過Modem、ISDN、ADSL、有線寬頻、小區寬頻等方式上網的計算機,每次上網所分配到的IP地址都不相同,這就是動態IP地址。因為IP地址資源很寶貴,大部分用戶都是通過動態IP地址上網的。普通人一般不需要去了解動態IP地址,這些都是計算機系統自動完成的。
當然在很多情況下你可能并沒有公網IP,不要問我為什么,本人曾經做過2年的售后工程師,給幾百家客戶安裝實施部署過軟件,有3分之一的企業雖然有路由器,但運營商分給的IP卻是內網的,奇怪吧,比如10、172或者100開頭的都是運營商的內網IP。
這里簡單說一下怎么查看是否是內網IP:
1.如果你使用的是Window平臺,點擊自己電腦窗口的“開始”“運行”輸入“cmd”,在DOS命令窗口輸入“ /all”,得到的IP如果和上面一樣,說明你擁有自己的外網IP
2.如果你使用的是unix/linux平臺,運行 -a 得到的IP如果和上面一樣,說明你擁有自己的外網IP。
現在開始正式進入正題:
接下來我就演示2個應用,一個是設置遠程桌面,設置讓外網可以通過3389遠程控制局域網內的電腦,另一個就是訪問內網里Tomcat的應用,端口是8080,使用的工具是神卓互聯,快速實現內網穿透。 首先可以去神卓互聯官網下載一個客戶端。(地址自己百度吧),這個一般是針對企業級應用的,比如管家婆,OA系統等等,對于我們這些平民可以使用社區版,這個真的是免費的。
神卓內網穿透
下載好之后點安裝就可以。
神卓互聯_內網穿透安裝
安裝的過程很順利,直接點下一步就可以了。
神卓互聯_外網訪問內網
安裝完成后我們就可以打開登錄了,(這個登錄框背景是半透明的,不要找不到/捂臉)
簡單注冊一個賬號,然后選擇社區版,直接確定登錄就可以了。
內網穿透_免費的內網穿透軟件
接下來就可以開始正式使用了。
內網穿透
接下來就是添加映射了,首先是3389遠程訪問的映射
點擊主面板左下角的添加映射按鈕
應用名稱可以隨便填,這里可以填遠程桌面,服務器IP可以是局域網內任意IP,這里填寫127.0.0.1就可以了,端口號肯定是填3389了,點擊其二添加就好了。主面板就會返回一個固定的公網地址和端口號,當然這個地址可以把后面的端口號去掉,也可以綁定域名,這里就不多說了,不是重點。
接下來就可以通過外網訪問了,打開下面這個遠程桌面連接,
然后就可以直接連接了。
接下來就是穿透8080端口了,
只需要把端口號改為8080,當然可以是任意的端口號和tomcat保存一致就可以了。
太晚了,明天再寫。
本人最近在寫博客,就是為了實現這個功能,用Java語言編寫,感興趣的話可以關注下我