您好,登錄后才能下訂單哦!
這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)怎樣借助 frp 隨時隨地訪問自己的樹莓派,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
看了知乎上的一個「樹莓派」是什么以及普通人怎么玩? 的高票回答,雙十一時間,果斷買了一個樹莓派 3. 周一(11.13) 到的貨.我目前只想實現(xiàn)一個簡單的功能 -- 想從任意位置訪問我的樹莓派. 就像一個潘多拉魔盒,第一步肯定是拿到鑰匙!
組裝,其實指的是把樹莓派放進紅白外殼里.基本思路就是,去賣家店鋪里看組裝說明.其中,小風扇的安裝有點特殊,需要接4/6腳.就是最外層的右起第2和第3個.接不對,小風扇,就不會轉(zhuǎn).我專門截了個圖,以備忘:
我前面說過了,我買的是套裝,自帶一個小顯示器的那種.主要是內(nèi)網(wǎng)ip經(jīng)常變,我不是很容易確定樹莓派的ip.還有就是第一次啟動時,我需要手動輸入下密碼.
雖然聽了很多,但是真的看到那個小盒子,加上那么低價的顯示器,竟然真的一起合作,把系統(tǒng)桌面給顯示出來了,還是有一點點觸動的. NB 啊~
PS: 這個小顯示器,也可以當做 mac 的外接顯示器.第一使用 mac 顯示器,記住操作技巧是: 用力的把鼠標移到屏幕外,然后光標就會自動出現(xiàn)在另一塊屏幕上.
樹莓派的 ssh 登錄密碼, 默認用戶名是: pi , 默認密碼是: ** raspberry** 要第一時間修改下.
passwd
樹莓派默認沒有目錄 .ssh ,需要先創(chuàng)建下.需要ssh登錄到樹莓派之后,在派中執(zhí)行:
mkdir ~/.ssh/
在任意一臺想要訪問樹莓派的電腦中,直接執(zhí)行(而不是登錄到樹莓派后執(zhí)行):
# 設(shè)置自動登錄. cat ~/.ssh/id_rsa.pub | ssh pi@樹莓派內(nèi)網(wǎng)ip "cat >> ~/.ssh/authorized_keys"
樹莓派內(nèi)網(wǎng)ip 要換為樹莓派的內(nèi)網(wǎng)ip.當然,也需要你用來訪問樹莓派的電腦和樹莓派處于同一局域網(wǎng).
樹莓派默認沒有 root 密碼,直接設(shè)置即可.
# 設(shè)置 root 密碼 sudo passwd root # 解鎖 root 賬戶 sudo passwd --unlock root # 切換到 root 賬戶 su root
我是 64G 的內(nèi)存卡,但是看容器總共只有 7.2G.第一反應(yīng)是遇到了黑心商家,但是網(wǎng)上搜了下,簡單設(shè)置重啟即可.詳見: http://cedar-renjun.github.io/2015/10/11/resize-raspberry-sd-volume/
此處引用記錄下關(guān)鍵步驟,以供查閱:
操作步驟 1.重新樹莓派,進入命令行頁面 2.登陸樹莓派,用戶名 pi,密碼 raspberry
sudo su 切換至超級用戶
df -h 顯示出當前分區(qū)的狀態(tài)和使用率
輸入 fdisk /dev/mmcblk0 加載SD卡
p 打印當前分區(qū) 你應(yīng)該會看到三個分區(qū)(mmcblk0, mmcblk0p1, mmcblk0p2),現(xiàn)在把分區(qū)2的信息寫下來(/dev/mmcblk0p2) 我主要記錄了開始扇區(qū)(122880)和結(jié)束扇區(qū)(8447999)的數(shù)值 7.按 d 開始刪除分區(qū)
系統(tǒng)提示輸入刪除分區(qū)號,輸入 2
按 n 新建分區(qū),然后依次輸入 p, 2
接下來輸入原來記錄的2扇區(qū)開始號(122880),記得替換成你自己的數(shù)字
按 w 保持配置
輸入 reboot 重啟樹莓派
輸入 sudo resize2fs /dev/mmcblk0p2 更新系統(tǒng)
輸入 df -h 看看,是不是已經(jīng)完全使用了剩余空間
注意:在第 10 步之后,系統(tǒng)提示讓輸入結(jié)束扇區(qū)時,直接保持默認回車即可.
公網(wǎng)ip和公網(wǎng)服務(wù)器,類似于一個橋梁.我們通過它將可以訪問我們放置在內(nèi)網(wǎng)的樹莓派.服務(wù)器,我是買的最低配置的云服務(wù)器.當然,用自己已有的ip和服務(wù)器也可以.
頂級域名或二級域名,只要能做 ip 類型的 DNS 解析都可以.這一步,就是簡單的把域名解析到前一步的公網(wǎng) ip 上.這樣以后訪問會省事些,不用記ip了. 當然,直接用 ip 訪問也是可以的.
frp 的服務(wù)器端,一般名字是 frps,配置文件是 frps.ini. 這兩個文件要放到你的公網(wǎng)服務(wù)器上.一般,你都應(yīng)去發(fā)布頁,去尋找 frp 的對應(yīng)的操作系統(tǒng)的最新下載版本.此處以 frp_0.13.0_linux_amd64.tar.gz 為例.
# 下載.下載地址可以在github發(fā)布頁右鍵點擊某個下載項 --> 復制鏈接地址. wget https://github.com/fatedier/frp/releases/download/v0.13.0/frp_0.13.0_linux_amd64.tar.gz # 解壓. tar -zxvf frp_0.13.0_linux_amd64.tar.gz # cd 到 frp 目錄. cd frp_0.13.0_linux_amd64 # 編輯.debian上,打開vim的命令是 vi,不是 vim. vi frps.ini
在 frps.ini 中輸入:
[common] bind_port = 7000 vhost_http_port =80 dashboard_port = dashboard_port_number dashboard_user = dashboard_user_name dashboard_pwd = dashboard_pwd_value privilege_token = privilege_token_value
然后,開啟 frps 即可:
./frps -c ./frps.ini
配置好服務(wù)器端后,你應(yīng)該就可以在瀏覽中打開 frp 的控制臺頁面了:
注意:
dashboard_port_number 改為一個特定的端口號,如8000,如此便可以通過 http://yourip:8000 來訪問 frps 的網(wǎng)頁控制臺頁面.
dashboard_user_name 和 dashboard_pwd_value,要改為一個自定義的用戶名和密碼,用于在訪問 frps 控制臺頁面時輸入.
privilege_token_value 改為一個自定義的值.只要客戶端與服務(wù)端 privilege_token 匹配時,客戶端才能連接到 frp 服務(wù)端.
frp 的客戶端,一般名字是 frpc,配置文件是 frpc.ini. 這兩個文件要放到你的內(nèi)網(wǎng)服務(wù)器--樹莓派上.一般,你都應(yīng)去發(fā)布頁,去尋找 frp 的對應(yīng)的操作系統(tǒng)的最新下載版本.此處以 frp_0.13.0_linux_arm.tar.gz 為例.
# 下載.下載地址可以在github發(fā)布頁右鍵點擊某個下載項 --> 復制鏈接地址. wget https://github.com/fatedier/frp/releases/download/v0.13.0/frp_0.13.0_linux_arm.tar.gz # 解壓. tar -zxvf frp_0.13.0_linux_arm.tar.gz # cd 到 frp 目錄. cd frp_0.13.0_linux_arm.tar.gz # 編輯. debian上,打開vim的命令是 vi,不是 vim. vi frpc.ini
在 frpc.ini 中輸入:
[common] server_addr = your_server_ip server_port = 7000 privilege_token = privilege_token_value login_fail_exit = false [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = remote_port_number
然后,開啟 frpc 即可:
./frpc -c ./frpc.ini
配置好服務(wù)器端后,你應(yīng)該在任意可以連接到互聯(lián)網(wǎng)的電腦上,使用 ssh 訪問自己的樹莓派了:
# 端口和ip要記得替換為自己的. ssh -oPort=remote_port_number pi@your_server_ip
注意:
your_server_ip 要替換為公網(wǎng)服務(wù)器上綁定的公網(wǎng) ip.
frps 服務(wù)器端與客戶端不必是同一操作系統(tǒng), 但frp 版本最好對應(yīng)
樹莓派3 debian 系統(tǒng),需要的是 arm 版本的程序安裝包.
privilege_token 要和服務(wù)器端的 frps.ini 中對應(yīng)
login_fail_exit 很重要,否則后面無法實現(xiàn)系統(tǒng)重啟時自動啟動 frpc 功能.
remote_port_number,用來指定通過遠程服務(wù)器的哪個端口來 ssh 訪問樹莓派.
Systemd,可以保證在樹莓派意外重啟時,能自動啟動 frp 相關(guān)服務(wù).這樣,我們就不用整天提心吊膽,擔心各種意外了.
大部分 Linux 系統(tǒng)中,都內(nèi)置了 Systemd.如果沒有,可以手動安裝.
安裝systemd請運行:
apt-get update apt-get install systemd apt-get install systemd-sysv
在安裝完 systemd 之后,為了使系統(tǒng)以 systemd 的方式使用,最好在 grub 配置文件中的 kernel 命令行指定下面的參數(shù):
vi /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="quiet splash init=/lib/systemd/systemd"
為了使用新安裝的systemd來引導系統(tǒng),請重新啟動系統(tǒng):
# reboot
# 需要先 cd 到 frp 解壓目錄. # 復制文件 cp frps /usr/local/bin/frps mkdir /etc/frp cp frps.ini /etc/frp/frps.ini # 編寫 frp service 文件,以 centos7 為例,適用于 debian vim /usr/lib/systemd/system/frps.service # 內(nèi)容如下 [Unit] Description=frps After=network.target [Service] TimeoutStartSec=30 ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini ExecStop=/bin/kill $MAINPID [Install] WantedBy=multi-user.target # 啟動 frp 并設(shè)置開機啟動 systemctl enable frps systemctl start frps systemctl status frps # 部分服務(wù)器上,可能需要加 .service 后綴來操作,即: systemctl enable frps.service systemctl start frps.service systemctl status frps.service
# 需要先 cd frp 解壓目錄. # 復制文件 cp frpc /usr/local/bin/frpc mkdir /etc/frp cp frpc.ini /etc/frp/frpc.ini # 編寫 frp service 文件,以 centos7 為例,適用于 debian vim /usr/lib/systemd/system/frpc.service # 內(nèi)容如下 [Unit] Description=frpc After=network.target [Service] TimeoutStartSec=30 ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.ini ExecStop=/bin/kill $MAINPID [Install] WantedBy=multi-user.target # 啟動 frp 并設(shè)置開機啟動 systemctl enable frpc systemctl start frpc systemctl status frpc # 部分服務(wù)器上,可以需要加 .service 后綴來操作,即: systemctl enable frpc.service systemctl start frpc.service systemctl status frpc.service
注意:
frps 或 frpc 啟動無效時,可以嘗試先停止服務(wù),如:
systemctl stop frpc
上述就是小編為大家分享的怎樣借助 frp 隨時隨地訪問自己的樹莓派了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。