久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

【新提醒】利用Docker給自己定制旁路由(一)安裝immortalWrt

 laq6 2024-04-21 發(fā)布于福建
 本帖最后由 tyxu 于 2024-3-24 17:35 編輯

本人老白,,又老又白,喜歡折騰,。目前半退休狀態(tài),,終于有時間折騰啦,和大家分享一下我的近期折騰結(jié)果,。如果大佬們覺得本文幼稚,,請勿噴,不要打擊老同志那顆愛折騰的心,。同時,,熱烈歡迎大家指正交流。
本文極度適合群暉用戶,,適合各種已經(jīng)完成docker搭建的用戶,。當然,如果您有設(shè)備可以運行虛擬機,,或者直接安裝Openwrt,,本文大部分步驟可以借鑒。
根據(jù)我自己的使用情況,,計劃包含以下幾個部分:安裝immortalWrt,、安裝配置science小貓咪,、DDNS如何在FakeIP下工作、利用*V*P*N*回家學習science文化知識,。

選擇openwrt的原因就不多說了,,主要是比較小巧,可用的插件多,,適合小規(guī)模折騰,。您要是非得覺得裝個ubuntu更好,也別噴我,,畢竟適合自己的才是最好,。

docker hub上基于openwrt的旁路由集成鏡像很多,多數(shù)都是集成了各種插件的18.06版本,,而且試用過程發(fā)現(xiàn)這些鏡像動輒幾百兆,,很多插件還用不上,畢竟18.06有點老,,有些插件更新還會出現(xiàn)內(nèi)核兼容問題,。

那么有沒有辦法使用新一些的openwrt版本,并且只安裝自己需要的插件呢,?必須有,!
經(jīng)過一些嘗試,最后決定使用immortalWrt的 21.02.7版本搭建一個自己定制的環(huán)境,,這個版本應(yīng)該是上一個穩(wěn)定的版本,,只有大約25M。沒敢用最新的23.05.x,,還是感覺有點不踏實,。
關(guān)于immortalWrt,是openwrt的一個分支,,具體情況可以百度
好啦,,開始正題:

準備工作。,。,。。
我使用的是群暉DS418play,,型號比較老并被定義為家用系列,,在DSM7.x下是無法安裝docker的。
首先,,無“open vswitch”選項,,需要更改配置文件,共要改兩個文件,,,,,如何修改和打開,請自行百度



其次,,DS418play 無 Docker 套件,,建議去官網(wǎng)下載DS218+的,注意DSM版本,,我用的是DSM7.1系列,,畢竟都是同一CPU,其它配置也差不多,,,,,
https://nologydownload. ... &build_number=42962

Docker-x64-20.10.3-1308_DS218plus.spk


如果您用的不是這種蹩腳的群暉,,上面可以跳過。

打開“open vswitch”后,,群暉會在原有兩個物理網(wǎng)卡(eth0,eth1)的基礎(chǔ)上,,增加兩個虛擬網(wǎng)卡(ovs_eth0,ovs_eht1),,用于連接vswitch虛擬交換機,。
使用ifconfig命令會發(fā)現(xiàn),開啟vswitch后,,聯(lián)機網(wǎng)卡已經(jīng)自動切換成了ovs_eth0或ovs_eth1,。


現(xiàn)在,使用下載好的群暉DS218docker套件,,安裝吧,!安裝好docker后,基礎(chǔ)準備完成,。
如果您不是群暉用戶,,上面的全可以跳過,選擇適合您設(shè)備的應(yīng)用,,裝好docker就行啦,!

為docker配置環(huán)境。,。,。
1、開啟網(wǎng)卡混雜模式(混雜模式-物理網(wǎng)卡可以被虛擬多個MAC地址)
切換root權(quán)限,,否則沒有權(quán)限
  1. sudo -i
復(fù)制代碼
eth0是我群暉已經(jīng)聯(lián)機的物理卡,。ovs_eth0是“open vswitch”后,eth0虛擬出來連接虛擬交換機的網(wǎng)卡,根據(jù)個人實際修改,。
  1. ip link set eth0 promisc on
  2. ip link set ovs_eth0 promisc on
復(fù)制代碼
設(shè)置網(wǎng)卡混雜模式,,我不知道設(shè)置哪個,至少ovs_eth0需要設(shè)置,,索性都設(shè)置了,。

2、創(chuàng)建虛擬vlan
其中192.168.10.0/24是我的內(nèi)網(wǎng)地址,,192.168.10.1是我的主路由器地址,,ip-range 是使用的地址范圍,以上根據(jù)個人實際修改,。macnet是新建的macvlan名,,可以隨意取,后面會用到,。
  1. docker network create -d macvlan --subnet=192.168.10.0/24 --ip-range 192.168.10.16/28 --gateway=192.168.10.1 -o parent=ovs_eth0 macnet
復(fù)制代碼

3,、準備鏡像
Openwrt的鏡像選擇還是比較多的,在Docker hub以此為關(guān)鍵字可以檢索出很多,,根據(jù)自己需要選用就可以,,有實力的同學還可以制作自己的鏡像。
但上面說過,,這些自帶插件的鏡像個頭都比較大,,OP版本基本基于18.06有點老,插件更新也經(jīng)常有問題(內(nèi)核不兼容)
如果您執(zhí)意選擇這些大佬們精心定制的版本,,我推薦:

piaoyizy/openwrt-x86,,一個兄弟根據(jù)Lean大神制作的鏡像,功能上根據(jù)旁路網(wǎng)關(guān)用途做了簡化,,只包括了“師夷長技以制夷” plus,“師夷長技以制夷”和Clash三個關(guān)鍵插件,,以及一些基礎(chǔ)插件。至少2023年底還在更新,。
sulinggg/openwrt:x86_64,,這個很著名啦,但最后版本應(yīng)該是幾年前編譯的,,已經(jīng)停更,。

我最后還是選擇了immortalWrt21.02.7 自己定制。在docker注冊表搜索“immortalwrt/rootfs”,,選擇“x86-64-openwrt-21.02.7”并拖取鏡像,。里面鏡像很多,如果您的設(shè)備不是x86,,可以選擇您合適的架構(gòu)下載,。


如果你的群暉無法訪問注冊表,,可以嘗試用 docker pull 命令試試,但成功機會依然不大,。
我最初也沒辦法訪問注冊表,。為了解決這個問題,,用了個笨辦法,。在臺式機上也安裝了docker for win,畢竟臺式機出門就方便多了,。用臺式機的docker獲取鏡像,,然后使用shell執(zhí)行:
注意!是windows的那個DOS界面,,提示符長這個樣子的,! PS C:\Users\Administrator>
  1. docker save -o c:\immortalwrt_21.02.7.tar immortalwrt/rootfs:x86-64-openwrt-21.02.7
復(fù)制代碼
這樣就在C:盤根目錄獲得了鏡像文件immortalwrt_21.02.7.tar,把文件上傳到群暉,,導(dǎo)入群暉docker就可以啦,。

4、創(chuàng)建并運行容器
回到ssh,,登入群暉,,提升權(quán)限
  1. sudo -i
復(fù)制代碼

運行命令創(chuàng)建容器
  1. docker run -d \
  2.     --restart always \
  3.     --name immortalwrt_21.02.7 \
  4.     --privileged \
  5.     --network macnet \
  6.     --ip=192.168.10.19 \
  7.    immortalwrt/rootfs:x86-64-openwrt-21.02.7 \
  8.     /sbin/init
復(fù)制代碼
說明:“\”是連接符號,用于聲明命令行沒有結(jié)束接下一行,。
            -d  參數(shù)是讓容器在后臺運行,。
            --restart always  為了避免容器意外掛掉,或者被誤殺,設(shè)置了意外退出自動重啟,。
            --name  給容器定義個名字,,可以自由定義。
            --privileged  獲取宿主機root權(quán)限(或特殊權(quán)限),。
            --network macnet  指定網(wǎng)絡(luò)為macnet,,就是我們上面創(chuàng)建的那個vlan。

            --ip=192.168.10.19  指定默認地址,。
            immortalwrt/rootfs:x86-64-openwrt-21.02.7  鏡像的名稱,。
             /sbin/init  表示載入容器后內(nèi)核啟動時主動呼叫的第一個進程,docker中必須要保持一個進程的運行,,要不然整個容器啟動后就會馬上自己kill自己,。
最后回車運行一下吧!

這樣的結(jié)果,,就是容器已經(jīng)成功創(chuàng)建,。可以
  1. docker ps
復(fù)制代碼
看一下,,是不是已經(jīng)成功創(chuàng)建并運行,。記住那一大串字符(CONTAINER ID)的前四位,一會兒要用到,。


5,、更改容器網(wǎng)絡(luò)參數(shù)
使用SSH工具,進入容器,,2e5b就是我們上面創(chuàng)建的容器ID縮寫

  1. docker exec -it 2e5b /bin/ash
復(fù)制代碼
進入容器后,,執(zhí)行下面命令,編輯網(wǎng)絡(luò)配置文件
  1. vi /etc/config/network
復(fù)制代碼


我是編輯成了這個樣子,,可以參考:


  1. config interface 'loopback'
  2.     option ifname 'lo'
  3.     option proto 'static'
  4.     option ipaddr '127.0.0.1'
  5.     option netmask '255.0.0.0'

  6. config interface 'lan'
  7.         option type 'bridge'
  8.         option ifname 'eth0'
  9.         option proto 'static'
  10.         option ipaddr '192.168.10.19'
  11.         option netmask '255.255.255.0'
  12.         option gateway '192.168.10.1'
  13.         option dns '114.114.114.114 8.8.8.8'

  14. config interface 'wan'
  15.     option proto 'static'
  16.     option ipaddr '10.10.10.254'
  17.     option netmask '255.255.255.0'

  18. config interface 'wan6'
  19.     option ifname 'eth0'
  20.     option proto 'dhcp6'
復(fù)制代碼
編輯完成后,按esc,,輸入":wq",保存退出,,執(zhí)行下面的命令,,重啟一下容器的網(wǎng)絡(luò)
  1. /etc/init.d/network restart
復(fù)制代碼

好啦,,在瀏覽器輸入 192.168.10.19 就可以看到 immortalwrt_21.02.7的登錄界面啦,,用戶名root,密碼root

還沒寫完,,按錯發(fā)布了。晚上補齊吧,,第一次發(fā)帖,,抱歉啦



    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多