5

玩客云Docker安装OpenWrt应该使用SuLingGG哪个版本的?

 1 year ago
source link: https://vps.la/2022/10/06/%e7%8e%a9%e5%ae%a2%e4%ba%91docker%e5%ae%89%e8%a3%85openwrt%e5%ba%94%e8%af%a5%e4%bd%bf%e7%94%a8sulinggg%e5%93%aa%e4%b8%aa%e7%89%88%e6%9c%ac%e7%9a%84%ef%bc%9f/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

玩客云Docker安装OpenWrt应该使用SuLingGG哪个版本的?-VPS啦

玩客云Docker安装OpenWrt应该使用SuLingGG哪个版本的?
最近想使用OpenWrt做旁路由番羽墙
但是呢又不想再增加设备
于是想到了在我已经安装了Armbain的Docker是不是可以发挥作用呢?
一开始我是使用我的T1来安装Docker的,但是无论怎么折腾Docker里面的OpenWRT都无法直接获取主路由的IP
折腾了九九八十一回之后,放弃
这时候想到还有压舱底的玩客云,别浪费了
于是拿出来开刷,刷的镜像是:https://github.com/hzyitc/armbian-onecloud/releases/download/ci-20220925-162323-UTC/Armbian_22.11.0-trunk_Onecloud_jammy_edge_5.18.19.img.xz
记得配合他们自己的U-Boot:https://github.com/hzyitc/u-boot-onecloud
玩客云的OpenWRT建议使用下面这个的,更新版本比较快
docker run -itd --name=sunlinggg --restart=always --network=macnet --privileged=true sulinggg/openwrt:arm_cortex-a5_vfpv4 /sbin/init
用这个版本可以了
注意sulinggg/openwrt的其他本不行,会一直重启无法使用的。
我也是折腾了好久,最后在这里找到了解决办法的,感谢@lanyucomputer
https://github.com/SuLingGG/OpenWrt-Docker/issues/55
避坑提醒,我之前使用的OpenWRT是unifreq/openwrt-aarch64
结果运行一两天之后莫名其妙挂起了,于是换了现在这个sulinggg/openwrt:arm_cortex-a5_vfpv4
OpenWRT设置指引参考下面这个链接的:
https://github.com/huilibing/OneCloud
宿主机以及 Docker 相关设置
开启网卡混杂模式
ip link set eth0 promisc on
创建 Docker 虚拟网络
虚拟网络名称为 macnet,驱动为 macvlan 模式
将 subnet 10.10.10.0 修改为你自己主路由的网段
将 geteway 10.10.10.1 修改为你自己的主路由网关
docker network create -d macvlan --subnet=10.10.10.0/24 --gateway=10.10.10.1 -o parent=eth0 macnet
拉取镜像配置容器
将 --ip 10.10.10.11 修改为你自己主路由的网段IP
# 拉取 `OpenWrt` 镜像
docker pull w8ves/openwrt:onecloud
# 启动 `OpenWrt` 容器
docker run --restart always --name openwrt -d --network macnet --ip 10.10.10.11 --privileged w8ves/openwrt:onecloud /sbin/init
修改容器网络配置
# 查看运行中的容器
docker ps -a
# CONTAINER ID   IMAGE           COMMAND        CREATED         STATUS        PORTS     NAMES
# 0bd53ac6f3e8   w8ves/openwrt   "/sbin/init"   9 minutes ago   Up 19 minutes           openwrt
# 进入容器命令行
docker exec -it openwrt /bin/bash
# 修改网络配置
vi /etc/config/network
[按下键盘 Ins 键切至输入状态]
config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'
config globals 'globals'
config interface 'lan'
    option ifname 'eth0'
    option _orig_ifname 'eth0'
    option _orig_bridge 'true'
    option proto 'static'
    option ipaddr '10.10.10.11'  # 填写创建容器时的IP
    option netmask '255.255.255.0'
    option gateway '10.10.10.1'  # 修改为你自己主路由的IP
    option dns '10.10.10.1'      # DNS 可填主路由IP 也可填公共DNS
[按下键盘 Esc 键退出输入状态,英文键盘输入 :wq 回车 保存退出]
# 重启容器网络服务
/etc/init.d/network restart
# 退出容器
永久开启网卡混杂模式
# 修改配置
vi /etc/network/interfaces
[按下键盘 Ins 键切至输入状态]
source /etc/network/interfaces.d/*
# Wired adapter #1
allow-hotplug eth0
up ip link set eth0 promisc on  # 添加这一行代码
no-auto-down eth0
iface eth0 inet dhcp
......
[按下键盘 Esc 键退出输入状态,英文键盘输入 :wq 回车 保存退出]
容器 OpenWrt 的相关设置
网络 > 接口 > 修改
忽略此接口 ☑️ > 保存&应用
网络 > 防火墙
基本设置 > 启用FullCone-NAT☑️ > 转发 - 接受 > 保存&应用
这个一定要设置,我之前在其他地方的文章教程,照着做,就是少了这一步,折腾了好久,最后自己试出来之后才看到现在的这个文章,坑...
自定义规则 > 复制粘贴下列代码 > 保存&应用
# 国内慢速或无法联网则添加此条命令
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
网络 > 网络加速
启用 BBR ☑️ > 保存&应用
旁路网关的相关设置
设置 旁路由 为网关,个别设备独自通过 旁路由 上网
优点:折腾旁路由时,不影响其他设备网络
缺点:重复设置每个设备
路由器 设置 旁路由 为该路由器网关,该路由器下所有内网设备都通过 旁路由 网
优点:该路由器下所有内网设备都能以旁路由模式上网,无需每台单独设置
缺点:折腾時可能会影响其他设备网络

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK