0%

软路由折腾记-中篇

书接上文,这篇将主要阐明在路由器里运行哪些服务和插件,并重点记录下魔都IPv6网络和IPTV收看的配置要点。

服务和插件🌟

  • PPPoE拨号
  • IPv6网络
  • IPTV收看和转单播
  • DNS防污染和加密
  • 科学上网
  • Alist网盘
  • DDNS映射
  • KMS服务器
  • HomeAssistant设备跟踪
  • Wireguard回家

准备工作🔑

  1. 光猫改桥接,致电10000,向客服申请下,然后重启光猫即可;
  2. 刷入OpenWrt固件的软路由,这里使用的版本是QWRT R24.3.3;
  3. 获取到拨号上网的账号和密码。

开始配置🛠️

SSH登录路由器,输入以下代码,解锁显示科学上网

Unlock SSR & OpenClash
1
echo 0xDEADBEEF > /etc/config/google_fu_mode

以下未提及的配置皆为默认:

修改WAN口配置

  • 协议:PPPoE
  • 设备:eth0(本人eth0连光猫,请以自己实际情况为准)
  • 开机自动运行:勾选
  • PAP/CHAP 用户名:PPPoE账号
  • PAP/CHAP 密码:PPPoE密码
  • 高级设置-获取 IPv6 地址:手动(不自动生成Wan6,使用固定的Wan6接口。)

配置WAN6接口:

  • 协议:DHCPv6客户端
  • 开机自动运行:勾选
  • 请求IPv6地址:try
  • 请求指定长度的IPv6前缀:自动
  • 物理设置-自定义接口:pppoe-wan

配置LAN接口:

  • 物理设置-启用 IGMP 嗅探:勾选 (后续IPTV配置需要
  • IPv6 分配长度:60 (请以自己实际情况为准)
  • DHCP服务器-IPv6设置:前三项“混合模式”
  • DHCP服务器-IPv6设置-DHCPv6模式:无状态的+有状态的
    alt text

至此已经可以正常访问内外网🎉,并有了IPv6网络环境,可以打开https://ipw.cn/ 测试查看。

配置IPTV📺

添加IPTV85接口

  • 名称:iptv85
  • 协议:DHCP客户端
  • 桥接:勾选
  • 自定义接口:eth0.85, eth1.85, eth2.85(添加所有端口的VLAN方便盲插IPTV)
  • 开机自动运行:勾选
  • 高级设置-使用默认网关:勾选
  • 高级设置-使用网关跃点:20(大于0即可)
  • 防火墙设置-创建/分配防火墙区域:lan

添加IPTV51接口

  • 名称:iptv51
  • 协议:不配置协议
  • 桥接:勾选
  • 自定义接口:eth0.51, eth1.51, eth2.51(回看要用到vlan,不确定是否有用,加不加都可以)
  • 防火墙设置-创建/分配防火墙区域:lan

修改dnsmasq.conf

SSH远程到路由器,修改/etc/dnsmasq.conf文件,添加以下内容并保存。

dnsmasq.conf
1
2
3
4
dhcp-option-force=125,00:00:00:00:1a:02:06:48:47:57:2d:43:54:03:04:5a:58:48:4e:0a:02:20:00:0b:02:00:55:0d:02:00:2e
dhcp-option=15
dhcp-option=28
dhcp-option=60,00:00:01:06:68:75:61:71:69:6E:02:0A:48:47:55:34:32:31:4E:20:76:33:03:0A:48:47:55:34:32:31:4E:20:76:33:04:10:32:30:30:2E:55:59:59:2E:30:2E:41:2E:30:2E:53:48:05:04:00:01:00:50

重启dnsmasq服务后,IPTV机顶盒便可以使用了,直播和回放均正常。

强制IGMPv2

修改/etc/sysctl.conf 文件,添加以下内容保存,强制使用IGMPv2,可以不开IPTV机顶盒也能播放

sysctl.conf
1
net.ipv4.conf.all.force_igmp_version=2

设置MSDLudpxy插件

配置Multi Stream Daemon Lite,这款插件据称比udpxy更省运行资源。 试用了一周,IPTV播放一卡一卡的,还是切换回用udpxy

  • 启用:勾选
  • 状态:勾选(可通过http://ip:4022/status,查看运行状态)
  • Bind IP/Interface:br-lan(lan接口请根据实际情况调整)
  • 端口:4022
  • Source IP/Interface: br-IPTV85(vlan接口请根据实际情况调整)
  • Buffer size:2097152
    udpxy
    到了这里,组播转单播也工作了,根据自己的网络,更新这个m3u文件,就是把192.168.50.254批量替换成你自己的路由器IP地址。

便捷配置🔄

若你正好也正巧也是使用同款固件或者Lean大佬的其他版本,可以根据自身硬件修改以下配置文件,保存后重启设备生效。

vi /etc/config/network

network
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'

config interface 'lan'
option type 'bridge'
option ifname 'eth1 eth2'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option delegate '0'
option ipaddr '192.168.50.1'
option igmp_snooping '1'

config interface 'wan'
option ifname 'eth0'
option _orig_ifname 'eth0'
option _orig_bridge 'false'
option proto 'pppoe'
option username 'ad1234'
option password '12345678'
option keepalive '0'
option ipv6 '1'

config interface 'wan6'
option ifname 'pppoe-wan'
option _orig_ifname 'pppoe-wan'
option _orig_bridge 'false'
option proto 'dhcpv6'
option reqaddress 'try'
option reqprefix 'auto'

config interface 'IPTV85'
option type 'bridge'
option proto 'dhcp'
option hostname 'zte'
option metric '20'
option _orig_bridge 'true'
option ifname 'eth0.85 eth1.85 eth2.85'
option _orig_ifname 'eth0.85 eth1.85 eth2.85'
option broadcast '1'

config interface 'IPTV51'
option type 'bridge'
option proto 'none'
option auto '1'
option _orig_ifname 'eth0.51'
option _orig_bridge 'true'
option ifname 'eth0.51 eth1.51 eth2.51'
option delegate '0'
option igmp_snooping '1'

参考文档📑

上海电信 猫棒/光猫桥接 OpenWrt下实现 Internet+IPTV+udpxy+VoIP
Shanghai-Telecom-4k-iptv-with-merlin
上海电信光猫桥接+IPTV 配置方法.-Openwrt软路由