弱电改造

Posted on November 7, 2021
Tags: blog, renovation

原始需求及用户场景描述

  1. 用户有很多需要接入网际网络的设备,如:笔记本电脑、台式机、手机、电视、NAS、游戏机。
  2. 用户可以通过WiFi使自己的笔记本与手机接入网际网络。
  3. 用户可以通过网口将自己的固定网络设备(如NAS)接入网际网络,其接入网速相比于WiFi方式有明显提升。
  4. 用户的电子设备(如手机、电视、服务器)可以直接科学上网,无需再单独设置。
  5. 用户可以通过私有托管的文档服务器进行文档的编写和浏览。
  6. 用户有大量的文档数据(如照片、视频)需要管理和读写。
  7. 用户对下行网速有要求,固定设备要求>800Mbps,无线设备要求>500Mbps。
  8. 用户存在不同设备之间的互联互通需求,例如在Windows PC上向电视投屏,在手机上访问NAS数据。

需求分析

需求种类 需求内容 说明 对应原始需求 优先级
功能需求 提供无线接入方法 提供WiFi并支持以无线的方法接入网络 1 2
提供有线接入方法 提供网口并支持以有线的方法接入网络 1 3
提供科学上网手段 提供方法使得每台设备都可以科学上网 4
提供NAS服务器 提供NAS服务器处理数据存档和数据安全 6
提供文档服务器 提供局域网内Confluence服务器 5
提供投屏工具 提供投屏手段便于在电视上观看电脑/手机画面 8
全屋各有线与无线接入点均统一在同一级路由下 全无WiFi与网线使用统同一网段,避免在不同层级路由下导致无法互联互通 1 2
性能需求 无线设备要求>500Mbps;固定设备要求>1000Mbps 使用千兆网 7
功耗?
易用性 用户连上即用 用户无需对自己的设备做过多配置,连上即可使用上述需求内容中支持的feature项 1
使用AP面板 尽量不破坏目前已有的基于AP面板的组网方案

方案设计

系统需求主要分可以归纳为两部分:

  1. 互联互通
  2. 全局科学上网

因此对于总体方案,主要保证以下两点即可:

  1. 所有的设备可以在统一网段中进行互相访问
  2. 在路由出口部分提供全局的科学上网支持以适配全设备

因此,我们使用以软路由+交换机的方式进行组网:

其中, 光猫拨号后将IPTV通过AP透传到运营商机顶盒,将网际链路给到软路由,软路由作为唯一的dhcp中心起到路由的作用,并提供全局科学上网的支持。

PoE交换机用于带动千兆AP面板,各终端设配通过AP面板接入整个网络。

整个系统中:光猫输出连入软路由WAN,光猫IPTV直接连机顶盒,软路由LAN连接PoE Uplink,其他AP直接入PoE交换机即可。

软路由

软路由本质上在于使用一台非正经路由器的设备(往往是x86的NUC)通过响应的程序实现路由功能。

软路由的好处是:

  1. 更加灵活的定制策略,开源社区支持
  2. 运算能力更强,可以更好的胜任科学上网所需的加密解密操作(传统路由器基于arm在此方面是弱势)。

软路由知识科普

https://www.youtube.com/watch?v=WqSCkr8DuRI

软路由方案

本次使用双软路由的拓扑方案进行。

关于双软路由可以参考:https://www.youtube.com/watch?v=agwas1_SS-Y

系统拓扑描述

硬件使用3685U的工控机,通过exsi虚拟化的方式安装ROS与LEDE两个系统。

其中,ROS作为主路由,负责路由的工作。LEDE关闭DHCP只作为旁路网关,接收所有设备发来的数据包,并做相关的科学上网处理后再把数据包发给ROS(注意下图中IP地址和网关的关系)。

通过主路由和旁路网关各司其职的协作方式,提升相比于单LEDE系统而言整个路由器的工作效率。

ROS与LEDE通过bridge桥接的方式完成互联互通。因为只有ROS启用DHCP的缘故,LEDE不会分出另外的网段,因此连上所有网口的设备均可以管理esxi、ROS、LEDE三个系统。

固件设置

ROS系统使用官方版本(实际上为淘宝卖家预装),只需要设置DHCP服务器中下发的网关信息即可。

LEDE使用youtuber洋葱提供的特殊版本:https://drive.google.com/file/d/1Sf34o5FeDQ3UAL4j0ew-BBIWOBO2nzSK/view 。原因在于默认LEDE内容过于臃肿,千兆光纤实际通过软路由进行测速只能达到500Mbps。换用此版本固件后可以达到800Mbps。可以通过esxi直接刷写,也可以通过LEDE的升级功能完成升级(配置可以得到保存),升级完成后可能需要更新ssr插件(从GitHub上下载最新release后使用TTYD终端安装其中的ipk文件)。设置网关与IP地址,在LEDE的ssr插件中输入你的机场即可完成所有子设备科学上网。

参考:

https://www.youtube.com/watch?v=mkJxDSMPlPU

https://www.youtube.com/watch?v=n0aqV8rbKmE

其他设置

使用ROS的DNS缓存机制以加快访问速度。

修改DHCP Server下发策略中DNS服务器为自己的IP

在DNS面板设置中勾选 Allow Remote Requests

不确定DNS缓存对于日常科学上网的影响,待长期使用后确认。

update Jul.24.2021:

更新:ROS的DNS缓存「可能」会影响科学上网以及非科学的上网,没有深究原因但看表现为DNS缓存中的数据是不正确的,导致每次链接第一次无法指向成功,需要等DNS缓存重新刷新才可以(例如google无法一次打开,重新多刷新两次后才可显示页面)。dhcp下发的dns服务器改为8.8.8.8可以缓解这个问题(没有根除),但对应customized的网址无法访问,但可以接受。

update Jul.24.2021:

再次更新:此方法会导致ssr的绕过大陆IP地址策略无效,已revert。 同未深究,也拍脑袋想不出为啥来。

update Oct.31.2021:

更新:youtube有速度但并不加载视频的原因,网上大部分说法有:IPV6 DNS导致的问题、DNS缓存导致的问题、TCP长链接触发了youtube防盗链的机制。

对前两者其实并不理解,ssr本身链接应当是远端节点负责查询DNS并解析,此处应当已经没有DNS污染的情况了。即便本地存在了缓存等问题,应当也不会影响远端的访问。

对第三个解释可以理解,但应当也只是出现在更换节点之后。

即便如此,我还是按照一些人提到的,更换DNS(both本地和ssr的设置)为防污染的DNS网址(具体可以查询https://dns.iui.im/

目前看相关问题被规避掉了。

update Nol.7.2021:

更新:目前增加了:关闭ldap的Turbo ACC中dns缓存加速策略,以及关闭了chrome浏览器的 secure dns选项。

update May.3.2022:

更新:在淘宝购买光猫替换了当前移动送的,网速有显著提升。

update May.3.2022:

更新:上述地址无法访问的问题未再出现,但仍然不知道原因是什么。

AP面板

AP面板组网方案

AP面板供电方式分为两种:PoE供电(需要PoE路由器/交换机)和火零线直接供电(需要预留电源)。AP面板的工作模式分为FIT和FAT两种工作模式:FIT模式需要AC终端(各品牌自己的路由器)对所有的AP进行全局配置;FAT模式下各个AP独立工作,需要手动将他们设置成同样的SSID和网段以达到组网的目的。

在装修时使用了西门子的AP面板,此面板为直接供电,且只有FAT模式。该面板最大的问题在于带宽只有300MBps(实测只有 50MBps)。

因此决定全部替换成千兆AP面板。

目前市面上支持千兆AP面板,且满足86网线插座规格的只有TP-Link。其只通过PoE进行供电。因此我需要将现在所有西门子面板拆下后用电工胶布绝缘好火零线。又考虑到我本身已有路由器,所以只需要PoE交换机即可,各个AP面板工作在Fat模式下。

因此选购了TP的 1x5口PoE交换机、3xAP面板、1xIPTV AP面板。其中移动机顶盒只能通过连接光猫第二个口的方式进行电视频道接入,所以电视柜的AP面板选用了支持IPTV透传的型号。

AP面板设置

此处三个3.0的面板因为有DHCP client,可以自动连接网段,进入后一个一个设置即可。

而2.0的面板没有DHCP client,管理地址写死http://192.168.1.254/。因此需要先单连上之后手动修改管理后台的IP地址才能进行统一管理。

影音设置

电视

需要为SONY电视安装Netflix客户端

https://netflix-inc-netflix.en.uptodown.com/android

Chromecast

连接HDMI并启动

下载Google Home(港区)

按照屏幕上的说明初始化设备

使用体验

设备汇总

软路由设备:3685U工控机

PoE交换机

普通AP面板

IPTV穿透AP面板