open wrt 资源
- opewrt 官方镜像下载:OpenWrt Downloads
- GitHub - immortalwrt/immortalwrt: An opensource OpenWrt variant for mainland China users.
- docker 镜像资源:GitHub - SuLingGG/OpenWrt-Docker: Build OpenWrt Docker Images For Raspberry Pi 1~4 (Daily Update)
虚拟机运行
KVM 运行
先从 openwrt 官网下载压缩文件,然后本地解压成img文件。使用 VMM 运行 img 文件即可安装 openwrt。
hyper-v 运行
Windows11 Hyper-V OpenWrt 配置指南 - 少数派
- 将 .img 文件格式通过软件转化为 .vhdx 格式
- 配置外部网络
- 然后启动 hyper-v 虚拟机
- 把 ip 协议改为 dhcp,防止 ip 地址冲突
- ifconfig 查看 ip 地址
- 连接到 openwrt
非常让人奇怪的一点是之前用 dhcp 协议能够获取到 ip 地址的,后来就不行了,必须得要静态 ip。静态 ip 获取方式: 先找一个 ping 不通的 ip 地址,然后把这个地址分配给虚拟机就行了。经过一段时间使用发现经常会断连接。 然后 ping 一下物理机的真实 ip 地址就能够重新连接上了,反过来物理机 ping 虚拟机就不能够 ping 通。应该是和 DHCP 冲突了,所有的 ip 地址都是 DHCP 分配的,所以这个手动配置的静态地址也在地址池里面,而物理机的 ip 是 dhcp 分配的所以虚拟机通过网关能够获取到 mac 地址,虚拟机是自己分配的网关获取不到虚拟机的 mac 地址。
自行编译 open wrt
OpenWrt 固件自编译教程:从入门到酸爽! - 喵斯基部落
换源工具:https://github.com/RubyMetric/chsrcyay -S chsrc
https://openwrt.org/zh/docs/guide-user/virtualization/docker_openwrt_image
安装软件包
3. 更换软件镜像源 — [野火]OpenWrt用户手册—基于LubanCat-RK系列板卡 文档
OpenWRT好用的插件(名称及功能中英文对照表)_openwrt插件对照表-CSDN博客
需要注意的是opkg update 是存在/temp下的,所以每次重启都要重新执行一下。
插件推荐
OpenWrt软件包各主题样式预览 - CYHMS - 博客园
我选择了 luci-theme-argon 这个主题,上面的链接可以查看各个主题的样式。
open clash
安装 frpc、frp luci-app-frpc、luci-i18n-frpc-zh-cn,才算完整的安装 frp,只装第一个是没有 UI 的。
首先查看 DNS 解析文件/etc/resolv.conf默认是本机,而通过虚拟机启动的 openwrt 此时就是普通主机,解析不了 DNS 。
然后注释掉下面的签名检查,不然 opkg update就会报签名错误。
配置 open wrt
网络概念理解
【转载】5分钟实现全屋科学上网 群晖NAS安装Openwrt旁路由教程
Linux 虚拟网卡技术:Macvlan-腾讯云开发者社区-腾讯云
教程
Attention Required! | Cloudflare
【2022.04.21】在docker中搭建openwrt软路由系统,实现多网口以及主路由功能 - Mokou - 博客园
Macvlan下物理机和虚拟机通讯
docker使用macvlan配置网络,使容器与宿主机在同一局域网,广播域内_docker macvlan dhcp-CSDN博客
实际操作
打开网卡混杂模式,macvlan 网络模式允许容器直接使用宿主机的物理网络接口,并且可以为容器分配一个独立的MAC地址,这样容器就像是直接连接到了宿主机的物理网络中的一台独立机器。 sudo ip link set eth0 promisc on,结果如下图所示。需要配置开机自启,不然开机之后混杂模式就消失了。
创建 docker 网络(需要注意的是使用 macvlan 方式,宿主机和虚拟机之间是无法通信的)
-
选用这个网段会显示已经覆盖了,一开始我以为是和物理网络冲突了,后来发现是 docker-image-tool 插件占用了这个网段。docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=br0 macnet,这里需要注意,不能直接填写整个网段,docker 网络分配默认按照顺序来,所以会按照 192.168.1.2依次分配,可能会造成 ip 地址的重复。
-
或者一开始不指定 macvlan 网络,容器创建之后手动指定 ip 地址, 这样就不会有 ip 地址冲突。docker network connect --ip 192.168.1.129 macnet openwrt
配置 openwrt
-
编辑域名解析文件vi /etc/resolv.conf
-
编辑网络文件vi /etc/config/network
-
重启网络服务,我选择的镜像没有这个命令/etc/init.d/network restart,手动重启镜像即可。
openwrt 使用
open clash 插件
Win10 各种端口占用问题的解决办法 - hyuuko - 博客园