先決條件
一台電腦(我的是我女朋友的電腦被我征用了,裝了個虛擬機,裝了centos7在里面),公網IP(二三兩種方法需要)。
方法一、花生殼客戶端(沒有公網ip,直接映射內網指定端口)
1.申請一個花生殼,並注冊域名

2.vmware中裝一個centos7,配置好ip(222.222.221.197),裝好jdk+tomcat環境(用本機也可以),啟動tomcat。這里的linux系統用的是橋接模式(這里必須用橋接模式,不然花生殼訪問不到虛擬機)。

3.下載花生殼客戶端,配置ip映射(路由器局域網內某台ip的某個端口映射到花生殼指定的ip和端口上)

4.配置好后在主機上訪問一下,OK沒問題。

把22端口映射到外網就可以遠程了。

方法二、路由器使用花生殼域名動態解析(如果ip每次撥號都變就用這種)
注意!!!路由器的ddns是動態解析公網ip,不是映射內網功能!!!ip一定要是公網才可以(找運行商啦,讓他給個唄),我用的是電信,光貓改為橋街模式(我的被我搞炸了,保修來了人修的)后,用撥號連接就可以啦。

需要訪問那台局域網內ip的指定端口只需要映射一下端口就可以通過域名訪問啦

結果如下,域名:port-->公網ip:port-->映射的內網ip:端口

方法三、萬網域名綁定公網ip(公網ip每次不變的情況下)
直接百度萬網(已經被阿里收購咯),買一個域名在里面配置一下公網ip

天坑!!!
運營商是把80等一些端口屏蔽了,所以配置好后本機測試沒問題,換個非局域網的網絡環境發現不行。各種找原因,無意間發現直接ping 公網ip:80是不通的,ping ip:22卻是通的,網上查了一下原來是被屏蔽了。花生殼和百度的工單服務還是不錯的,雖然沒找出來原因。
排查方法
ping 公網ip #測試公網ip是否通
ping 域名 #看看是否綁定成功,不成功找對應的域名服務商(就是上面的花生殼和萬網啦)
nslookup 域名 #查看域名綁定的公網ip是不是你的公網ip
telnet ip/域名 端口 #telnet 80或者8080等端口不行換個其他的端口(換個虛擬服務器映射的外網端口)試試,比如22,9080(映射到外網端口9080),這就可能是被運營商屏蔽端口了。或者是服務器屏蔽掉了。
另外路由器的ddns動態解析ip地址也不是很好,經常訪問不了,要在路由器上重新登錄ddns才可以,因為ip一直變,有時多個域名可能綁定不同的ip。
---------------------------------------這是一條分割線---------------------------------------
二次更新
1.本人用第二種方法搭建,發現經常連不上,於是乎nslookup查看下,發現綁定的ip經常變,oray解析不過來,路由器的ddns經常掉線重連。
解決方案:買了個花生棒(和路由器上的ddns登錄一樣,這個只不過在硬件上登錄賬號動態解析ip,端口映射仍然在路由器上)。這個我懷疑是我的路由器太差了。
2.花生棒買來了,ddns賬號一直重連解決了,發現每過幾分鍾三種燈一起閃,炫酷倒是挺炫酷(意思是獲取不到ip,也就是ip重撥了,等一會就好了)。怎么會沒兩分中就換一個ip呢?電信網的48小時斷網重新撥號改成48秒了?然后打了客服問了一下(嗯~聲音很甜),幫我查看了下后台記錄,發現我是正常離線,根本不是被迫下線。那問題就在我這咯!我的路由器每過一段時間就會重新撥號!!!我發現路由器的幾個指示燈閃的很凶,把VMware關掉,嗯?好了?看樣子是虛擬機問題嘛,我用的橋接模式增大了路由器的壓力?我關掉虛擬機試了下,一天ip都沒變,看樣子確實是虛擬機問題。然后我改了下NAT模式連接,發現路由器也不會重啟,還原了下虛擬網絡編輯的默認設置(因為我忘記某個步驟了准備重新開始),再次用橋接模式登錄。發現好了!!!路由器不重啟了!!!指示燈也不瘋狂閃了!!!因為發現多連一個設備沒事,橋接到一個網卡上路由器就會崩潰,打算專門給虛擬機配一個8187的無線網卡(之前破解wifi密碼買的,linux用絕對沒問題了),嘿!竟然找不到linux版本的驅動!!!費了好半天力氣找到8187驅動官網,還沒試,試過的評論下哦。
三次更新
橋接模式用了兩天后,在女朋友看電影的情況下,路由器依然炸掉了。於是乎試了下安裝8187的驅動,然而發現並沒有linux的驅動。於是乎網上看看了下讓虛擬機直接用物理網卡,而不是用虛擬網卡的方法。
選中復制物理網絡連接狀態,從而使用物理網卡而不是虛擬網卡。

編輯-》虛擬網絡編輯器,選中要用的網卡

四次更新
找到根本原因了,上次寫教程ip賬戶名密碼都沒打碼,被黑了,服務器在三天時間內上傳流量達到160G(里面其實就是個tomcat+mysql,啥也沒有)。有趣的是木馬根本殺不掉,刪掉文件后隔一段時間又會自動生成。於是只能新建一個虛擬機實例了。木馬的那台我還留着,以備后面研究。大家以后寫教程一定要注意打碼。
