[TOC]
[玩转树莓派] 还我80端口
Oray for Raspberry Pi
0x00 花生壳介绍
花生壳服务百度百科中有这样一段介绍:
花生壳是动态域名解析服务客户端软件。当您安装并注册该项服务,无论您在任何地点、任何时间、使用任何线路,均可利用这一服务建立拥有固定域名和最大自主权的互联网主机。“花生壳”支持的线路包括普通电话线、isdn、adsl、有线电视网络、双绞线到户的宽带网和其它任何能够提供互联网真实ip的接入服务线路,而无论连接获得的ip属于动态还是静态。
简单来说,我们可以通过花生壳的服务把我们的IP和一个域名做映射,映射后就可以使用域名访问而不需要记IP了。IP是一个不好记的东西,像我们这样的个人用户又是没有固定IP的(固定IP的宽带服务较贵,土豪可忽略),因此花生壳可以帮我们解决这个疼点。之前的花生壳给注册用户免费提供了一个二级域名,现在注册需要花5元购买一个永久的二级域名。下面会有介绍。
0x01 安装花生壳内网版
花生壳内网版
这个东西是干嘛的? 如果你没有接触过,可能会有这个疑问,且听我慢慢道来。现在或者未来的某一天,你会知道,中国电信或者其他家的宽带会封掉一些我们常用的端口,比如最常见的80端口。可能主要是为了加强网络管理,不允许私人在家里搭建网络服务吧。顺便告诉你一个不幸的消息,如果你的ssh不能在外网访问或者访问不稳定,也有可能被封了。而我们将要安装的 花生壳内网版
就是突破这个限制的。大家也可以参考这里。
下载
首先,我们需要下载树莓派版的花生壳内网版,在树莓派上,我们可以用 wget
进行下载(这里我们下载到~/Downloads/),命令如下:
pi@raspberrypi:~/Downloads $ wget http://download.oray.com/peanuthull/embed/phddns_raspberry.tgz
下载下来的文件叫 phddns_raspberry.tgz
,我们对其进行解压:
pi@raspberrypi:~/Downloads $ tar zxvf phddns_raspberry.tgz
phddns2/
phddns2/oraynewph
phddns2/oraynewph.tgz
phddns2/oray_serve
phddns2/parse
安装
我们需要使用root账号来安装,否则可能出现权限问题,导致安装失败。sudo su
切换到root,使用 ./oraynewph start
执行安装。下面是安装过程:
pi@raspberrypi:~/Downloads $ cd phddns2
pi@raspberrypi:~/Downloads/phddns2 $ sudo su
root@raspberrypi:/home/pi/Downloads/phddns2# ./oraynewph start
...
配置
在上面的安装日志中我们可以看到这的提示信息(你也可以使用 oraynewph status
命令来查看此信息):
SN:RAPIe*************
Please visit http://b.oray.com
Oraynewph start success !
按照提示,我们打开 http://b.oray.com 这个网站,使用上面的SN登录系统(默认密码是admin
,登录后会要求你设置密码,绑定花生壳账号等,如果你没有,那需要你注册一个),登录后如下图:
我们点击内网映射,进入设置界面,点击 添加配置,如下图:
经过如上配置,我们就可以通过域名来访问我们放在家里的树莓派上的http服务了。简单的,我们可以使用如下命令起一个http服务:sudo python -m SimpleHTTPServer 80
进行测试。
0x02 花生壳服务
注册花生壳
首先我们需要注册一个花生壳,并花¥5购买一个永久的二级域名,这个就介绍了,类似这样:
路由器上登录花生壳
接下来的操作都是基于这个前提的。先回顾下我的网络拓扑:
我使用的是TP-Link的路由器,宽带ADSL拨号是在这个路由器上,路由器有一个公网IP。TP-Link路由器是支持花生壳服务的。我们在路由器登录花生壳账号后即可通过登录帐号绑定的域名来访问这个公网IP了,TP-Link的路由器登录后的信息如下:
配置DMZ
对于挂在路由器下的 Raspberry Pi 仅仅依靠上面的花生壳配置还不够的。我们还需要启用路由器的DMZ主机功能,下面是关于DMZ的介绍:
在某些特殊情况下,需要让局域网中的一台计算机完全暴露给广域网,以实现双向通信,此时可以把该计算机设置为DMZ主机。 只有启用了该功能后,对应的DMZ主机才会生效。
根据介绍,我们做下面的配置:
这样发送到我们路由器的所有请求都会被转发到我们的 Raspberry Pi了,我们的 Raspberry Pi 就成了公网中的一台主机了。
PS:DMZ主机配置并不是一个安全的选择,更安全的配置是只影射我们使用的端口,比如80,22等
好了,这基本算是最后一篇基础介绍了。下一篇开始介绍树莓派最吸引我的地方 GPIO
操作,想想都兴奋了~~