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

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

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

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



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



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

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

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

1
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:邮件主题

  找到:

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

  改成:

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

  执行:

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

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

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

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

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

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

参考文献

如果你喜欢我的博客,那就请我吃冰淇淋吧(づ ̄3 ̄)づ╭❤~