一、ImmortalWRT系统及其安装

openwrt的一个分支,有好的软件源。

  1. 固件选择器
  2. 写盘工具refus,也可以用winPE
  3. 安装的软件包
  • luci-theme-argon(更换主题)
  • luci-i18n-ttyd-zh-cn(获得terminal)
  • 上网工具(选择打开其一即可)
    • luci-app-openclash
    • luci-i18n-passwall-zh-cn
    • luci-i18n-homeproxy-zh-cn

二、旁路由设置

2.2 旁路由原理

本质是终端的网关设置:设置为主路由就不经过旁路由;设置为旁路由就经过旁路由,在旁路由上可以增加软件包或者一些其他的hook来封装原始数据包。

旁路由连接到主路由的lan口,这样一个网段内就有两个DHCP服务了。关闭主路由的DHCP服务,打开旁路由DHCP服务,那么其他接入的终端就从旁路由获取IP信息。DHCP获取到网关是DHCP服务器的IP,也就是旁路由的ip地址。这样,所有终端访问外网的流量先到网关(旁路由),旁路由再到它的网关(主路由),最终到互联网。

2.2 设置分流规则

  1. 配置规则。
    网络 → 接口 → 编辑lan → DHCP服务器 → 高级设置 → DHCP选项,添加规则
    1
    2
    3
    4
    tag:direct,3,10.0.0.1 # 3,指的是设置网关;direct是标签,可以随便写
    tag:direct,6,10.0.0.1 # 6,指的是设置DNS
    tag:proxxy,3,10.0.0.2
    tag:proxxy,6,10.0.0.2
  2. 利用规则。
    网络 → DHCP/DNS → 静态地址分配 → 选择终端,添加标签

2.3 大部分终端走主路由,少部分终端走旁路由

设置规则为:

1
2
tag:!proxy,3,10.0.0.1
tag:!proxy,6,10.0.0.1

!:不是proxy标签的,网关和dns为主路由(10.0.0.1),标签为proxy的是默认的旁路由(10.0.0.2)。所以,只要指定走旁路由的终端的标签为proxy。

2.4 防火墙设置

一定要把网络 → 防火墙 → 区域 → lan-wan(入站、出站、转发)IP地址动态伪装给选上。不然网关为旁路由的终端无法上网,即使在旁路由上可以正常访问百度等外网。和主路由类型有关系:主路由是openwrt的话,不打开也没关系。

另外,网络 → 防火墙 → 常规设置中的丢弃无效数据包这个选项不能勾选,不然网关为旁路由的终端不能上网。因为数据包出去的时候经过旁路由,但是响应回来的时候,都不经过旁路由,无法完成握手。

三、相关概念

  1. 固件版本分EXT4和SQUASHFS,他们之间什么联系与区别?还分FACTORY和SYSUPGRADE,他们之间又是什么关系?

    SYSUPGRADE用于保留设置的升级,提供的是增量更新;FACTORY是完整映像,用于首次刷机。SQUASHFS和EXT4都是文件系统,SQUASHFS有一个layout层,可以恢复出厂设置。

十、TODO:

  1. 什么是layout层?
  2. 用refus写入的系统只占用了很小的磁盘?为什么没有使用全部的磁盘空间?要是自己mount分区,是mount到哪个分区?
  3. 什么是动态伪装?
2024-08-27