Raspberry pi
一台跟名片一樣大的電腦
本來想要裝原本的Raspberry pi的系統要在上面實作AP功能
可是苦於我沒有HDMI的線跟AV轉接線...
正當我在苦惱的時候
找到kali這個linux也有Raspberry pi的映象檔可以安裝
也跟ubuntu一樣是由Debian衍生出來的
也是BT5系列的改版
【重點就是他根本不需要經過螢幕,它本身就會自動搜尋eth0的dhcp】
正常的pi系統在第一次使用都必須實際的從本機操作沒辦法利用SSH
而Kali本身SSH服務已經設定好了並且會自動DHCP
先到kali的官網下載映像檔
再到Raspberry pi的官網下載映象檔燒錄程式
下載下來之後將其開啟,並選擇映像檔以及SD卡路徑
接著至putty的下載網頁下載putty
由於網路線插上去之後的自動DHCP,我可以在我的路由器上面看到她的IP位子
如果你是直接接PPPOE...那你還是得接螢幕XD
直接連入pi
Kali系統跟BT5系統一樣預設帳號為root密碼為toor
輸入apt-get update來更新列表
可利用lsusb指令查看是否有安裝無線網卡
由於pi上面是利用插電的方式,所以時間會跑掉
要安裝對時的服務ntp
apt-get install ntp
接著利用date查看日期
預設安裝完ntp服務是沒開啟的
利用/etc/init.d/ntp start來開啟
接著利用ifconfig wlan0 10.1.1.1 netmask 255.255.255.0來指定無線網卡IP
接著安裝DHCP伺服器
apt-get install isc-dhcp-server
接著編輯其設定檔nano /etc/default/isc-dhcp-server
將INTERFACE=""改成INTERFACE="wlan0"
接著修改nano /etc/dhcp/dhcp.conf
10.1.1.0此網段可隨喜好更改,DNS也可以隨喜好更改
接著開啟isc-dhcp-server服務
/etc/init.d/isc-dhcp-server start
接著下載hostapd套件
wget 192.168.150.113:8080/download/RTL8188-hostapd-1.1.tar.gz
由於檔案我是放在我的筆電上
所以這條指令要改一下
利用tar -zxvf RTL8188-hostapd-1.1.tar.gz解壓縮
之後cd RTL8188-hostapd-1.1.tar.gz/hostapd
利用make指令進行編譯
編譯完利用make install指令安裝
設定hostapd設定檔
nano /etc/hostapd/hostapd.conf
ssid為AP可被搜尋的名稱
wpa=3代表wpa跟wpa2混和式加密
預設只需更改ssid跟wpa_passphrase密碼,此為AP連線密碼,需8字元以上
接著利用/etc/init.d/hostapd restart重新開啟hostapd服務
接下來利用iptables來設定路由轉發
鍵入指令
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -s 10.1.1.0/24 -o eth0 -j ACCEPT
iptables -A FORWARD -d 10.1.1.0/24 -m conntrack --ctstate ESTABLISHED,RELATED -i eth0 -j ACCEPT
並鍵入sysctl net.ipv4.ip_forward=1更改值
並修改nano /etc/sysctl.conf
於最後加上net.ipv4.ip_forward=1
接著可以利用無線設備連線看看剛架設起來的AP服務
如出現下圖情況
可在cmd裡下
ipconfig /release
ipconfig /renew
指令結束後如果設定無誤的話無線訊號上的驚嘆號將會消失,網路即可連上
以下為連上AP並取得DHCP配發的IP示意圖
但是當Raspberry pi只要重開機,剛剛所開啟的服務跟iptables的設定都需要重新設定
所以現在需要一個開機就可以執行的腳本
利用shell script來建立開機腳本
利用nano /root/AP.sh來新增sh腳本,路徑可隨自己喜好
並鍵入以下程式碼
#! /bin/sh
ifconfig wlan0 10.1.1.1 netmask 255.255.255.0
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -A FORWARD -s 10.1.1.0/24 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -d 10.1.1.0/24 -m conntrack --ctstate ESTABLISHED,RELATED -i eth0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE
/etc/init.d/ntp start
/etc/init.d/isc-dhcp-server start
/etc/init.d/hostapd start
存檔後鍵入chmod a+x AP.sh使其可獨立執行
並修改nano /etc/rc.local在exit 0 之前加入/root/AP.sh使其開機時執行服務
接著就可以利用Raspberry pi分享無線網路給附近的無線設備
如未設定net.ipv4.ip_forward=1以及iptables的路由規則的話將會無法將無線設備的封包轉發
建議如果一直無線訊號跑出黃色驚嘆號,可利用wireshark來查看arp封包是否有要到IP-MAC對應資訊
網路上找的資料很多,但是好像都不統一
還一度裝成Ad-Hoc
可惜andorid等設備無法連到Ad-Hoc.....
總之Raspberry pi除了讀取稍微慢了一點點,整體上跟正常的linux好像差別不大
這體積讓他的未來發展好像無限大(?
如上述紀錄有任何步驟錯誤還煩請指證感恩