樹莓派應用之家庭網絡中部署一臺可在公網提供服務的低功耗服務器

最近開始研究研究樹莓派有哪些應用場景。

首先想到的就是在內網部署一臺可在公網提供服務的低功耗服務器,可以提供哪些功能呢?比如Web服務SVN服務FTP服務遠程家庭網絡檢測服務便攜式漏洞掃描設備等等。這些都是很有意思的應用場景。

Web服務

通常公網的Web服務都是要交費的,阿里雲最便宜的一臺雲服務器也要60多塊錢一個月的。樹莓派部署在家裏,就是一個免費的公網服務器了,只是電信把80端口關了,那其實也沒事,可以綁定8080端口。現在家庭寬帶都比較大了。我家現在是24M的寬帶,現在上傳帶寬已經有1M多了,這個還是相當可觀的。有這麼一臺免費的公網服務器可以放一些自己的小Web應用也是非常不錯的。

遠程家庭網絡監測服務

這個就是最有研究價值的一個服務了。

簡單的就是在手機上可以隨時查看家裏面有多少WIFI鏈接,有多少人在家,哪個電視開着等等。如果家裏放到攝像頭的話,還可以在手機端隨時查看家裏的攝像頭。再後面,如果其他家電也是智能化,可聯網的話,那就可以通過這個樹莓派實時的控制了。

便攜式漏洞掃描設備

準備一個太陽能充電器+無線網卡+再加上這個樹莓派就可以隨時進入一個網吧,咖啡廳等等公共的環境,接入內網,就能對內網中的設備進行安全監測了。想想也是非常不錯的哦。

說了這麼多了,那麼應該如何部署呢?接下來我們就開始吧。

第一步:樹莓派安裝Debian系統

1、操作系統下載

樹莓派官方 Raspbian 系統下載:http://www.raspberrypi.org/downloads
或直接下載 http://downloads.raspberrypi.org/raspbian_latest.torrent 最新版的 BT 種子。

還有一個選擇是由國人制作的超級精簡版,更低內存佔用:http://pan.baidu.com/share/link?shareid=167943&uk=1412008571

2、系統安裝

所謂“安裝系統”其實不如說是“恢復”下載到的系統鏡像到內存卡上,這個過程也沒什麼難度,就是看內存卡的速度,慢慢等而已。需要注意的是,市面上部分 4G 的內存卡,實際大小才 3.6G 多,會提示空間不足,所以還是直接購買 8G 吧,也差不了幾塊錢。
在 Windows 下可以使用 Win32 Disk Imager 進行鏡像恢復,非常方便,也是樹莓派官方推薦的方法。官方下載地址:http://sourceforge.net/projects/win32diskimager/

3、環境配置

登錄tplink路由器,查看客戶端列表就可以看到樹莓派的IP地址,然後就是SSH登錄到小服務器上隨便倒騰了。

第二步:配置固定IP

樹莓派安裝好後,默認是DHCP的網卡配置。因爲後面要配置IP端口映射,所以需要配置固定的IP地址。

接下來我們就開始配置吧。

auto eth0
iface eth0 inet static
address 192.168.9.250
netmask 255.255.255.0
gateway 192.168.9.1

第三步:IP端口映射

這不是最關鍵的一步,也是最核心的一步。只有完成了這一步,才能實現從外網直接訪問內網的設備。

在Tplink上的配置方法如下:

使以上條目生效後,就可以通過訪問PPPoE的公網IP進行端口轉發,映射到內網的樹莓派服務器上面了。

這步完成後,基本上就可以實現我們想要達到的目的了,可以通過外網訪問家庭內網的樹莓派服務器,進而可以訪問家裏面的任何一臺網絡設備,比如機頂盒,路由器等等。

第四步:花生殼動態域名解析

大家都知道PPPoE的公網IP地址是隨機的,這樣就會導致今天這個IP可以訪問,明天也許就需要重新登到路由器上查看PPPOE的IP了。這樣需要人工重複勞動的事,肯定不是我們追求的最佳解決方案。

那我們就會想到能否實現一個動態DNS解析,就是將一個域名動態的解析到路由器的公網IP上。

TPLinke正好提供這樣的一個功能。

註冊一個花生殼賬號,就可以實現域名動態綁定家庭網絡的公網IP了。這個方法在以前是一直可以使用的,但是最近發現電信又不知道再搞什麼鬼,怎麼連都連不上。開始以爲是這幾個端口是不是都被電信給封了,最後才發現原因:對外訪問的IP和對內訪問的IP不一樣

電信也是坑了,居然這麼搞。通過ping花生殼提供的動態域名,發現綁定的是對外訪問的公網IP地址,那就沒有辦法通過花生殼提供的現成解決方案來實現了。那麼怎麼辦呢,難不倒我們,那我們就自己實現一個動態域名解析方案

第五步:Dnspod動態域名解析

提供這個功能的基礎,主要是因爲dnspod提供API接口讓我們實現自動化的修改或增加A記錄的功能。

那麼我們就通過這個接口自己實現動態域名解析方案吧。

1、獲取路由器的PPPoE的公網IP

Shell代碼如下:

value=$( curl -u test:test http://192.168.9.1/userRpm/StatusRpm.htm | grep ’0, “0C-82-68-A1-EC-5B”, “‘ | awk ‘{print $3}’ | awk ‘{sub(/["]+/, “”); print}’ | awk ‘{sub(/["]+/, “”); print}’ | awk ‘{sub(/[,]+/, “”); print}’ )

2、判斷動態域名的IP是否變更,如果變更則修改Dnspod記錄

完整代碼如下:

#! /bin/sh
#
# Provides:          ddnsUpdate.sh
# Description:       ddnsUpdate
#
# Author: Shenjie <[email protected]>
#
# Usage:
#   ddnsUpdate.sh
#
#
#

arMail=”Dnspod賬號”
arPass=”Dnspod密碼”
domainId=”域名Id”
recordId=”記錄Id”
subDomain=”ddns”
recordType=”A”
recordLine=”%E9%BB%98%E8%AE%A4″
if [ ! -e /home/homeip ]; then
touch /home/homeip
fi
oldValue=$( cat /home/homeip )
value=$( curl -u 路由器用戶名:路由器密碼 http://路由器地址/userRpm/StatusRpm.htm | grep ’0, “0C-82-68-A1-EC-5B”, “‘ | awk ‘{print $3}’ | awk ‘{sub(/["]+/, “”); print}’ | awk ‘{sub(/["]+/, “”); print}’ | awk ‘{sub(/[,]+/, “”); print}’ )
if [ "$oldValue" = "$value" ]; then
echo “home ip is the same, do not have to update dnspod”
echo “[`date`] home ip is the same, do not have to update dnspod, IP: ${value}” >> /var/log/ddnsUpdate.log
exit 1
fi

echo $value > /home/homeip

mx=”0″
ttl=”600″

agent=”AnripDdns/5.07([email protected])”
url=”https://dnsapi.cn/Record.Modify”
param=”login_email=${arMail}&login_password=${arPass}&login_code=&format=json&domain_id=${domainId}&record_id=${recordId}&sub_domain=${subDomain}&record_type=${recordType}&record_line=${recordLine}&value=${value}&mx=${mx}&ttl=${ttl}”

echo “current deivce ip: ${value}”
echo $param
echo “start to connect to dnspod ……”
wget –quiet –no-check-certificate –output-document=- –user-agent=$agent –post-data $param $url
echo ” ”
echo “ddnsUpdate run success”
echo “[`date`] ddnsUpdate run success, IP: ${value}” >> /var/log/ddnsUpdate.log

這個裏面的賬號部分請自行修改,如有疑問,可以加我的QQ:782200272諮詢。

第六步:將Shell腳本加入到contab計劃任務中,沒6小時執行一次

一切工作就緒後,把這個腳本加入到contab計劃任務中,就可以實現動態域名解析功能了。

至此,我們已經實現了完整在的在家庭內網中部署一臺可在公網提供各種服務的服務器了。

爲什麼叫低功耗服務器呢

因爲樹莓派是最適合當做家庭內部的輕量型服務器的。

如果用主機的話,成本太高,耗電量也大。如果用筆記本的話,耗電量也很大,而且對筆記本的損耗太大了,不合算。

樹莓派的功耗:3.5W,也沒看錯,才3.5W的功率相當於一個LED燈的功率,非常節能環保吧。

今天就到這裏吧。下次再介紹樹莓派的其他部署和應用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章