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 了。

参考文献

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。