软路由相关教程

警告
本文最后更新于 2024-12-10,文中内容可能已过时。

iKuai安装AdGuard

  1. 安装 Docker

登录爱快云,点击 插件应用 找到 插件市场

/images/guides/软路由相关教程/1.png
(图1)
/images/guides/软路由相关教程/2.png
(图2)
/images/guides/软路由相关教程/3.png
(图3)

再次进入 插件管理,会出现 docker 图标。

/images/guides/软路由相关教程/4.png
(图4)

  1. 分区
/images/guides/软路由相关教程/5.png
(图5)
磁盘 显示物理磁盘标识及容量
挂载路径 绑定业务时设置的磁盘名称,类似 Windows 中磁盘盘符
分区名称 磁盘分区标识,如 nda1 表示为 nda 磁盘的第一个分区
分区类型 类型包含主分区、逻辑分区以及未格式化分区
分区大小 对应磁盘分区的容量大小,单位自动换算
绑定业务 系统配置及系统日志分区为固定分区并标识为黄色;自定义分区可绑定5类业务,分别为普通存储、有余繁星、缓存加速、行为记录和钉钉闪传

  1. 创建 AdGuard 文件夹

创建文件夹是为了方便文件管理。

例如:我创建了一个 docker_home 文件夹,我把它用来存放 docker

/images/guides/软路由相关教程/6.png
(图6)

adguard 目录中,创建 workdir 目录和 confdir 目录。(安装 adguard 镜像时用来设置安装目录)

/images/guides/软路由相关教程/7.png
(图7)

  1. 开启 Docker
/images/guides/软路由相关教程/8.png
(图8)
/images/guides/软路由相关教程/9.png
(图9)

填写镜像库 URL 的地址(因为目前 docker 镜像地址被封,所以我用的是手动上传镜像文件的方式),如果你是用拉取镜像的方式,填一个你能访问的地址。

/images/guides/软路由相关教程/10.png
(图10)

  1. 获取 AdGuard 镜像

找一台服务器,运行 docker pull adguard/adguardhome 命令拉取镜像。

/images/guides/软路由相关教程/11.png
(图11)

执行 docker save -o adguardhome adguard/adguardhome:latest 命令保存 docker 镜像为 .tar 文件。

1
2
3
4
[root]# docker images
REPOSITORY                     TAG       IMAGE ID       CREATED       SIZE
homeassistant/home-assistant   latest    77302f5cbeee   2 years ago   1.16GB
adguard/adguardhome            latest    bbb58017bf5b   2 years ago   80.6MB

你在哪个目录执行 docker save -o adguardhome adguard/adguardhome:latest 命令, .tar 文件就保存在那个目录,将.tar 文件下载下来即可。

1
2
[root]# ls
adguardhome.tar home-assistant.tar

  1. 配置 Docker

6.1 配置 Docker 网络

/images/guides/软路由相关教程/12.png
(图12)

IPv4 地址随意填,但是 IPv4 网关要跟着 IPv4 地址一起变。

例如:

  • IPv4 地址:xxx.xxx.xxx.0/24
  • IPv4 网关:xxx.xxx.xxx.1
/images/guides/软路由相关教程/13.png
(图13)

发现没有 IPv6F12 打开控制台,将 style="display: none;" 删除掉。

/images/guides/软路由相关教程/14.png
(图14)

我设置的是 fd32::/64,你们也可以设置其他的,比如 fe00::/64 等,但是不要设置 fe80::/64

/images/guides/软路由相关教程/15.png
(图15)

6.2 上传镜像

系统设置 > 磁盘管理 > 文件管理 中上传自己的镜像。

/images/guides/软路由相关教程/16.png
(图16)
/images/guides/软路由相关教程/17.png
(图17)
/images/guides/软路由相关教程/18.png
(图18)
/images/guides/软路由相关教程/19.png
(图19)

粘贴地址后,点击确认。

/images/guides/软路由相关教程/20.png
(图20)

6.3 创建容器

/images/guides/软路由相关教程/21.png
(图21)

容器配置

  • 容器名称:随便,我这里使用 adguard
  • 内存占用(M):一般为256 512 1024 2048(根据自己的需要配置,我这里使用 1024
  • 选择镜像文件:adguard/adguardhome:latest
  • 选择网络接口:刚刚配置的,我这里是 doc_1(如果配置的名称是 cfbk 他会加上 doc_,变为 doc_cfbk
  • IPv4地址:我在接口管理中设置的是 192.168.10.0/24,那么选一个同网段的地址,填 192.168.10.10
  • IPv6地址:我在接口管理中设置的是 fd32::/64,那么选一个同网段的地址,填 fd32::2fd32::1 已经作为网关使用了,不填也可以,会自动分配
  • 开机自启:选择上(要不爱快 dns 设置上 docker 容器不启动,那 dns 解析不到东西就上不了网了)

/images/guides/软路由相关教程/22.png
(图22)
源路径 目标路径
自己设置的路径,我的是 /docker/Docker/docker_home/adguard/workdir /opt/adguardhome/work
自己设置的路径,我的是 /docker/Docker/docker_home/adguard/confdir /opt/adguardhome/conf

查看是否已启用

/images/guides/软路由相关教程/23.png
(图23)

  1. 配置 AdGuard

默认端口是 3000,导航栏输入 192.168.10.10:3000 访问。


7.1 常规设置

  • 用 AdGuard【家长控制】服务:如果家中有尚未成年的孩子,建议开启,屏蔽成人内容。
  • 强制安全搜索:在 Bing、Google、Yandex、YouTube 等网站上强制使用安全搜索,屏蔽 NSFW 内容。
/images/guides/软路由相关教程/40.png
(图40)

7.2 DNS 设置

/images/guides/软路由相关教程/24.png
(图24)

上游DNS服务器

/images/guides/软路由相关教程/25.png
(图25)
1
2
3
4
5
6
7
https://120.53.53.53/dns-query
https://doh.360.cn/dns-query
https://1.12.12.12/dns-query
https://dns.alidns.com/dns-query
https://dns.cloudflare.com/dns-query
https://dns.pub/dns-query
https://dns11.quad9.net/dns-query
  • 负载均衡:使用加权随机算法来选择最快的服务器,也就是随机选择一个上游 DNS 服务器中的一个进行解析请求,哪个延迟低就更偏向于用哪一个。
  • 并行请求:同时请求所有上游 DNS 服务器,取最快给出的响应结果,所以解析速度很快。在上游 DNS 服务器设置合理的情况下属于万金油方案,解析速度和访问速度都很快。所以也非常适合上游 DNS 服务器连接延迟大和不稳定的情况。
  • 最快的 IP 地址:同时请求所有上游 DNS 服务器,在所有响应结果中选出延迟最低且可用的 IP。因为要等待所有上游 DNS 服务器响应结果,而且还要测试 IP 延迟及可用性,所以解析速度会很慢。只适合上游 DNS 服务器延迟特别低且网络非常稳定的场景,否则实际使用中可能会遇到首次打开网页非常慢,甚至可能打不开,要多刷新几次。再者低延迟 IP 不一定速度就快,还要看实际负载情况,所以这个方案的实际可用性是最差的。

Bootstrap DNS服务器

Bootstrap DNS 服务器(引导 DNS 服务器)的作用只是解析上游 DoT/DoH 技术 DNS 服务器的域名,所以这里需要填写使用 UDP 协议的传统 DNS 服务器 IP 地址。

前两个优先选择自己本地运营商 DNS

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
180.76.76.76
114.114.114.114
119.29.29.29
119.28.28.28
223.5.5.5
223.6.6.6
182.254.116.116
8.8.8.8
8.8.4.4
1.1.1.1
9.9.9.11
149.112.112.11
101.226.4.6

测试上游 DNS -> 应用

/images/guides/软路由相关教程/26.png
(图26)

DNS服务配置

  • 速度限制:0
  • 使用 EDNS :前面提及的上游 DNS 服务器都是支持 EDNS (ECS) 的,它有助于获取到更合适的 CDN 节点,建议勾选。
  • 使用 DNSSEC : 用于效验 DNS 记录的签名,防止 DNS 缓存被投毒,建议勾选。勾选后会在日志页面请求列显示小绿锁图标。
  • 禁用 IPv6 :丢弃 IPv6DNS 查询。在本地网络和网站都支持 IPv6 会优先使用 IPv6 去访问网站,但目前 IPv6 的建设还处于初级阶段,大多数地区的 IPv6 网络体验都一般。还有一些代理软件对 IPv6 支持不佳。如果对此没有特殊需求,那么直勾选即可,这样既不影响 BT 软件连接 IPv6 网络,又可以优先使用 IPv4 来上网。如果只有 IPv4 ,那么是否勾选没有区别。
/images/guides/软路由相关教程/27.png
(图27)

DNS缓存配置

TTL (Time To Live):存活时间,放在 DNS 解析中意为一条域名解析记录在 DNS 服务器中的存留时间,单位是秒。

正常情况下 TTL 默认 0 即可,即从上游 DNS 服务器获取 TTL 值。如果你所部署的网络环境到上游 DNS 服务器的延迟比较高,那么可以适当增加 TTL 值,让缓存更持久,短时间内请求同样域名的解析会直接从缓存中读取,实现秒解析。不过 TTL 值不宜过大,不然会导致记录不能及时更新,结果是网站无法正常打开。目前多数域名的 TTL 值普遍在 300 以内。

/images/guides/软路由相关教程/28.png
(图28)

7.3 DNS 封锁清单

过滤规则地址:https://github.com/sbwml/halflife-list

/images/guides/软路由相关教程/29.png
(图29)

  1. DHCP 和 DNS 设置

DNS 地址设置为 AdGuard 的地址。

/images/guides/软路由相关教程/30.png
(图30)
/images/guides/软路由相关教程/31.png
(图31)

首选 DNS 地址写 AdGuard 的地址,如果在创建容器的时候设置了 IPV6 地址,就用哪个地址,备选 DNS 地址设置一个公共的作为备用。

/images/guides/软路由相关教程/35.png
(图35)

  1. IPV6 / ACL 规则

9.1 iKuai 开启 IPV6

/images/guides/软路由相关教程/32.png
(图32)

点击 确定 后,过一会就会有 IPV6 地址。

/images/guides/软路由相关教程/33.png
(图33)

wan 口有 IPV6 地址后,下面的 lan 口也会有 IPV6 地址。

/images/guides/软路由相关教程/34.png
(图34)

9.2 开启 ACL 规则(对自己的内网实现基本的防护)

第一条规则:禁止所有外网的 IPV6 访问

  • 方向:转发,转发就是 wan 口转到 lan 口,外面的数据从 wan 口进来,转发到 lan 口,我们把这个方向阻断
  • 连接方向匹配:原始方向,也就是直接从 wan 口进来的
/images/guides/软路由相关教程/36.png
(图36)
/images/guides/软路由相关教程/37.png
(图37)

第一条规则会导致内部的 IPV6 无法访问外部,所以需要建立第二条规则,让内部的 IPV6 访问外部。

原理:先建立一条规则全部阻断,其次如果再建立允许规则的话,允许规则的权限是要大于阻断规则的。

第二条规则:允许内部的 IPV6 访问外部

  • 连接方向匹配:关闭,代表对方向没有什么要求
/images/guides/软路由相关教程/38.png
(图38)
/images/guides/软路由相关教程/39.png
(图39)

Glinet搭建内网脚本服务器

访问 https://github.com/wukongdaily/gl-inet-onescript/discussions

/images/guides/软路由相关教程/41.png
(图41)
1
2
3
4
5
docker run -d \
  --restart unless-stopped \
  --name glibox \
  -p 15050:15050 \
  wukongdaily/glibox

对于 MT3000/2500/6000 (ssh 连接到路由器内,在路由器内执行)

1
read -p "请输入glibox局域网 IP: " ip && wget -O /tmp/gl.sh http://$ip:15050/glinet/gl-inet.sh && sh /tmp/gl.sh $ip

对于 be3600 (ssh 连接到路由器内 在路由器内执行)

1
read -p "请输入glibox局域网 IP: " ip && wget -O /tmp/gl.sh http://$ip:15050/glinet/be3600.sh && sh /tmp/gl.sh $ip

在执行脚本前,先检查时区和版本

/images/guides/软路由相关教程/42.png
(图42)

查看 高级设置,没有装 LuCI 的,先装一下 LuCI

/images/guides/软路由相关教程/43.png
(图43)
/images/guides/软路由相关教程/44.png
(图44)

安装 iStoreOS 风格化

/images/guides/软路由相关教程/45.png
(图45)

安装个性化 UI 辅助插件

/images/guides/软路由相关教程/46.png
(图46)
/images/guides/软路由相关教程/47.png
(图47)

GL-MT 3000插件

  1. 配置软件源

系统 - 软件包 - 配置OPKG

1
2
3
4
5
6
7
8
src/gz custom_feeds https://cdn.jsdelivr.net/gh/tiancaiV/gl-inet/MT3000     # 这个全,用这个
src/gz dllkids https://op.dllkids.xyz/packages/aarch64_cortex-a53
src/gz supes https://dl.openwrt.ai/packages-23.05/aarch64_cortex-a53/kiddin9
src/gz openwrt_base https://mirrors.cloud.tencent.com/openwrt/releases/21.02-SNAPSHOT/packages/aarch64_cortex-a53/base
src/gz openwrt_luci https://mirrors.cloud.tencent.com/openwrt/releases/21.02-SNAPSHOT/packages/aarch64_cortex-a53/luci
src/gz openwrt_packages https://mirrors.cloud.tencent.com/openwrt/releases/21.02-SNAPSHOT/packages/aarch64_cortex-a53/packages
src/gz openwrt_routing https://mirrors.cloud.tencent.com/openwrt/releases/21.02-SNAPSHOT/packages/aarch64_cortex-a53/routing
src/gz openwrt_telephony https://mirrors.cloud.tencent.com/openwrt/releases/21.02-SNAPSHOT/packages/aarch64_cortex-a53/telephony

最好同时只用一个,我在使用时,同时配置多个,搜索 iptables-mod-socket 搜不出来,最后只保留了一个软件源,就搜出来了


  1. 下载 iSotreOS

在筛选器中输入 luci-app-store

/images/guides/软路由相关教程/48.png
(图48)
/images/guides/软路由相关教程/49.png
(图49)

  1. 获取安装包

地址:https://github.com/AUK9527/Are-u-ok/tree/main/apps

/images/guides/软路由相关教程/50.png
(图50)

  1. 安装
/images/guides/软路由相关教程/51.png
(图51)
/images/guides/软路由相关教程/52.png
(图52)
/images/guides/软路由相关教程/53.png
(图53)

安装缺少的依赖

/images/guides/软路由相关教程/54.png
(图54)
/images/guides/软路由相关教程/55.png
(图5)

  1. 添加订阅
/images/guides/软路由相关教程/56.png
(图56)

Opnsense

物理机安装

  • System architecture 选择 amd64
  • Select the image type 选择 dvd(iso)
  • Mirror Location 选择 Peking University,即北京大学镜像站。
/images/guides/软路由相关教程/57.png
(图57)

使用 Ventory 制作启动盘


小主机有 4 个网口,分别是 ETH0、ETH1、ETH2、ETH3,将光猫网线插入 ETH3 作为 WAN 口。

/images/guides/软路由相关教程/58.png
(图58)
/images/guides/软路由相关教程/59.png
(图59)
/images/guides/软路由相关教程/60.png
(图60)

会自动跑一段代码

/images/guides/软路由相关教程/61.png
(图61)

1
2
Press any key to start the configuration importer: ...... # 这里按任意键
Select device to import from (e.g. ada0) or leave blank toexit: # 选择导入设备或留空退出 (按回车键退出)
/images/guides/软路由相关教程/62.png
(图62)

1
2
3
Press any key to start the manual interface assignment: # 这里按任意键
Do you want to configure LAGGs now? [y/N] # 输入 n 回车
Do you want to configure VLANs now? [y/N] # 输入 n 回车
/images/guides/软路由相关教程/63.png
(图63)

1
2
3
Enter the WAN interface name or 'a' for auto-detection: # 输入 igc3 回车
Enter the LAN interface nane or 'a' for auto-detection NOTE: this enables full Fireualling/NAT mode. (or nothing if finished):  # 输入 igc0 回车
Enter the Optional interface 1 name or 'a' for auto-detection (or nothing if finished): # 按回车键
/images/guides/软路由相关教程/64.png
(图64)

1
Do you want to procees? [y/N] # 输入 y 回车
/images/guides/软路由相关教程/65.png
(图65)

1
2
3
这里需要输入 installer 的账户登录进行安装
1.账号:installer
2.密码:opnsense,这里不会显示直接输入完成回车即可
/images/guides/软路由相关教程/66.png
(图66)
/images/guides/软路由相关教程/67.png
(图67)
/images/guides/软路由相关教程/68.png
(图68)

确认安装的硬盘,两个选项,一个是物理机,一个是 Ventory 的制作启动盘。

/images/guides/软路由相关教程/69.png
(图69)
/images/guides/软路由相关教程/70.png
(图70)
/images/guides/软路由相关教程/71.png
(图71)
/images/guides/软路由相关教程/72.png
(图72)
/images/guides/软路由相关教程/73.png
(图73)

1
Exit and reboot:退出并重启 (屏幕黑屏后拔掉 U 盘,后续启动使用物理机中安装的系统启动)
/images/guides/软路由相关教程/74.png
(图74)

基本设置

  • 光猫出来的线 -> 小主机 ETH3
  • 小主机 ETH0 -> 电脑网口

控制面板 -> 网络和 Internet -> 网络和共享中心 -> 以太网

/images/guides/软路由相关教程/75.png
(图75)
/images/guides/软路由相关教程/76.png
(图76)
/images/guides/软路由相关教程/77.png
(图77)
/images/guides/软路由相关教程/78.png
(图78)

1
2
3
访问 http://192.168.1.1
1.账号:root
2.密码:opnsense
/images/guides/软路由相关教程/79.png
(图79)

设置语言为简体中文

/images/guides/软路由相关教程/80.png
(图80)

添加接口、网桥

添加接口 igc1、igc3

/images/guides/软路由相关教程/81.png
(图81)

1
2
3
1.启用接口
2.修改描述 LAN2
3.保存 -> 应用更改
/images/guides/软路由相关教程/82.png
(图82)

1
2
3
1.启用接口
2.修改描述 LAN3
3.保存 -> 应用更改
/images/guides/软路由相关教程/83.png
(图83)

1
2
3
1.创建网桥
2.接口成员选择 LAN2、LAN3
3.出现接口 bridge0
/images/guides/软路由相关教程/84.png
(图84)
/images/guides/软路由相关教程/85.png
(图85)
/images/guides/软路由相关教程/86.png
(图86)
/images/guides/软路由相关教程/87.png
(图87)

1
2
3
IPV4 配置类型:静态 IPV4
IPV4 地址:按照自己喜好设置,但是不要和光猫或其他设备冲突
保存 -> 应用更改
/images/guides/软路由相关教程/88.png
(图88)

添加防火墙

1
2
3
协议:any 支持所有
其他保持默认即可
保存 -> 应用更改
/images/guides/软路由相关教程/89.png
(图89)

DHCP

/images/guides/软路由相关教程/90.png
(图90)
/images/guides/软路由相关教程/91.png
(图91)

1
2
范围从 192.168.8.10 开始是为了预留一些端口留作备用,按照自己喜好设置,最大不要超过 254
设置完后,保存 -> 重启服务
/images/guides/软路由相关教程/92.png
(图92)

修改电脑网络IPV4为自动

/images/guides/软路由相关教程/93.png
(图93)

LAN 口绑定网桥

将网线从 ETH0 拔出插入到 ETH1

访问 http://192.168.8.1 进入 web 管理页面


LAN 口的 DHCP 关闭

/images/guides/软路由相关教程/94.png
(图94)

1
2
1.IPV4 配置类型:None
2.保存 -> 应用更改
/images/guides/软路由相关教程/95.png
(图95)
/images/guides/软路由相关教程/96.png
(图96)

LAN 口桥接上

/images/guides/软路由相关教程/97.png
(图97)

PPPoE 拨号

1
2
如果光猫是桥接模式,可以使用 PPPoE 拨号上网
输入运营商提供的账号和密码
/images/guides/软路由相关教程/98.png
(图98)
/images/guides/软路由相关教程/99.png
(图99)

流量分析

安装 Redisos-ntopng 插件

/images/guides/软路由相关教程/100.png
(图100)
/images/guides/软路由相关教程/101.png
(图101)
/images/guides/软路由相关教程/102.png
(图102)
/images/guides/软路由相关教程/103.png
(图103)

访问 3000 端口自动路由到 3090,用户名和密码是 admin

/images/guides/软路由相关教程/104.png
(图104)
/images/guides/软路由相关教程/105.png
(图105)

0%