在 1Panel 中跑 CatWrt 旁路網關,這裡用的 Debian 安裝好了 1Panel,宿主機是 PVE 虛擬的 Debian,今天簡單介紹一下 CatWrt-rootfs 的安裝方法
昨天折騰了一下把 rootfs 的文件上傳到 dockerhub 上了,大家以後就可以直接去拉取鏡像,還是挺方便的。不需要去網盤或者 Github 上面下這個 rootfs 版本的 CatWrt 了,具體這個 rootfs 我只是給一個安裝的方法。
建議還是用我們這個 docker-compose 進行配置 CatWrt,如果你沒有 1Panel 也是可以用的,寶塔什麼的甚至不需要面板也可以。
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/24
和 gateway=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
注:這裡 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