由于运营商提供的 IPTV 网络不能够访问外网,而连通外网后看 IPTV 则需要占用公网带宽,在此背景下。通过一晚上的努力下,实现了通过 OpenWRT 替代机顶盒,直接通过 IPoE 认证,从而直接获得机顶盒私有网络 IP ,能够在路由上进行分流。
方法包括但不限于带有端口镜像功能的交换机、tcpdump 等等,此处各显神通,不再赘述。
此处以 wireshark 举例
ssh 到 openwrt ,修改文件/etc/config/network
,找到上一步创建接口的相关配置项,内容如下
interface 'IPTV'
option proto 'dhcp'
option macaddr 'aa:bb:cc:dd:ee:ff'
option delegate '0'
option metric '20'
option hostname 'HOSTNAME'
option device 'lan1'
option sendopts '0x37:01792103060c0f1a1c2a33363a3b77'
option vendorid 'VENDORID'
如果 option 60 ,即 Vendor Class 填入的是 ASCII 字符,则不需要进行此部分操作。
/lib/netifd/proto/dhcp.sh
${vendorid:+-V "$vendorid"} \
${vendorid:+-V "" "-x 0x3c:$vendorid"}
保存文件,重启端口即可。
如果在操作过程中,使用无法正常获取到 IP ,可以在 openwrt 中执行tcpdump -i lan1 port 67 or port 68 -vvv
(其中 lan1 为实际网口名)用于辅助对比 wireshark 中的数据,查看是否缺少了某些 option
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.