玩转树莓派04——远程访问

基本上所有功能都做好了,但是现在还仅仅在局域网内使用,接下来就是做成外网也能访问,比如在公司、在学校、在任何地方访问家里的树莓派。

由于电信是动态分配的IP,所以想要做到外网访问,就必须获得外网的IP。有两种方法,第一种是使用花生壳动态域名解析,这种方法太过简单就不讲了;这里讲讲第二种。

首先在路由器里设置树莓派的静态地址:DHCP服务器-静态地址保留

玩转树莓派04——远程访问_第1张图片
00.png

绑定了 192.168.1.104,然后设置端口映射:转发规则-虚拟服务器

玩转树莓派04——远程访问_第2张图片
01.png

服务器端口是可以随便设置的,其中内部端口如下:

  • 22:SSH 端口。
  • 6800:这是 Aria2 RPC 的默认端口,也是唯一一个服务器和内部端口必须保持一致的端口。
  • 5901:这是 VNC 端口。
  • 80:这是 Aria2 的下载管理页面。

接下来就是重头戏了:获得外网IP。执行:

git clone https://github.com/18312847646/Report-IP-hourly.git /root/rootcrons/

编辑 /root/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

执行:

crontab /root/rootcrons/rootcron
/etc/init.d/cron restart

开机启动自动检测IP服务:编辑 /etc/rc.local,添加:

/usr/bin/python /root/rootcrons/reportip.py

修改检测IP的频率,修改 /var/spool/cron/crontabs

*/5 * * * * /usr/bin/python /root/rootcrons/reportip.py

每5分钟检测一次,具体参数请自行Google:crontab。现在只要更改了IP,五分钟内就能通过邮件获得最新IP了。

参考文献

  • http://www.kawabangga.com/posts/1398 (感谢提供源代码)

你可能感兴趣的:(玩转树莓派04——远程访问)