找回密码
 立即注册
查看: 246|回复: 29

软路由 No! 万兆硬路由+ROS交换机IPTV踩坑笔记 (ER2260T+CRS309)

[复制链接]

1964

主题

0

回帖

1964

积分

金牌会员

积分
1964
发表于 2023-6-11 11:10:37 | 显示全部楼层 |阅读模式
起因是很快要准备装修改造线路, 都21世纪20年代了再不上光就说不过去了。初期考察了不少方案, 包括各种网吧机、软路由、交换, 最终选定ER2260T 和 CRS309的硬路由+ROS交换机的组合。ER2260T是能买到的最便宜的万兆硬路由 (820r~), CRS309(1600r~)因为可以跑RouterOS和SwitchOS, 既可以做纯交换机也当路由器, 可玩性很高所以看上了。除此之外TP的TL-ST5008F(850r~)也是带网管全光的性价比很高的选择。带网管是为了IPTV设置VLAN和组播相关。选的两款都是无风扇被动散热, 尺寸能塞进大部分弱电箱, 非常适合家用。

▲路由器+交换机, 大小对比

▲PCIe网卡外接, 见以前的帖子

除了主菜以外, 剩下的材料包括:
        1) TP-Link NT521F 单口万兆光卡, AQC100方案, 非AQC107, 仅支持1G/10G, 不支持2.5G。到手还刷了新的固件。 全新 ~200r
        2) Mellanox CX341a 洋垃圾单口万兆光卡 ~130r。买两种网卡测试兼容性 (因为路由是TP的)
        3) Huawei 10G-1310nm-1.4km-SM-SFP+ 光模块 ~15r/pcs
        4) 成品LC-LC单模光纤跳线若干, 单芯约0.6r/m, 因为万兆模块要接两根, 所以实际是1.2r/m
        5) Raisecom USFP-GE/AN-R千兆自适应电口模块。同方案(Marvell 88E111)的很多, 像Avago ABCU-5731ARZ, 因为要求不高而且这玩意基本用不坏, 就挑最便宜的买, ~35r/pcs
        6) Huawei MA5671a ONU (GPON Stick/猫棒), 资料比较多就买了这款, ~140r/pcs

以上全部都是黄鱼采购的价格。TP在淘宝都是指导价, 注意避坑。

构思的主要是单线复用的方案, 即路由及交换机之间只有一根线, 因为考虑到未来弱电箱不会太大。想到两种接法:
        1) 猫棒接路由器光口1, IPTV机顶盒接到路由器电口, 然后一根光纤连接路由器光口2和交换机。这种比较简单, 但因为TP的路由器的网桥缺少组播相关选项, 经过若干失败的尝试没有采纳(后面排查发现可能是别的原因)
        2) 猫棒、IPTV、电口模块全都接到MikroTik的交换机上, 配置VLAN单线接到路由器。这样做的好处是ROS有比较完善的VLAN/IGMP相关设置, 而且也可以利用弱电箱内原有的电口线材, 到时候只要铺设一根光纤到外部机柜(放置路由及其他设备)即可。

然后就是VLAN的划分与配置了。坐标020, 运营商是中国移动, 上网业务VID 41, IPTV IPoE VID 48, 直播源组播VID 900。猫棒设置如下



不设置PVID, 等下直接配置到trunk端口上。注意右侧的ME:309规则, 本市这里不勾选的话组播流只有数KB/s。VID一般根据当地地市而定, 可以从光猫原始设置查得, 不再赘述。

ROS配置如下
        1) VLAN 48是IPTV专用, 将SFP7口的PVID设置为48并接机顶盒。
        2) VLAN 50专门用来访问猫棒。不打算更改猫棒的默认地址以免出事, 而且默认设置192.168.1.10/24 网关192.168.2.1本身也是很有槽点 :D 之前接路由器的时候不配置VLAN可以直接NAT, 现在想将所有路由功能放到路由器, 暂且这么处理。需要访问猫棒管理web的时候将相应的端口PVID设置成50即可。
        3) 填好VLANs表, 配置好各端口PVID后开启桥上的VLAN Filtering (注意不要勾选Ingress Filtering)。桥上的IGMP Snooping经测试开关无太大影响, 因为本身万兆线速的总交换容量, 加上根据VLAN ID=48进行存储转发, 不开也基本无伤大雅。







重点是路由器的配置。此前有讨论帖提到ER2260T只能建一个网桥 (https://www.chiphell.com/forum.php?mod=viewthread&tid=2408711&page=8#pid50175273) 。实际上通过拆解Web管理的http请求并模仿构造就可以创建多个网桥, 并可以将VLAN虚接口绑定到网桥上并打Tag。盲猜相似硬件的ER6160T带Console口可以通过终端进行配置。TP这里真的不厚道。





具体设置为
        1) 在上连交换机的光口上创建VID 41, VID 100的虚接口。
        2) 在同一个物理接口上创建PPPoE连接, 接口指向VLAN 100。



其余的设置DHCP, NAT, SLAAC不再赘述, 可以使用快速设置, TP官网有比较详细的文档。

然后重点来了, 打开浏览器DevTools, 找到stok, 构造HTTP请求, 将VLAN 100加入网桥。注意代码中的bindif项, 在这里追加你的VLAN虚接口即可。加完效果如图,下拉列表里V100是选不了的。增加第二个网桥的HTTP请求类似, 将method的set改成add即可。可以抓第一次添加网桥的http进行分析构造, 不再赘述。



性能之类的就不测了, 硬交换肯定能线速转发, MikroTik官网有详细数据。倒是这款交换机做路由的话单纯包转发性能最高只有1280Mbps, 加上NAT后肯定更差, 可以拿来应付普通几百兆宽带, 千兆以上建议还是能上硬路由硬路由吧。ER2260T的性能测试在acwifi上有, 小包也是没能跑满万兆的 , 但比同价位软路由也好不少。这也是选择硬路由的重要原因: 稳定、可靠、性价比。

最后放几张测速图, 移动没得多拨, 上传垃圾(







感谢阅读。附请求HTTP样本, 请自行替换<SESSION_TOKEN>为当前浏览器会话的stok (见Network选项卡), 将bindif修改为自己的, 粘贴到Console执行即可。
  1. var req = fetch("https://192.168.1.1/stok=<SESSION_TOKEN>/ds", {    "headers": {        "accept": "text/plain, */*; q=0.01",        "accept-language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",        "cache-control": "no-cache",        "content-type": "application/json; charset=UTF-8",        "pragma": "no-cache",        "sec-ch-ua": ""Chromium";v="104", " Not A;Brand";v="99", "Microsoft Edge";v="104"",        "sec-ch-ua-mobile": "?0",        "sec-ch-ua-platform": ""Windows"",        "sec-fetch-dest": "empty",        "sec-fetch-mode": "cors",        "sec-fetch-site": "same-origin",        "x-requested-with": "XMLHttpRequest"    },    "referrer": "https://192.168.1.1/",    "referrerPolicy": "strict-origin-when-cross-origin",    "body": '{"method":"add","network":{"table":"bridge","para":{"if_name":"TV","bindif":["GE1","GE2","V48"],"configif":"GE1","stp":"1"}}}',    "method": "POST",    "mode": "cors",    "credentials": "omit"});
复制代码

Ref:

1) https://www.acwifi.net/19935.html
2) https://www.chiphell.com/thread-2408711-1-1.html
3) https://help.mikrotik.com/docs/display/ROS/Bridge+VLAN+Table

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

0

主题

961

回帖

0

积分

新手上路

积分
0
发表于 2023-6-11 11:19:37 | 显示全部楼层
占楼补充

1. 网络拓扑图
不一定准确, 上次画这种图是四五年前的计网作业了, 大家看个意思就行 (
TOPO


2. 没有交换机也可以把IPTV 的VLAN 通出来吗? 答案是可以的。
在连接猫棒的光口(比如10GE1)里面配置多个以太网虚接口指定不同VLAN ID (我的情况是VLAN48-IPTV, VLAN41-Internet), 然后通过构造HTTP请求的方式创建新网桥TV, 将要连接机顶盒的千兆物理端口(比如GE1)和VLAN48(注意勾选UNTAG)绑到网桥TV上即可。这也就是接法(1)。当初失败应该归因为ME309的开关没有打开。

需要注意的是, 经过实验发现, 即使是通过构造HTTP请求的方法, 一个网桥上不能绑定超过1个VLAN虚接口, 否则很有可能路由器不工作。这也是折腾下来唯一一次重置路由器出厂设置的原因。
另外这同时意味着猫棒设置里的"下行组播VLAN转换"不能关掉, 因为整个TV桥的PVID只有一个, 如果将VLAN900(组播)和VLAN48(IPoE)都绑到网桥上就会导致上述不工作的状况。所以猫棒按照1L的图里设置是比较保险的。

3. 拨号相关, 这个在坛友nn1122在张大妈上的帖子《2.5G猫棒另一搭配神器---TP-LINK TL-ER2260T万兆路由上网配置指南》里有比较详细的描述, IPv6的部分可以参考TP自己的文档:
https://smb.tp-link.com.cn/service/detail_article_4370.html

4. 访问猫棒相关
1L中的做法其实比较繁杂。事实上没有必要单独划VLAN50给猫棒访问。如果你和我一样采用接法(2), 一个更好的做法是在CRS309上为VLAN100虚接口配置两个地址, 分别对应猫棒网段和路由器在LAN网桥的网段 (比如猫棒默认是192.168.1.10/24, 路由器在LAN桥上的地址是192.168.3.1/24, 那就在CRS309的VLAN100上配置192.168.1.200/24、192.168.3.100/24), 然后开启转发 (IP->Settings->IP Forward) , 在ER2260T中添加静态路由(伪码)
  1. route add 192.168.1.0/24 via 192.168.3.100 if LAN metric 5
复制代码
即可访问猫棒。

如果你是采用接法(1), 即猫棒直接接在路由器10GE1口上, 那么只需要在10GE1物理接口上配置地址192.168.1.100/24, 路由器就会自动添加静态路由。

因为默认猫棒没有设置网关, 所以上述两种接法如果在不更改猫棒设置的情况下还需要做一次NAT( (1)在ER2260T上做, (2)在CRS309上做 )。为了方便起见建议还是把猫棒的网关设置成相应网段上的路由设备地址。

TBC...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复 支持 反对

使用道具 举报

0

主题

981

回帖

0

积分

新手上路

积分
0
发表于 2023-6-11 11:26:00 | 显示全部楼层
你这折腾程度不亚于软漏油了
回复 支持 反对

使用道具 举报

0

主题

987

回帖

0

积分

新手上路

积分
0
发表于 2023-6-11 11:34:07 | 显示全部楼层
够硬核,目前rb750gr3 200M还能再战,等上500M也搞个来折腾
回复 支持 反对

使用道具 举报

0

主题

929

回帖

0

积分

新手上路

积分
0
发表于 2023-6-11 11:43:15 | 显示全部楼层
目标达到了就挺好的,就是这过程看的脑仁疼
回复 支持 反对

使用道具 举报

0

主题

982

回帖

0

积分

新手上路

积分
0
发表于 2023-6-11 11:49:28 | 显示全部楼层
crs309打开l3hw 三层转发可以线速,同时支持nat硬件加速,但是不支持pppoe offload,pppoe还是需要cpu硬抗(极限大概在600m),所以不太适合用来拨号。
回复 支持 反对

使用道具 举报

0

主题

993

回帖

0

积分

新手上路

积分
0
发表于 2023-6-11 11:52:09 | 显示全部楼层
er2260T 可以多个桥接的话,方案1应该也可以实现吧?
回复 支持 反对

使用道具 举报

0

主题

1061

回帖

0

积分

新手上路

积分
0
发表于 2023-6-11 11:55:18 | 显示全部楼层
是的, 照方案1设置完后除了组播都可以工作了, 组播流只有数KB/s的速度。后来排查应该是猫棒上的ME309的开关没开。
回复 支持 反对

使用道具 举报

0

主题

981

回帖

0

积分

新手上路

积分
0
发表于 2023-6-11 12:03:14 | 显示全部楼层
为啥不买一整套的MikroTik CSS610-8G-2S+IN,也是双口万兆,才6xx¥
回复 支持 反对

使用道具 举报

0

主题

941

回帖

0

积分

新手上路

积分
0
发表于 2023-6-11 12:06:55 | 显示全部楼层
CSS是纯交换, 配CSR做路由器也不是不行。我的想法是路由器做路由, 交换做交换的事情, 所以专门买的TP的硬路由。CSR也能做路由器, 不过就像上面提到的, 将来性能不太够。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|翻墙党

GMT+8, 2026-9-25 20:49 , Processed in 0.094671 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表