找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 736|回复: 8

openwrt 无法使iptv盒子鉴权

[复制链接]
发表于 2026-1-21 18:02 | 显示全部楼层 |阅读模式

家里的网络情况如图!! 目前是使用ip路由的来定位也无法鉴权,头大!!使用爱快就可以正常鉴权。


config interface 'iptv'
        option proto 'dhcp'
        option device 'eth1' # 注意你的网络接口
        option hostname 'android-dhcp-9' # 替换为你的hostname
        option macaddr '10:55:xx:xx:xx:xx' # 替换为你机顶盒的mac地址,当然也可以不填,上述hostname后12位需要填写接口生成的mac地址
        option sendopts '0x3c:00001fxxxxx' # 替换为你的hex内容就是上面的Option: (60) Vendor class identifier,注意: 应该是00001F开头的内容
        option defaultroute '0' # 不要开启默认路由


电视盒子的IP是192.168.31.137

防火墙是nftable的!所以不使用mwan3

# 单条命令解决(重启后失效)ip route add 10.75.xx.0/20 dev eth1 table 100ip rule add from 192.168.31.137 table 100 priority 1000弄个路由表也不行。似乎搞不了!

本帖子中包含更多资源

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

×
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
发表于 2026-1-21 19:38 | 显示全部楼层
Gemini说的,你参考下:


路由冲突:IPTV 盒子(192.168.31.137)默认网关指向主路由。主路由的默认路由是 PPPoE(拨号上网)。当盒子尝试访问运营商鉴权服务器(通常是 10.x.x.x 或类似内网段)时,流量走了 PPPoE 口,运营商服务器识别到非法来源,鉴权失败。

缺少 SNAT(源地址转换):即使流量成功从 iptv 接口发出,如果 nftables 没有针对 iptv 接口设置伪装(Masquerade),报文的源 IP 依然是 LAN 端的 192.168.31.137,运营商内网无法回程。

iKuai 为什么可以?:iKuai 的“静态路由”或“策略路由”配置非常直观,通常用户勾选了“分流”到 IPTV 线路,它会自动处理路由和 NAT 映射。在 OpenWrt 中,这需要手动配置策略路由(PBR)。

解决方案:策略路由 + nftables 映射
由于不使用 mwan3,我们需要通过 ip rule 和自定义路由表来实现。

第一步:创建 IPTV 专用路由表
在 OpenWrt 终端执行,或写入 /etc/rc.local 确保重启生效:

Bash
# 创建一个名为 100 的路由表(编号可选)
# 获取 iptv 接口的网关 IP (假设接口名为 eth1 或 br-iptv,此处需替换为实际获取到 10.75.X.X 的接口)
IPTV_GW=$(ip route show dev eth1 | grep default | awk '{print $3}')

# 将 iptv 接口的所有内网路由同步到表 100
ip route add default via $IPTV_GW dev eth1 table 100
第二步:配置策略路由 (Policy Routing)
强制 IPTV 盒子的 IP(192.168.31.137)所有流量(或特定目的地流量)走表 100:

Bash
# 凡是来自盒子 IP 的流量,查询表 100
ip rule add from 192.168.31.137 table 100
第三步:配置 nftables 进行 SNAT
在 OpenWrt 22.03+ 中,编辑 /etc/nftables.d/ 下的自定义脚本,或通过 fw4 的 custom_rules 增加:

代码段
# 在 nat 表的 postrouting 链中增加伪装
chain iptv_nat {
    type nat hook postrouting priority srcnat; policy accept;
    oifname "eth1" masquerade
}
注:oifname 后面的 eth1 请替换为获取到 10.75.x.x IP 的实际物理接口或逻辑接口名。

针对该用户具体配置的优化建议
根据图中提供的 config interface 'iptv' 截图,用户已经正确配置了 Option 60 (sendopts) 和 MAC 克隆,这是成功拿到 10.75.x.x IP 的前提。

关键补充:

防火墙区域设置: 在 /etc/config/firewall 中,必须将 iptv 接口划入一个防火墙 Zone(通常新建一个名为 iptv 的 zone),并设置:

input: REJECT

output: ACCEPT

forward: REJECT

masq: 1 <-- 这一步非常关键,它会自动生成上述 nftables 的 masquerade 规则

允许 lan 到 iptv 的转发。

DNS 问题: IPTV 鉴权有时依赖运营商下发的 DNS。建议在 DHCP 设置中,为 192.168.31.137 这个 IP 分配特定的 DNS(即运营商在 iptv 接口下发的 DNS 地址),否则盒子解析不到鉴权服务器域名。

总结操作清单
在 网络 -> 防火墙 中为 iptv 接口开启 IP 动态伪装 (Masquerading)。

确保 lan -> iptv 的 转发 (Forward) 是允许的。

使用 ip rule 命令将盒子的流量重定向到 iptv 接口的路由表。

您可以询问该用户: 是否已经在防火墙界面给 iptv 接口勾选了“IP 动态伪装”?这是不使用 mwan3 时最容易忽略的一步。

点评

谢谢你给方案,最后一步确实没弄。。我有空我再试试  详情 回复 发表于 2026-1-21 22:33
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2026-1-21 22:33 | 显示全部楼层
我追着你马超 发表于 2026-1-21 19:38
Gemini说的,你参考下:

谢谢你给方案,最后一步确实没弄。。我有空我再试试
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2026-2-2 11:44 | 显示全部楼层


eth1是IPTV的接口,防火墙是新建1个,名称是IPTV

本帖子中包含更多资源

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

×
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2026-2-2 11:48 | 显示全部楼层




防火墙配置和通信规则要配置

本帖子中包含更多资源

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

×
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2026-2-2 11:54 | 显示全部楼层
进入ssh创建脚本
vi /etc/init.d/custom_routes

输入代码


#!/bin/sh /etc/rc.common

START=99
STOP=10

start() {
    echo "1"

    # 等待网络接口完全就绪
    sleep 15

    # 1. 添加路由表200的路由
    ip route add default via 10.75.x.x dev eth1 table 200 #必须获取了iptv的网段,x.x更改为你iptv的网段
    ip route add 192.168.188.0/24 dev br-lan table 200 #你lan口的网段
    ip route add 10.0.0.0/8 dev eth1 table 200 #eth1的端口
    ip route add 224.0.0.0/4 dev eth1 table 200  #eth1的端口

    # 2. 添加策略路由规则
    ip rule add from 192.168.188.137 table 200 pref 10000 #这个是你盒子的ip

    # 3. 配置网卡参数
    ethtool -K eth1 gro off  #这个是解决iptv卡的问题

    echo "ok"
}

stop() {
    echo "2"

    echo "ok"
}



只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2026-2-2 13:12 来自手机 | 显示全部楼层
看不懂你在搞什么,这种东西我都是直接一个vlan连过去的,到不了三层。

点评

确实是vlan最好。。本来是安装爱快的,还了opewrt不太会玩。  详情 回复 发表于 2026-2-2 13:33
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2026-2-2 13:33 | 显示全部楼层
wq881103 发表于 2026-2-2 13:12
看不懂你在搞什么,这种东西我都是直接一个vlan连过去的,到不了三层。

确实是vlan最好。。本来是安装爱快的,还了opewrt不太会玩。

点评

我对新版的openwrt 也不是很了解,主要是使用19.07版本。 我用的newifi 3 路由器本身都是支持vlan的,在网络_交换机那里就可以配置。 看下面这一段: 之后版本的openwrt的接口管理大改,去掉了交换机管理界面,也许  详情 回复 发表于 2026-2-2 15:58
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2026-2-2 15:58 来自手机 | 显示全部楼层
children009 发表于 2026-2-2 13:33
确实是vlan最好。。本来是安装爱快的,还了opewrt不太会玩。

我对新版的openwrt 也不是很了解,主要是使用19.07版本。
我用的newifi 3 路由器本身都是支持vlan的,在网络_交换机那里就可以配置。
看下面这一段:
之后版本的openwrt的接口管理大改,去掉了交换机管理界面,也许可以给更多的机型支持vlan。
到了最新的版本又改回到了早期的交换机管理界面,我这里没有做相关测试,意见仅供参考。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /2 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2026-8-23 19:09

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 电话:13506125623

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