使用树莓派,建立旁路由,科学上网~
网络拓扑
避坑:Docker 运行 OpenWrt 容器时在进行包含 “杀死 OpenWrt Docker 容器进程” 的操作的时候确实会出现这个问题。目前还不清楚是哪方面的原因。
解决办法:关闭容器后尽快删除容器。
为了方便树莓派用于其他用途,使用 docker 的方式
gunzip openwrt-22.03.5-armvirt-64-default-rootfs.tar.gz
docker import openwrt-22.03.5-armvirt-64-default-rootfs.tar openwrt
推荐:或者直接在创建 docker 容器时使用
docker run --restart always --name openwrt -d --network openwrt --privileged registry.cn-shanghai.aliyuncs.com/suling/openwrt:armv8 /sbin/init
x86 架构使用
docker run --restart always --name openwrt -d --network openwrt --privileged registry.cn-shanghai.aliyuncs.com/suling/openwrt:x86_64 /sbin/init
ip link set eth0 promisc on
,执行 ifconfig eth0
网卡 flag 信息有 PROMISC
表示开启成功
eth0: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> mtu 1500
docker network create -d macvlan --subnet=192.168.3.0/24 --gateway=192.168.3.1 -o parent=eth0 openwrt
docker run --name openwrt -d --network openwrt --privileged openwrt /sbin/init
如果报错
Error response from daemon: failed to create the macvlan port: operation not supported
,执行apt install linux-modules-extra-raspi
,linux-modules-extra-raspi 是树莓派 Ubuntu Arm 的不常用扩展,Ubuntu 最新的包管理中默认不包含扩展;因此需要单独安装,安装后需要重启树莓派
shelldocker exec -it openwrt bash
vi /etc/config/network
# 修改 lan 配置
config interface 'lan'
option ifname 'eth0'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '192.168.1.99'
option gateway '192.168.1.1'
option dns '192.168.1.1'
# 修改完成后重启容器的网络
/etc/init.d/network restart
重启完成后访问 http://192.168.1.99 ,使用账户 root 和密码 password 即可进入管理页面下载 luci-app-openclash 插件,打开 OpenWrt 管理界面,进入系统列表页找到文件传输,选择上传 luci-app-openclash_0.38.7-beta_all.ipk 插件,并在上传文件列表进行安装,如下图:
进入服务-OpenClash,选择配置文件订阅,新增订阅;输入订阅的链接地址,保存并更新即可;这样以 OpenWrt 为网关的设备就可以通过 OpenClash 访问特定的资源了
启动
设置路由器的网关和 dns
本文作者:42tr
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!