LJason

LJason

野生程序猴子
twitter
github
nintendo switch
steam
bilibili
email

玩轉樹莓派 04 —— 遠程訪問

基本上所有功能都做好了,但是現在還僅僅在局域網內使用,接下來就是做成外網也能訪問,比如在公司、在學校、在任何地方訪問家裡的樹莓派。

由於電信是動態分配的 IP,所以想要做到外網訪問,就必須獲得外網的 IP。

有兩種方法,第一種是使用花生殼動態域名解析,這種方法太過簡單就不講了。這裡講講第二種。

首先在路由器裡設置樹莓派的靜態地址:DHCP服務器-靜態地址保留

00

綁定了 192.168.1.104,然後設置端口映射:轉發規則-虛擬服務器

01

服務器端口是可以隨便設置的,其中內部端口如下:

  • 22:SSH 端口。
  • 6800:這是 Aria2 RPC 的默認端口,也是唯一一個服務器和內部端口必須保持一致的端口。
  • 5901:這是 VNC 端口。
  • 80:這是 Aria2 的下載管理頁面。

接下來就是重頭戲了:獲得外網 IP。執行:

git clone --depth=1 https://github.com/LJason77/Report-IP-hourly.git ~/rootcrons/

編輯 ~/rootcrons/reportip.py,更改其中的 smtpserverusernamepasswordsenderreceiversubject(郵箱需要開啟 SMTP 服務):

  • smtpserver:SMTP 服務器
  • username:登陸 SMTP 的用戶名
  • password:密碼
  • sender:發送人,注意要和 SMTP 登錄的賬戶對應,通常都是一個郵箱賬戶。
  • receiver:收信人列表
  • subject:郵件主題

找到:

http://1111.ip138.com/ic.asp

改成:

http://members.3322.org/dyndns/getip

執行:

sudo crontab /home/pi/rootcrons/rootcron
sudo /etc/init.d/cron restart

開機啟動自動檢測 IP 服務:編輯 /etc/rc.local,添加:

/usr/bin/python /home/pi/rootcrons/reportip.py

修改檢測 IP 的頻率,修改 /var/spool/cron/crontabs

*/5 * * * * /usr/bin/python /home/pi/rootcrons/reportip.py

每 5 分鐘檢測一次,具體參數請自行 Google:crontab。現在只要更改了 IP,五分鐘內就能通過郵件獲得最新 IP 了。

參考文獻

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。