Banana Pi 測試 – Bananian 篇 安裝 OpenVPN Windows Client

OpenVPN 網站:https://openvpn.net/

各個作業系統 Client 端程式下載
[@more@]請依使用的 Windows 是 32/64 來選擇下載的程式
這裡 Windows 7 enterprise x86 為例

按滑鼠二下執行下載下來的軟體

Next 繼續安裝

軟體授權合約,請選擇 I Agree

Next 繼續安裝

Install 開始安裝

選擇 安裝(I)

網路設定中會出多一個網路介面

Next 繼續安裝

Finish 完成安裝

桌面上會出現一個 OpenVPN GUI 圖示

將在 Banana Pi 製作的 Client key 下載下來,可以利用 WinSCP or FileZilla
共有 capi.crt / banana.crt / banana.key
三個檔案複製到 C:Program FilesOpenVPNconfig 目錄之下
如果是 x86_64 的 Windows 作業系統則在
C:Program Files (x86)OpenVPNconfig 目錄之下

C:Program FilesOpenVPNconfig 目錄之下建立一個 .ovpn 的設定檔
bananapi.ovpn
client
dev tun
proto tcp
remote Your’OpenVPNServer 34567
resolv-retry infinite
nobind
persist-key
persist-tun
ca capi.crt
cert banana.crt
key banana.key
ns-cert-type server
cipher AES-256-CBC
comp-lzo
verb 3

執行桌面上的 OpenVPN GUI

1. 滑鼠左鍵按一下,以顯示隱藏的圖示
2. 在 OpenVPN GUI 上按滑鼠右鍵
3. 選擇 連接

連線畫面

連線成功會分配到一個 10.8.0.x 的 IP,也會顯示綠色

使用 IP Chicken 來檢查對外的 IP

原本的 IP 140.111.x.x

使用 VPN 後的 IP 111.249.x.x

BerryBoot – 使用 Image 來安裝系統

本來一直以為 BerryBoot 只能從網路上下載作業系統來安裝而已,而在 10/1(三)  下午與 Banana Pi  的開發工程師討論過,才發現原來 BerryBoot 的功能非常強大,可以將原本系統的 Image 檔,直接拿來使用,一張記憶卡可以安裝多種作業系統,而且系統有問題,只要修改或刪除在  data 目錄之下相對應的作業系統名稱即可,如果要測試系統,就會非常的方便。
原本一直以為直接將 Image 檔,直接放置到  image 目錄即可,但結果是只能在 BerryBoot 的開機功能表中出現,卻無法開機,所以在網路上找了一下,發現 Image 檔案要轉換過才能正常使用。
參考網站:
‪葉難: Raspberry Pi使用BerryBoot多重開機
‪How to Multi-Boot Your Raspberry Pi with BerryBoot

底下是在 Banana Pi Raspbian  下進行操作
切換到 BerryBoot 所在的目錄(另外一張記憶卡)
$ cd /media/berryboot

切換到存放各系統的目錄
$ cd images

下載系統的 Image 來進行轉換
$ sudo wget ftp://140.111.74.109/BananaPi/Raspbian_For_BananaPi_v3.1.tgz

解壓縮
$ sudo tar xvzf Raspbian_For_BananaPi_v3.1.tgz

安裝所須套件
$ sudo apt-get install kpartx squashfs-tools
[@more@]
將 .img 檔的第二個分割區取出來
$ sudo kpartx -av Raspbian_For_BananaPi_v3_1.img
add map loop0p1 (253:0): 0 114688 linear /dev/loop0 8192
add map loop0p2 (253:1): 0 7045120 linear /dev/loop0 122880

$ sudo mount /dev/mapper/loop0p2 /mnt
/mnt/etc/fstab 中的 /dev/mmcblk 前面加上 #
$ sudo sed -i ‘s/^/dev/mmcblk/#/g’ /mnt/etc/fstab

進行轉換
把 .img 的第二個分割區抓出來並變成 SquashFS 格式(BerryBoot 支援的格式)
$ sudo mksquashfs /mnt converted_image_for_berryboot.img -comp lzo -e lib/modules
Parallel mksquashfs: Using 2 processors
Creating 4.0 filesystem on converted_image_for_berryboot.img, block size 131072.
[==-                                                                                                                                       ]  1538/76511   2%

卸載 /mnt 分割區
$
sudo umount /mnt
$ sudo kpartx -d Raspbian_For_BananaPi_v3_1.img

刪除 Raspbian_For_BananaPi_v3_1.img
$ sudo rm -rf  Raspbian_For_BananaPi_v3_1.img

將轉換後的檔名改名
$ sudo mv converted_image_for_berryboot.img Raspbian_For_BananaPi_v3_1.img

將 Banana Pi 的 Raspbian 關機後,更換記憶卡,改用 BerryBoot 記憶卡開機,就可以看到成果了!
如果要加入其它的作業系統,再重複上面的步驟即可!

Banana Pi 測試 – Bananian 篇 安裝 OpenVPN Server

底下文章參考:
Raspberry Pi • View topic – [How to] Dynamic DNS and Openvpn server
chen: 安裝OpenVpn For Raspberry PI 的步驟
利用Raspberry Pi建立VPN server – TakoBear

安裝 OpenVPN
# apt-get install openvpn

建立目錄
# mkdir /etc/openvpn/easy-rsa/[@more@]
複製範例的設定檔到 /etc/openvpn/easy-rsa 目錄
# cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

將 KEY_SIZE 的長度由 1024 改成 204,增加憑證難度
# sed -i ‘s/KEY_SIZE=1024/KEY_SIZE=2048/’ /etc/openvpn/easy-rsa/vars

修改憑證預設資訊
# sed -i ‘s/KEY_COUNTRY=”US”/KEY_COUNTRY=”TW”/’ /etc/openvpn/easy-rsa/vars
# sed -i ‘s/KEY_PROVINCE=”CA”/KEY_PROVINCE=”Taiwan”/’ /etc/openvpn/easy-rsa/vars
# sed -i ‘s/KEY_CITY=”SanFrancisco”/KEY_CITY=”E-Land”/’ /etc/openvpn/easy-rsa/vars
# sed -i ‘s/KEY_ORG=”Fort-Funston”/KEY_ORG=”Home”/’ /etc/openvpn/easy-rsa/vars

切換目錄
# cd /etc/openvpn/easy-rsa

開始建立憑證
# source ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys

清空舊有憑證
# ./clean-all

建立所需憑證
# ./build-ca
# ./build-key-server bananapi
# ./build-dh
# ./build-key banana

將 tls.key 移到 keys 資料夾下
# mv ./tls.key ./keys/

切換到 /etc/openvpn/easy-rsa/keys 目錄
# cd /etc/openvpn/easy-rsa/keys

複製 Server 端的檔案到 /etc/openvpn
# cp ca.crt ca.key dh2048.pem bananapi.crt bananapi.key /etc/openvpn

建立用來存放 Client 端所須檔案的目錄
# mkdir $HOME/openvpn-client-files
複製 Client 端所須檔案
# cp ca.crt banana.crt banana.key $HOME/openvpn-client-files

更改檔案名稱
# mv $HOME/openvpn-client-files/ca.crt $HOME/openvpn-client-files/capi.crt
更改檔案權限
# chmod +r $HOME/openvpn-client-files/banana.key

建立 /etc/openvpn/server.conf 設定檔
# vim /etc/openvpn/server.conf
port 34567
proto tcp
dev tun
;; Key File 設定
dh /etc/openvpn/dh2048.pem
ca /etc/openvpn/ca.crt
cert /etc/openvpn/bananapi.crt
key /etc/openvpn/bananapi.key
;; vpn 使用網段
server 10.8.0.0 255.255.255.0
cipher AES-256-CBC
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
;; 允許 client 間互相連接
;client-to-client
push “redirect-gateway def1”
;; DNS 設定
push “dhcp-option DNS 168.95.1.1”
push “dhcp-option DNS 140.111.66.1”
keepalive 5 30
;; 最大使用者量
max-clients 12

防火牆上的設定,如果原本就有防火牆,就要將規則個整合
# vim /etc/firewall.vpn
#!/bin/bash
# Enable ip_forward
echo “1” > /proc/sys/net/ipv4/ip_forward
iptables -t filter -F
iptables -t nat -F
iptables -A FORWARD -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s “10.8.0.0/24” -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s “10.8.0.0/24” -j MASQUERADE

更改檔案權限
# chmod 700 /etc/firewall.vpn

設定開機時執行
/etc/rc.local 最後一行 exit 0 之前加入 sh /etc/firewall.vpn
# sed -i ‘/^exit 0/ish /etc/firewall.vpn’ /etc/rc.local

測試 OpenVPN 是否能正常執行
# /etc/init.d/openvpn start
[ ok ] Starting virtual private network daemon: server.

# netstat -antp | grep 34567
tcp        0      0 0.0.0.0:34567           0.0.0.0:*               LISTEN      3617/openvpn

tun0 介面資訊
# ifconfig tun0
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

嘗試 Kano for Raspberry Pi 中文化

其實這一篇應該是多寫的,因為 Kano OS 本身是 base on Debian,所以中文化的方式和 RASPBIAN 一樣。
[@more@]中文化的四個步驟:
不過這個要特別注意的是 sudo 的密碼,我一直以為是我在建立個人檔案中的密碼,結果試了很多次都不行,害我一直還想再重新跑一次之前的流程,後來在無意中亂打,竟然被矇對了,密碼是:kano

1. 安裝字形:
$ sudo apt-get install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy

2. 設定中文環境
$ sudo dpkg-reconfigure locales

3. 安裝中文輸入法
$ sudo apt-get install gcin

4. 補足一些套件的中文語言套件 chromium-browser
$ sudo apt-get install chromium-browser-l10n

重新啟動電腦即可

中文輸入及顯示沒有問題

可以正常瀏覽網頁

功能表中文

但主選單還是英文的,一時之間找不到地方改

試用 Kano for Raspberry Pi

底下的圖片都是用手機照的,所以畫面可能都不是很理想。

開機畫面,有些像駭客任務中一直掉落的符號
[@more@]開機畫面

輸入您的名字

有些像是愛麗絲夢遊仙境中的兔子進入到洞裡一樣,一個不一樣的世界
輸入 cd rabbithole

畫面上會有一隻兔子在奔跑

輸入 startx,進入圖形模式(倒數 15 秒)

選擇 START SETUP 開始進行設定

選擇鍵盤型式,最後按 APPLY CHANGES

選擇 UPDATE NOW 進行更新

更新中

共分五個部分,第一個步驟是:下載更新的套件

第二步驟是:更新更新工具

第三步驟是:更新 Python

第四步驟是:更新作業系統

第五步驟是:完成設定

選擇 TEST SOUND 測試聲音

選擇 PLAY SOUND 播放聲音

有聽到音樂聲就選擇 YES

選擇 REBOOT,重新開機

進入設定

選擇 CREATE 建立個人資料

選擇 性別及出生年月日,並按 NEXT 繼續

輸入 Username 使用者名稱,Email 電子郵件,Password 密碼,勾選 I accept the terms and condition
最後按 REGISTER

如果是已經有人註冊過,會出現提示訊息

重新註冊

建立成功

終於快要可以開始了!LET’S GO

接著會有一段影片說明如何操作

終於完成了!

選單

類似貪吃蛇

可以做程式的管理

Scratch 程式

試用的感覺:
1. 系統真的有些慢,而且容易整個當住,常常要拔電源。
2. 大部分介面都是英文的,如果要給小孩子使用,有些難度。
3. 設定的步驟有些多。
4. 整體風格充滿童趣。
5. Kano OS base on Debian。

也許有機會,可以把 Kano 的 Image 放在 Banana Pi 上執行,看看是否能夠正常執行,如果可以的話,效能應該會好一些。
後來有試了一下,但好像是開不了機!

Kano OS for Raspberry Pi 下載

Kano 官方網站:http://kano.me

下載 Kano
選擇 Downloads
[@more@]Kano OS Burner 是可以線上下載最新版的 Kano OS 並燒錄到記憶卡中

下方是直接下載 Kano OS Beta 1.2.3

底下是操作 Kano OS Burner 來下載最新版本的 Kano OS
選擇要燒錄的記憶卡代號

選擇 BRUN!

軟體授權和提示訊息

下載並燒錄中

Kano OS Iamge 則是解壓縮,再用 Win32DiskImager 燒錄即可!

Kano for Raspberry Pi


看到時覺得好可愛,有一股衝動,很想買一台來玩玩,但一台並不便宜,要價 USD 129.00

[@more@]再加上看到裡面的內容配件,我就放棄了!

因為這些配件說實在的,就是五顏六色、色彩鮮艷,其餘都還好,加上它是使用 Raspberry Pi Mode B,所以就不買了!

只是覺得它的作業系統好可愛,可以下載來用看看!

Banana Pi 測試 – Bananian 篇 更換 root 使用的 shell

Bananian 系統中的 Debian 7 root 預設的 shell 是使用 zsh,目前使用的 Linux 大部分都是使用 bash 當作是預設的 shell,所以之前也是習慣使用 bash。
在網路上搜尋了一下 zsh,可以找到相關的介紹:
Z Shell (zsh) 的特色與安裝

不過真正好好使用了一下子,發現我還是不太習慣,所以就決定將預設的 shell 換成 bash 了。
更換方式
# chsh -s /bin/bash

更換前
# grep root /etc/passwd
root:x:0:0:root:/root:/bin/zsh

更換後
# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash

重新登出再行登入後即可生效!