OpenWRT整合Unifi Controller

    內容表格
    沒有標頭

    版本為 02:11, 24 Nov 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    本篇單純作為一個筆記. 快速的將Unifi Controller塞到OpenWRT裡面..
    這邊會使用LEDE的OpenWRT, 然後透過Hyper-V建置VM安裝LEDE...

    既然要塞Unifi Controller, 那只能透過掛載其他的OS環境來執行...
    這種情況下, RAM的要求不能太低. 意思是如果是非VM的產品... 那RAM最好不要太小. 來看以下掛載其他OS環境執行Unifi Controller的Memory Usage情況..

    從上圖可以看出這個要求是系統記憶體最好在1GB以上. 在這樣的要求下, 大多AP產品都會被打槍...=_=" 除了建置VM以外的方案, 就只有軟體路由器符合這個條件.
    當安裝LEDE後, 當然得確定internet能不能上的去了.

    確認沒問題後, 這邊Hyper-V再掛載一個16GB的drive用來作為Unifi Controller使用.

    往下執行opkg update來更新套件列表:

    在執行df -h來看看分區表:

    不過完全是新的drive當然是甚麼資訊都看不到, 執行ls /dev/[sh]d* 來查看:

    可以看出有一個新得sdb儲存裝置, 為了確認. 使用fdisk檢查, 不過LEDE沒有安裝這個套件. 因此需要下載安裝:

    安裝完成後, 使用fdisk -l /dev/sdb 確認這個新的sdb儲存裝置:

    確認沒問題後, 格式化該裝置, 使用fdisk:

    最後使用w參數進行寫入操作:

    在使用fdisk -l /dev/sdb 確認是否建立一個partition:

    得知這個partition為 /dev/sdb1.
    LEDE應該是預設有安裝e2fsprogs的工具. 使用該工具建立ext4檔案系統.
    應用 mkfs.ext4 /dev/sdb1

    接下來安裝block-mount來掛載檔案系統:

    然後再用block-mount去mount新的ext4檔案系統.

    不過我在測試中發現有點問題. 按下Apply&Save後, LEDE整個就死掉了. 必須強制reboot. reboot完成後, 使用 df -h來查看, 發現已mount成功:

    安裝debootstrap套件用來載入其他的OS環境:

    安裝完成後, 這邊將安裝debian的Linux環境, 使用如下命令:
    debootstrap --arch=amd64 jessie /mnt/sdb1/debian http://mirrors.163.com/debian/

    這邊可能會遇到一個問題, 就是他下載的失敗率頗高的. 這個命令可能要多執行2~3次才會成功. 安裝debian完成後, 透過GUI的Startup, 寫入以下命令啟動時自動掛載(更新/etc/rc.local):
    mount -o bind /proc /mnt/sdb1/debian/proc
    mount -o bind /dev /mnt/sdb1/debian/dev
    mount -o bind /dev/pts /mnt/sdb1/debian/dev/pts

    Submit過後, 將LEDE進行reboot. 之後chroot進入debian環境:
    chroot /mnt/sdb1/debian /bin/bash

    為了下載Unifi Controller軟體, 首先要更新sources.list來源內容.

    用vi編輯加入以下的來源:
    deb http://www.ubnt.com/downloads/unifi/debian unifi5 ubiquiti
    儲存後, 使用apt-get update進行套件資源更新:

    增加GPG key, 使用如下命令:
    apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50

    import完成後, 重點就是開始安裝Unifi Controller了. 使用如下命令:
    apt install unifi
    確認安裝完成後, 直接用browser測試是否能正常進入Unifi Controller的Web控制介面:

    確認沒問題後, 進行最後的收工. 因為reboot過後, 相關的服務不會被啟用. 因此需要在GUI的Startup更新/etc/rc.local的內容, 添加如下命令. 注意跟mount執行的順序:
    chroot /mnt/sdb1/debian service mongodb start
    chroot /mnt/sdb1/debian service unifi start

    上述命令加入後, 在下一次的reboot, Unifi等相關服務都會被自動啟用.
    使得Unifi Controller能正常操作.

    Powered by MindTouch Core