如何在另一個地方(很遠的地方)SSH登錄家裡的通過路由器上網的樹莓派?(是寬頻上網)?

我現在是這樣配置的:

PC: 192.168.2.102 (通過無線連接路由器)

LAN口網關(路由器): 192.168.2.1 型號:WR541G/542G v4 0815311C

LAN口子網掩碼:255.255.255.0

Raspberrypi通過有線連接路由器,

DHCP獲得的IP: 192.168.2.135

但是ssh登錄通過PC訪問 IP地址查詢--手機號碼查詢歸屬地 顯示的IP地址:58.34.隱藏.隱藏, 失敗! 換成用pho***.gicp.net 用ssh登錄,也失敗!

請問 哪裡出錯了?

我是菜鳥 , 請具體回答,謝謝!


參見:

如何遠程登錄家裡的Ubuntu電腦(命令行模式)? - petronny 的回答

zerotier one的源碼:

zerotier/ZeroTierOne · GitHub

@iittttt n2n已經停止維護了


提供一個不太一樣的方法。

ssh反向連接。

通過ssh,內網主動向公網發起反向連接請求。

這樣在公網上以及可以連接到公網的都可以反向跳轉到內網來。

這種方法麻煩,但是安全問題移到公網伺服器,並且不需要在內網環境作額外配置。了解之後,還挺簡單的。


路由器後台一定能看到你們家寬頻的WAN埠IP

在http://ip138.com等網站上可以看到你們家寬頻的公網出口IP

如果兩者相同的話,恭喜你,你家的寬頻擁有一個動態的公網IP。

因為這個IP是動態的,為了方便記憶,需要弄一個動態域名

國內的花生殼提供這個服務,不過現在是否還有免費的,不得而知。

極路由也提供了動態域名功能。

我的經驗是,電信的網路,只要是常見服務埠,八成被封鎖了。

所以埠一定要換成不常見的

題外話,花生殼還提供一種以代理中轉技術為核心的「動態域名」服務,交點錢,可以在共享公網出口的Windows伺服器上實現Web服務。


難道是22埠被ISP封了,改改埠試試?

改 Raspberrypi 里 sshd的配置,把埠改成2222(或者其他的)

cd /etc/ssh
sudo nano sshd_config
#Look for the line that says #Port 22. On mine, that"s line 13.
#Remove the # and change the 22 to something of your choosing, so it looks #like:
#Port 2222
#然後重啟ssh服務
sudo /etc/init.d/ssh restart

另外如Raspberrypi 最好用ifconfig命令把ip寫死,而不用dhcp;或者是在路由器的DHCP給Raspberrypi配置一個固定的IP.

  • 我這樣路由器里的配置正確嗎?
    • 基本上正確的,當然如果改了sshd的埠要相應的調整埠
  • DMZ是否需要配置?

    • DMZ的配置不是必要的,按照你提問里截圖的配置,DMZ配置實際上是覆蓋了埠映射的配置,所有發送到你路由器的包都會被轉發到192.168.2.135這個地址,所以我建議你不配置DMZ
  • 我的寬頻外網IP通過ip138網站獲得,是否可靠?

    • 可靠。
    • 但是你得你看看路由器里【運行狀態】-【WAN口狀態】-【IP地址】和你通過ip138獲得的地址一不一樣,不一樣的話說明你路由器上面還有NAT轉發,這樣估計是很難從外網直接訪問到你的樹莓派了
  • 花生殼的作用好像沒用到啊?

    • 如果你路由器里【運行狀態】-【WAN口狀態】-【IP地址】和你通過ip138獲得的地址一樣,那麼你以後就不用每次用ip138來查寬頻外網ip了,直接ssh連接到domain.gicp.net:埠 就可以了,這就是動態DNS的意義所在。


看了題主在其它回答的評論,建議試試N2N VPN。

●●●●●分割線●●●●●

組建N2N VPN網路實現內網設備之間的相互訪問.md

n2n VPN - RemoteQTH.com/wiki


別說是SSH,連遠程桌面都是開得的。

我在國外用的是ngrok,國內也有類似的服務,可以搜一下。

我當年寫的《如何在外網用GUI控制Raspi》(日文)

http://qiita.com/jerrywdlee/items/6d89eb2170c16c05dd9b


ping 一下花生殼分給你的那個域名 指向哪個ip。

北京的寬頻現在都封80,8080埠,22,21均沒有封。

一般找到自己家路由器公網的ip之後,80,8080可以通過nginx proxy繞開,22埠密碼默認改掉,基本就都能連上。

樹莓派的防火牆默認22開啟的,路由器默認沒有防火牆,你這樣設置是對的,不放心就拿nmap -v ip

來看看到底埠情況如何?我已經設置成功,家裡網速還挺快的 ^_^


如果你們家網路沒能獲取公網IP,那麼有兩種方法可以實現,一種方法是通過VPN連接,一種方法是通過ssh反向代理,不過這兩種方法你都需要有台公網伺服器。


看下ip138獲取的地址和你路由器過去到的地址是否一致。很多人沒有特殊要求的話獲取到都是nat地址,是的話打下客服要求開公網地址就可以了。


autossh + 公網vps


之前嘗試過的的方案是:花生殼內網穿透免費版,ubuntu下安裝啟動成功,版本為2.0.2.16556,不是最新的,可以用筆記本win7下ping通公網ip和免費域名。

PS:光貓的話是需要設置埠映射的,路由器的花生殼可以不登錄,通過linux客戶端登錄就可以了;只要您的光貓可以獲取動態的公網IP,並且埠映射也設置好了,基本就沒什麼問題了。


如果你 unlock 了 root 然後打算用 root 來 ssh 登陸的話 需要把 sshd_config 里的 PermitRootLogin 設為 yes


在樹莓派上搭建web伺服器——基於Apache 可以參考一下這篇博文,這個就可以通過外網訪問


實踐證明:IP地址查詢--手機號碼查詢歸屬地結果不對。

註:本人教育網,有固定的公網 ip, 經常使用手機登錄 Raspberry Pi。


推薦閱讀:

如果電腦用網線連接了路由器,但是我並不知道wifi密碼,如何可以知道wifi密碼呢?
跨網段到底需要三層交換嗎?
Wi-Fi 熱點解決方案 JooMe 是怎麼能支持幾十人同時上網的?
4G LTE 是否會代替 Wi-Fi 乃至影響路由器的市場?
寬頻運營商將用戶IP換成內網IP是否合理?

TAG:Linux | 路由器 | 花生殼 | 樹莓派RaspberryPi | 動態域名解析 |