banner
miaoer

miaoer

喵二の小博客 https://www.miaoer.net xLog 分站
tg_channel
telegram
bilibili

1Panel 中跑 CatWrt 旁路網關 Docker 版 OpenWrt

在 1Panel 中跑 CatWrt 旁路網關,這裡用的 Debian 安裝好了 1Panel,宿主機是 PVE 虛擬的 Debian,今天簡單介紹一下 CatWrt-rootfs 的安裝方法

昨天折騰了一下把 rootfs 的文件上傳到 dockerhub 上了,大家以後就可以直接去拉取鏡像,還是挺方便的。不需要去網盤或者 Github 上面下這個 rootfs 版本的 CatWrt 了,具體這個 rootfs 我只是給一個安裝的方法。

建議還是用我們這個 docker-compose 進行配置 CatWrt,如果你沒有 1Panel 也是可以用的,寶塔什麼的甚至不需要面板也可以。

image

root@Debian:~# neofetch 
       _,met$$$$$gg.          root@Debian 
    ,g$$$$$$$$$$$$$$$P.       ----------- 
  ,g$$P"     """Y$$.".        OS: Debian GNU/Linux 12 (bookworm) x86_64 
 ,$$P'              `$$$.     Host: KVM/QEMU (Standard PC (i440FX + PIIX, 1996) pc-i440fx-9.0) 
',$$P       ,ggs.     `$$b:   Kernel: 6.1.0-9-amd64 
`d$$'     ,$P"'   .    $$$    Uptime: 42 mins 
 $$P      d$'     ,    $$P    Packages: 711 (dpkg) 
 $$:      $$.   -    ,d$$'    Shell: bash 5.2.15 
 $$;      Y$b._   _,d$P'      Resolution: 1280x800 
 Y$$.    `.`"Y$$$$P"'         Terminal: /dev/pts/0 
 `$$b      "-.__              CPU: AMD Ryzen 5 1600 (8) @ 3.199GHz 
  `Y$$                        GPU: 00:02.0 Vendor 1234 Device 1111 
   `Y$$.                      Memory: 507MiB / 1482MiB 
     `$$b.
       `Y$$b.                                         
          `"Y$b._                                     
              `"""

網卡混雜模式#

首先需要開啟 Debian 上的網卡混雜模式,這裡我的網卡是 ens18

root@Debian:~# ip addr
2: ens18: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 92:64:15:a8:91:63 brd ff:ff:ff:ff:ff:ff
    altname enp0s18
    inet 10.0.0.1/24 brd 10.0.0.255 scope global ens18
       valid_lft forever preferred_lft forever
    inet6 fd61:e296:244b:0:9064:15ff:fea8:9163/64 scope global dynamic mngtmpaddr 
       valid_lft forever preferred_lft forever
    inet6 2408:8256:c84:9a4c:XXXX:XXXX::1/64 scope global dynamic mngtmpaddr 
       valid_lft 189872sec preferred_lft 103472sec
    inet6 fe80::9064:15ff:fea8:9163/64 scope link 
       valid_lft forever preferred_lft forever

將 ens18 網卡設為混雜模式,可以讓容器直接到局域網的步驟

sudo ip link set ens18 promisc on

創建網卡#

這裡創建網卡 subnet=10.0.0.0/24gateway=10.0.0.4 需要按照自己的網絡環境配置

  • 如果你的網段是 192.168.1.4 就是對應的 subnet=192.168.1.0/24 子網掩碼

  • gateway=10.0.0.4 就是你的主路由器地址,設置為網關

docker network create -d macvlan --subnet=10.0.0.0/24 --gateway=10.0.0.4 -o parent=enp0s18 maclan

設置完查看一下 docker network ls 是不是配置好了

root@Debian:~# docker network ls
NETWORK ID     NAME                                      DRIVER    SCOPE
d9dd5df71c88   1panel-network                            bridge    local
70a316d0b976   host                                      host      local
779d06aebc6f   maclan                                    macvlan   local

編排#

在 1Panel 容器 - 編排 - 創建編排

文件夾填 CatWrt,將以下內容填入編輯器裡面,隨後點擊確認

這裡用的 CatWrt-rootfs 是最新的 v24.9 版本,並且開啟了加載 tun 模塊

version: '3.8'

services:
  catwrt:
    image: miaoer/catwrt:latest
    container_name: CatWrt
    restart: always
    privileged: true
    volumes:
      - /lib/modules:/lib/modules:ro
      - /dev:/dev
    command: /sbin/init

    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    devices:
      - /dev/net/tun
    networks:
      - maclan

networks:
  maclan:
    external: true

博主這裡忘記了有沒有主動加載 tun 模塊,如果沒有加載 tun 請 sudo modprobe tun 並且查看 lsmod | grep tun 有沒有被成功加載

root@Debian:~# sudo modprobe tun
root@Debian:~# lsmod | grep tun
tun                    61440  4
root@Debian:~# 

設置 CatWrt#

首先在 Debian 上連接 CatWrt 終端

docker exec -it CatWrt /bin/bash

進入 CatWrt 選擇使用 Cattools 幫助我們修改 IP 地址當然你也可以使用網絡向導正確填寫你的信息

cattools

1

注:這裡 CatWrt 沒網絡指定網關所以這裡,會重試多次獲取最新版本的 Cattools 千萬不要手癢中斷!

root@Debian:~# docker exec -it CatWrt /bin/bash
bash-5.2# cattools 
Please wait for the script to be updated.
Attempt 1 failed. Retrying...
Attempt 2 failed. Retrying...
Attempt 3 failed. Retrying...
Unable to download the latest version, continue to use the current offline version.


----------------------------------------------------------
                         CatTools                         
           https://github.com/miaoermua/cattools          
----------------------------------------------------------
1. SetIP                                  -  設置 IP
2. Network_Wizard                         -  網絡向導
3. Apply_repo                             -  軟件源配置
4. Diagnostics                            -  網絡診斷
5. Debug                                  -  抓取日誌
6. Catwrt_update                          -  檢查更新
7. Sysupgrade                             -  系統更新
8. Restore                                -  恢復軟件包
9. Utilities(more)                        -  實用工具
0. Exit                                   -  退出
----------------------------------------------------------
請輸入數字並回車(Please enter your choice): 1
請輸入 IP Addr 並按 Enter /// 请输入 IP (默認為 192.168.1.4): 10.0.0.233
默認 IP 已設置為 10.0.0.233

如果你要安裝插件也可以使用 Cattools 裡面的 軟件源配置

結束#

CatWrt-rootfs 還是有很多插件或者軟件需要特殊設置或者無法使用,我也是第一次搞這個 rootfs 還沒用上,有什麼問題可以在評論區交流一下

參考:博客園:雙網口主機通過 docker 安裝 openwrt 實現軟路由功能

此文由 Mix Space 同步更新至 xLog
原始鏈接為 https://www.miaoer.net/posts/network/1panel-deploy-catwrt-rootfs


Footnotes#

  1. https://www.miaoer.net/posts/blog/cattools

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。