OpenWrt养老旁路由从零开始(基于immortalWrt固件)

OpenWrt养老旁路由从零开始(基于immortalWrt固件)

准备工作

  • 软路由、或是旁路由、或是其他能做软路由的盒子(N1、树莓派等)
  • 软路由或是旁路由本身具有网络

涉及到的组件

  • immortalWrt固件
  • passwall(immortalWrt固件已经安装)
  • AdGuardHome
  • MosDNS

写在前面

1.使用 iKuai +openwrt 做旁路由网络拓扑

网络拓扑图

  • immortalWrt固件
  • passwall(immortalWrt固件已经安装)
  • AdGuardHome
  • MosDNS

安装组件

  1. immortalWrt固件下载地址 开源项目地址: 点击进入
  2. passwall 项目地址: 点击进入
  3. MosDNS 项目地址: 点击进入
  4. AdGuardHome 项目地址: 点击进入

immortalWrt安装

ImmortalWrt 是一个基于 OpenWrt 的开源路由器固件分支,主要面向中国大陆用户。它与原版 OpenWrt 相比,具有以下特点:

优点

  • 稳定性高:提供了更高的稳定性和可靠性,适合长时间稳定运行。
  • 包管理丰富:拥有丰富的软件包管理系统,方便用户安装各种附加组件。在国内网络环境中也能方便地更新、安装软件包,对国内用户非常友好。
  • 硬件支持广泛:支持广泛的路由器和其他网络设备,包括一些不再受官方 OpenWrt 支持的设备,还能运行在 x86 架构设备和树莓派等单板计算机上。
  • 社区支持活跃:拥有活跃的开发者社区,不断更新和改进,用户可以轻松找到丰富的中文教程、论坛讨论和问题解答,降低了上手难度。
  • 界面简洁易用:采用 Luci Web 管理界面,操作简单直观,还支持中文语言,让小白也能轻松上手。
  • 功能强大:支持各种网络功能,包括无线网络(支持 2.4G/5G 双频无线网络,支持 802.11ac 协议)、有线网络(支持千兆有线网络)、路由功能(支持 NAT、DHCP、DDNS、虚拟网络等)、防火墙(支持多种防火墙规则)等。

与其他分支的区别

  • 与 OpenWrt:ImmortalWrt 依旧跟随着 OpenWrt 的版本迭代,但略微慢于官方最新版本。它有时会对系统、软件包进行一些修改,比如合并一些被认为是有优化效果的补丁,在界面上添加 cpu 负载、温度之类的信息,还会修改默认参数以优化性能。此外,ImmortalWrt 通常还会先于 OpenWrt 提供一些后者尚未提供支持的机器的固件。
  • 与 LEDE/Lean:Lean 的固件有时会打包进闭源的组件,且所基于的 OpenWrt 分支版本一般比较老。而 ImmortalWrt 基本上是开源的,一些流行的闭源驱动或软件都没有被 ImmortalWrt 收录,这是 ImmortalWrt 与 Lean 的主要区别。

使用方法

  1. 进入项目地址如图:

1111

  1. 下载固件:

下载固件

  1. 安装openwrt(略)

  2. 登录openwrt进行基本设置

    无密码直接登录

登录wrt

设置密码

设置密码

Passwall,MosDNS,AdGuardHome安装

本次使用ssh连接旁路由进行安装,使用MobaXterm连接路由器

  1. Passwall安装
    • **默认已经安装,可进入项目下载安装包(升级)**:

      luci-19.07_luci-app-passwall_25.1.15-1_all.ipk (19.07安装包)
      luci-19.07_luci-i18n-passwall-zh-cn_25.1.15-1_all.ipk (19.07翻译包)
      luci-23.05_luci-app-passwall_25.1.15_all.ipk (23.05安装包)
      luci-23.05_luci-i18n-passwall-zh-cn_git-25.015.29479-0eed372_all.ipk (23.05翻译包)
      其他内核依赖 根据自己的CPU架构进行下载(我的是j1900的软路由 x86_64)
      passwall_packages_ipk_x86_64.zip

Passwall安装

  1. MosDNS安装
    • 进入MosDns项目,下载MosDNS相关安装包

        luci-app-mosdns_1.5.20_all.ipk
        luci-i18n-mosdns-zh-cn_git-23.319.54348-e79a991_all.ipk
        mosdns_5.3.1-1_x86_64 这个需要根据自己的CPU架构进行下载(我的是j1900的软路由 x86_64)
        v2dat_2022-12-15-47b8ee51-1_x86_64.ipk 这个需要根据自己的CPU架构进行下载(我的是j1900的软路由 x86_64)
        v2ray-geoip_2024-02-26_all.ipk
        v2ray-geosite_2024-02-26_all.ipk
      

MosDNS安装

如果不知道CPU架构,可查看CPU架构,下载对应安装依赖包(我的是x86_64)

1
2
cat /etc/os-release |grep ARCH


MosDNS安装

上传文件 使用opkg install <包名称> 命令安装

  1. AdGuardHome安装

    • 进入AdGuardHome项目,下载AdGuardHome安装包

AdGuardHome安装

上传文件 使用opkg install <包名称> 命令安装

软路由配置安装和配置

immortalWrt固件安装

系统环境:

 * openwrt immortalWrt固件  ImmortalWrt 24.10.0-rc3 
 * passwall 24.12.26-r1
 * AdGuardHome 	核心版本 v0.107.55
 * MosDNS  5.3.3-3
处理逻辑

1 ,mosdns 国内外分流、DNS 缓存、防 DNS 泄漏,由 mosdns 包揽 openwrt 所有解析
2 ,adguardhome 屏蔽网站,可跟踪全屋访问的网站,上游 dns 设置为 mosdns
3 ,passwall 上游 DNS 设置为 adguardhome

主要更改配置
  • Mosdns 设置:
  1. 后台设置:6060 重定向:选择 用 53 端口替换 dnsmasq
  2. DNS 转发,不勾选
  3. 勾选,远程 DNS 首选 IPv4 、自定义国内 DNS 、Apple 域名解析优化
  4. 其他选项随意
  • adguardhome 设置:
  1. 后台设置:6060 重定向:选择 作为dnsmasq的上游服务器
  2. 网页管理界面,监听接口:选择 所有接口,端口:3000
  3. DNS 服务器,监听接口:选择 所有接口,端口:52
  4. 上游 DNS 服务器 127.0.0.1:5335 (即 mosdns配置的默认端口 ),选择负载均衡
  5. 其他都不选不填,拦截模式选空 ip
  6. DNS 缓存配置,全部留空不选(因为 DNS 缓存由 Mosdns 负责)
  7. 其他选项随意
  • adguardhome 设置:
  1. DNS
    1. 选中 过滤代理域名 IPv6
    2. 过滤模式:选择通过 UDP 请求 DNS
    3. 远程 DNS:自定义 127.0.0.1:52 (即 adguardhome设置的服务器端口)
    4. 当使用中国列表外时的默认 DNS:选择 直连 DNS
  2. 高级设置
    1. UDP 转发端口:DNS
    2. TCP 代理方式:Tproxy
  • Openwrt 的 DHCP/DNS 设置:
  1. 设置及端口——DNS 服务器端口:53 (默认值:53)
  2. 转发:DNS 转发:127.0.0.1#52

其他问题

  1. 默认passwall 不支持 ShadowsocksR Libev 协议 需要手动添加

    • 解压passwall_packages_ipk_x86_64.zip包,安装相关协议组件即可
    • 前置依赖 libmbedtls12_2.28.9-1_x86_64.ipk
  2. ShadowsocksR 旧节点不支持RC4加密算法 可安装 libopenssl-legacy和openssl-util 解决

新增 passwall分流配置

  1. 进入passwall菜单,把“Socks主开关”打勾,点击添加按钮,如图修改设置端口10801和10802(Socks监听端口这个端口号要记住,等下要用到)然后保存并应用

socks套娃

2.点击Socks 配置修改, 将自动切换,打勾,恢复切换,打勾 其他配置根据需要修改,在备用节点的列表中,根据自己实际情况,选择备用节点,设置完成点保存&应用

socks套娃

  1. 进入passwall菜单,点击节点列表添加一个节点,类型为“Socks”,地址写“127.0.0.1”,端口写第1个步骤设置的“Socks监听端口(10801)”,点“保存&应用”;

socks套娃

  1. 在passwall主界面,在“TCP节点”处改成上一个步骤我们自己添加的节点名称,点“保存&应用”,来测试一下网络,全部畅通,证明设置有效。