家里的电视联网主要是为了手机投屏,但电视本身会下载开机广告,能不能用路由器的 iptables 限制电视机 IP 只访问乐播投屏的网址?
想到了梯子的方法,把这些域名用iptables转到一个不在路由器里使用的端口里
log-queries=true
log-facility=/tmp/dnsmasq.log
log-queries=extra
然后用电视连接路由器,比如ip是192.168.2.200,在电视里看网络视频和操作(暂时不要用手机投屏到电视),过了一段时间后在查看路由器的dnsmasq日志,找到192.168.2.200这个ip访问过的网址。
sed -i '/from 192\.168\.2\.200/!d' /tmp/dnsmasq.log
server=/.aaa.ccc/127.0.0.1#53
ipset=/.aaa.ccc/tvlist
server=/.bb.ccc/127.0.0.1#53
ipset=/.bb.ccc/tvlist
conf-dir=/etc/storage/dnsmasq/adblock/tv.conf
blocktv.sh内容
#!/bin/sh
#加载一些模块,这个仅限我的路由器(刷的是padavan),你的路由器可能不需要。
modprobe ip_set_hash_net
modprobe xt_set
modprobe ipt_REDIRECT
# 将192.168.2.50和192.168.2.200添加到 tvlist 集合中
# 如果你有多个电视就增加相应的ip
ipset create tvlist hash:net
ipset add tvlist 192.168.2.50
ipset add tvlist 192.168.2.200
# port 1314,随便写不在路由器里使用的端口)
iptables -t nat -I PREROUTING -s 192.168.2.50 -p tcp -m set --match-set tvlist dst -j REDIRECT --to-port 1314
iptables -t nat -I OUTPUT -s 192.168.2.50 -p tcp -m set --match-set tvlist dst -j REDIRECT --to-port 1314
iptables -t nat -I PREROUTING -s 192.168.2.200 -p tcp -m set --match-set tvlist dst -j REDIRECT --to-port 1314
iptables -t nat -I OUTPUT -s 192.168.2.200 -p tcp -m set --match-set tvlist dst -j REDIRECT --to-port 1314
然后在你的路由器设置每次开机都执行这个脚本。
     1 
                    
                    yaott2020      2023-05-07 17:31:39 +08:00 via Android 
                    
                    你需要劫持 dns 
                 | 
            
     2 
                    
                    x86      2023-05-07 17:37:48 +08:00 via iPhone 
                    
                    爱快是可以写规则做白名单 
                 | 
            
     3 
                    
                    AndrewHenry      2023-05-07 17:44:21 +08:00 
                    
                    自建 dns 然后只设置解析乐博的域名 
                 | 
            
     4 
                    
                    emma3      2023-05-07 18:45:32 +08:00 
                    
                    看看是否能 ADB ,然后 disable 所以有关于广告的 apk ,我家的康佳就可以。 
                 | 
            
     5 
                    
                    azure2023us559      2023-05-07 21:01:09 +08:00 via Android 
                    
                    Iptables -I FORWARD -s tvip -j REJECT  
                禁止 tv 的 ip 数据包转发  | 
            
     6 
                    
                    opengps      2023-05-07 21:02:51 +08:00 
                    
                    不填写 dns + hosts 设置解析乐播即可 
                 | 
            
     7 
                    
                    deorth      2023-05-07 21:11:09 +08:00 via Android 
                    
                    能 
                 | 
            
     8 
                    
                    Puteulanus      2023-05-07 21:12:43 +08:00 
                    
                    现在的投屏好像是传个网址过去,投的设备自己下载视频播放,禁止所有网络访问的话这种是不是也下不到了 
                 | 
            
     9 
                    
                    aocif23   OP 目前这样解决,如果你有更好的方法请说一下。 
                 | 
            
     10 
                    
                    aocif23   OP #6  
                @opengps 电视没有 root ,不能修改 hosts #8 @Puteulanus 如果你是手机看本地视频,可以完全阻挡电视访问外网,目前是手机把视频连接传到电视让它播放,手机可以关闭 app 。  |