樹梅派應用35:安裝OpenWrt將樹莓派變身為全能路由器
隨著上網裝置的增多,一直想搞個全域性的智慧梯子,本著重在折騰的原則,搞了個MikroTik 951G軟路由來玩(不玩不知道,真尼瑪強大),這時又偶然發現openwrt不光有x86版,也早就支援Pi了,要知道Pi的cpu和記憶體絕對秒殺HG255D等一系列的低端路由器啊,雖然樹莓派價格相對比較高,如果有閒置的派拿來玩玩又何妨。
硬體準備:Raspberry Pi一個,注意,B+使用者暫時不能完美使用。
- USB無線網絡卡一個,這裡使用AR9271晶片迅捷fw150ud,如果只做有線路由使用,可以不用
- USB有線網絡卡一個,這裡使用AX88772B晶片山寨usb網絡卡,如果只做無線路由使用,可以不用
- 需要網線上網可以接個千兆交換機或用替換下來的多口路由器代替
- SD卡一個,有個128M或256M都夠用了
- Micro USB線及5V,2A電源,網線兩根,不用解釋
- MikroTik 951G-2HnD,自建PPPoE伺服器,方便測試
實現過程:
一、準備SD卡,將磁碟映象檔案openwrt-brcm2708-sdcard-vfat-ext4.img寫入SD卡。
Windows環境使用win32diskimager,簡單方便。
Linux系統使用dd命令,dd if=~/foo.img of=/dev/sdX,X替換成相應裝置名,使用fdisk -l檢視,foo替換成相應映象檔名。
OS X環境,執行diskutil list檢視SD卡所在位置,然後使用diskuitl unmountDisk /dev/diskX,解除安裝SD卡,最後執行,dd bs=1m if=~/foo.img of=/dev/diskX,foo替換成相應映象檔名,X替換成diskutil list顯示的裝置號。
二、軟體設定
0.Openwrt會將Pi的自帶網絡卡IP地址設為192.168.1.1,在我的網路環境中和主路由器是相同地址,所以需要修改一下。可以先用電腦及網線單獨連線Pi,在瀏覽中輸入ip即可看到登入介面,會提醒設定root使用者密碼,點選提示中的連結就可以完成密碼設定。然後在Network->Interfaces中編輯預設IP為192.168.1.11,閘道器修改為上級路由IP,192.168.1.1,DNS也是必填項,見下圖:
另一種方法是外接鍵盤顯示器,啟動Pi後編輯/etc/config/network檔案,新手朋友還是推薦第一種方法。
1.將Pi自帶網絡卡有線連線到上級路由器中,就可以在瀏覽器位址列中輸入192.168.1.11開啟管理頁面。
2.安裝usb網絡卡驅動,在選單中選擇System->Software,先點選“Update Lists”更新軟體列表,
完成更新後在”Download and install package”文字框中分別輸入,kmod-usb-net和kmod-usb-net-asix,點選”OK”即可安裝好usb有線網絡卡的驅動。
3.安裝usb無線網絡卡驅動,同樣方法安裝,kmod-ath9k-htc,最後重啟一下PI,即可發現無線網絡卡和有線網絡卡。
4.配置無線AP,按上述方法安裝hostapd和wireless-tools兩個軟體,之後到Network->Wifi中點選”Edit”配置”AP”資訊。
最後點選那個綠色圖示的”Enable”按鈕後即可啟動無線AP,開啟手機即可看到一個名為OpenWrt的wifi熱點。
連線新建立的wifi熱點時如果出現連線後出現無法獲取IP的問題,有可能是沒有設定好無線裝置和閘道器的橋接,最新的14.7版OpenWrt是自動設定,之前使用OpenWrt 12.9時是要手動配置的。
5.設定PPPoE撥號,在Network->Interfaces中點選“Add new interface…”新增一個介面,然後選擇eth1,在“Protocol of the new interface”中選擇PPPoE,
最後點選“Submit”後會出現以下介面,輸入使用者名稱和密碼即可實現PPPoE撥號。
填寫完使用者名稱密碼後,點選”Physical Setting”,選擇“eth1”介面。
最後點選“Save & Apply”儲存並應用設定,後就會自動撥號上網,或在Network->Interfaces介面中點選WAN口的“Connect”按鈕也可撥號上網。
注意這一步的前提是將Pi的usb有線網絡卡通過網線連線到光貓和ADSL貓,Pi自帶網絡卡連線下級路由或交換機。
PS,在管理介面的每個頁面操作後都需要點選”Save&Apply”來儲存設定,如果出現這個按鈕的話。
PS,因為是測試環境,pppoe是連線到Mikrotik 951G上實現撥號上網的,所以ip地址顯示10.1.1.3。
PS,軟體設定前三步的目的是利用現有路由器來安裝網絡卡驅動,也可以先將PI自帶網絡卡設定為PPPoE客戶端進行撥號上網並安裝相應驅動,方法同上文軟體設定第5項,將eth1改為eh0即可。