機頂盒旁路由設(shè)置
一個閑置的iptv盒子,平常也不不怎么看電視,與其閑著就不如廢物利用,于是有了以下探索經(jīng)歷:
? ? 首先是刷個armbian,至于我怎么刷的以后再出個文章吧,對了還有就是既然是iptv盒子為了不走彎路建議使用docker-openwrt,這樣免去了編譯的痛苦(ps:我是不會告訴你我不會編譯這件事的,溜了溜了~~),好了,閑話少敘上干貨:
1、換源:
deb http://mirrors.ustc.edu.cn/debian stretch main contrib non-free
deb http://mirrors.ustc.edu.cn/debian stretch-updates main contrib non-free
deb http://mirrors.ustc.edu.cn/debian stretch-backports main contrib non-free
deb http://mirrors.ustc.edu.cn/debian-security/ stretch/updates main contrib non-free
清華源執(zhí)行命令即可
2、安裝docker參考官網(wǎng)
執(zhí)行命令
測試是否正常運行:
出現(xiàn)以下內(nèi)容即為安裝成功
Hello from Docker!
This message shows that your installation appears to be working correctly.
3、docker圖形化管理portainer
瀏覽器輸入docker宿主機ip端口9000即可,初次設(shè)置可能需要設(shè)置管理員密碼
4、安裝openwrt-docker
至此準備工作完成,讓我們開始旁路由設(shè)置吧~
以下內(nèi)容以宿主機ip192.168.4.12,主路由ip192.168.4.1,容器openwrt ip192.168.4.100舉例
1、旁路由網(wǎng)絡(luò)設(shè)置(宿主機執(zhí)行)
1.1打開網(wǎng)卡混雜模式:
1.2檢查macvlan創(chuàng)建成功
1.3啟動容器
注:其中:
--restart always參數(shù)表示容器退出時始終重啟,使服務(wù)盡量保持始終可用;
--name openwrt參數(shù)定義了容器的名稱;
-d參數(shù)定義使容器運行在 Daemon 模式;
--network macnet參數(shù)定義將容器加入 maxnet網(wǎng)絡(luò);
--privileged 參數(shù)定義容器運行在特權(quán)模式下;
registry.cn-shanghai.aliyuncs.com/suling/openwrt:latest為 Docker 鏡像名,因容器托管在阿里云 Docker 鏡像倉庫內(nèi),所以在鏡像名中含有阿里云倉庫信息,這里已經(jīng)更換為剛剛拉取的鏡像名;
/sbin/init定義容器啟動后執(zhí)行的命令。
1.4檢查容器是否運行。若容器運行信息STATUS列為 UP狀態(tài),則說明容器運行正常。
2、旁路由容器openwrt網(wǎng)絡(luò)設(shè)置
其中:openwrt為容器名稱;bash為進入容器后執(zhí)行的命令。
2.1編輯opwrt網(wǎng)絡(luò)配置文件
更改配置
option ipaddr 項目定義了 OpenWrt 的 IP 地址,在完成網(wǎng)段設(shè)置后,IP最后一段可根據(jù)自己的愛好修改(前提是符合規(guī)則且不和現(xiàn)有已分配 IP 沖突)。
2.2重啟網(wǎng)絡(luò)
2.3進入openwrt管理頁面
瀏覽器輸入:192.168.4.100即可進入luci openwrt (沒有密碼)
2.3.1關(guān)閉 DHCP 服務(wù)
在 “網(wǎng)絡(luò) - 接口 - Lan - 修改” 界面中,勾選下方的 “忽略此接口(不在此接口提供 DHCP 服務(wù))”,并“保存&應用”。
3、主路由 DHCP 設(shè)置
進入路由器后臺中,將主路由的 DHCP 的默認網(wǎng)關(guān)和 DNS 服務(wù)器設(shè)置為第 5 步中option ipaddr 項目中的 IP。
4、重新連接路由器
完成以上操作后,斷開設(shè)備(如手機,電腦)與路由器的連接,重新連接路由器,連接路由器的設(shè)備將獲取到我們設(shè)置到的 IP。
5、修復宿主機無法聯(lián)網(wǎng)
在宿主機內(nèi)執(zhí)行:
找到docker0的IP地址
在luci openwrt內(nèi)設(shè)置
添加如下防火墻規(guī)則
其中172.17.0.1填寫docker0 ip
刪除docker0
重啟宿主機后需再次運行容器portainer。
至此機頂盒旁路由的設(shè)置全部完成,第五步的網(wǎng)絡(luò)修復走了不少彎路,試了很多方法都不行,哎,希望你們也少走的彎路吧。
參考資料:
1、armbian官網(wǎng)docker安裝教程
https://docs.armbian.com/User-Guide_Advanced-Features/#how-to-run-docker
2、docker-openwrt Github
https://github.com/SuLingGG/OpenWrt-Docker
3、在Docker 中運行 OpenWrt 旁路網(wǎng)關(guān)
https://mlapp.cn/376.html