11

routeros 里该怎么禁止某些域名访问呢

 1 year ago
source link: https://www.v2ex.com/t/916223
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  宽带症候群

routeros 里该怎么禁止某些域名访问呢

  linuxgo · 17 小时 8 分钟前 · 923 次点击
家里买的长虹电视真是把我整疯了,每次开机都提示固件升级(一旦升级就没法安装三方软件),也没有地方可以关掉升级。想在 routeros 中过滤掉升级检查,但是在网上搜了一遍,都没找到什么有效的方法
我现在是在 firewall 里添加了一个地址列表,然后在 filter 里添加规则,但是没什么鸟用,问问大家究竟要怎么做呢?

我的规则是
chain=input action=drop dst-address-list=blockweb
28 条回复    2023-02-15 22:27:46 +08:00
chinni

chinni      17 小时 1 分钟前 via Android

1.用 forward 表 2.用 sni 匹配比 ip 颗粒度更加细
dsgdsfh

dsgdsfh      16 小时 17 分钟前

我是树莓派搭建 DNS ,然后 DHCP 设置树莓派 ip ,直接 DNS 写规则屏蔽
sylviaweissenba

sylviaweissenba      16 小时 15 分钟前

vi /etc/hosts
ouqihang

ouqihang      16 小时 14 分钟前 via Android

用 input 应该不对,input 是从外网进内网。
ych8398527

ych8398527      16 小时 0 分钟前

ip->dns->static 把域名直接解析到 127.0.0.1
linuxgo

linuxgo      15 小时 49 分钟前

@dsgdsfh #2 你说的是设置客户端静态 ip ,再阻止这个 ip 地址吧,但是那样的话所有网站都不能访问了
linuxgo

linuxgo      15 小时 48 分钟前

@ouqihang #4 layer7 我看到说不能用来屏蔽域名,非常消耗资源而且没有效果
linuxgo

linuxgo      15 小时 45 分钟前

@ouqihang #5 我改成 forward 试试
mac100

mac100      15 小时 33 分钟前

添加一个旁路由吧。ros 管 IP 分流 OP 管域名分流 。完美
Ruslan

Ruslan      13 小时 39 分钟前

配置 DNS 劫持,把 53 端口劫持到你自己内网的 DNS 服务器,在自己 DNS 服务器把域名解析到 127.0.0.1
wwbfred

wwbfred      12 小时 43 分钟前 via iPhone

家用需求该是上 OP 吧,ROS 不是这个场景的,有些家庭基础功能到 ROS 里变成了折腾功能。OP 里 dnsmasq 直接写 0.0.0.0 就行了。
qfdk

qfdk      12 小时 20 分钟前 via iPhone

建议来个 aurgard home 然后 ip 设置成 3.7.2.1 想怎么玩儿就咋玩儿
datocp

datocp      12 小时 7 分钟前

这种对于 openwrt 就简单了
直接 dnsmasq
address=/qq.com/127.0.01 #这个地址还是是比 0.0.0.0 更可靠,消亡时间更快。之前是解决 office2016 升级用。

其它的就是对电视进行分析它连哪些外部 ip 域名,然后用 nslookup 之类的取得 ip 。以目前 CDN 的存在这种方式误伤率相当高的。又是 dnsmasq 更灵活调用 ipset ,ipset=/qq.com/BdstIP
然后
iptables -p tcp -s 电视 ip -d 升级 ip -j -j REJECT --reject-with tcp-reset
iptables -s 电视 ip -d 升级 ip-j REJECT --reject-with icmp-net-unreachable

哈哈,ros 真看不上。哪有原生 linux 好用。随便搞个优酷 yk1 也能跑满 100mbps 。没有 1000mbps 带宽,不知道 erx 能带多大的带宽。
datocp

datocp      12 小时 6 分钟前

iptables -p tcp -s 电视 ip -d 升级 ip -j REJECT --reject-with tcp-reset
iptables -s 电视 ip -d 升级 ip -j REJECT --reject-with icmp-net-unreachable
mrzx

mrzx      10 小时 29 分钟前

@chinni 请问 sni 匹配是什么类型匹配?
3dxfood

3dxfood      10 小时 22 分钟前   ❤️ 1

@mrzx firewall 策略里有 tls-host 字段,可以定向匹配出 https 流量的 sni 。
3dxfood

3dxfood      10 小时 18 分钟前

可以用 ros 做 dns server ,dns static 里写黑洞 A 记录;或者 ros 里 DNS server 写旁路 op 地址,用 op 来做。
mrzx

mrzx      10 小时 2 分钟前

@3dxfood 谢谢,大致理解了。

routeros 大概通过 3 种方式来解决这个 UP 的需求。
1.采用 DNS 劫持的方式,将不想访问的站点直接解析成错误的 IP ,让广告失效。DNS 劫持的工作可以由 routeros 的 dns 功能做,或者 openwrt 固件的路由器来做?

2.通过 layer7 识别方式来写,感觉这个难度最高,怎么写才能屏蔽广告,如果有对应的例子就能理解了,看了一下楼上提供的官网例子,没看懂。。。

3.通过你们说的 sni,我搜了半天才了解 sni 是什么,“在 HTTPS 中,先有 TLS 握手,然后才能开始 HTTP 对话。如果没有 SNI ,客户端将无法向服务器指示正在与之通信的主机名。” 然后利用 routeros 强大的 sni 匹配功能,将主机名匹配起来,在决定 drop 和放行.
mrzx

mrzx      9 小时 37 分钟前

layer7 语法搜了好久,大概理解了。
大致是先用 wireshark 抓包,抓取数据流用的 data 部分,比如 V2EX 在数据流的十六进制就是 76 32 65 78 ,在通过在 routeros 里新建 layer7 匹配策略,在 Regex 语句匹配这些十六进制,可能正则表达式跟 iptables 之类的稍有些区别。。

比如十六进制 76 在 routeros 下就写成\76 ^代表数据包的开头 $代表数据包的结尾 匹配 V2EX 的,layer7 语法应该写成“^\76.+ \78$”

哪天在家里屏蔽老妈上拼多多试试。。。。
mrzx

mrzx      9 小时 35 分钟前

还有一点比较好奇的是,在 UP 主的 android 电视机上,用什么软件抓包? wireshark 肯定是没有的.tcpdump?那个需要 root 权限的。。。
linuxgo

linuxgo      9 小时 28 分钟前   ❤️ 1

@mrzx #21 tools->packet sniffer
mrzx

mrzx      9 小时 26 分钟前

@linuxgo 对哦,routeros 本身也支持抓包,今天帖子里的大佬们学到很多。。。
linuxgo

linuxgo      9 小时 8 分钟前

@3dxfood #18 我现在就是 ros 做 dns ,然后把国外的分流给 op 解析,我也看了 ros 的 dns static ,没看到如何添加 address-list ,一条条添加有点麻烦,因为总共有几十条地址要屏蔽
linuxgo

linuxgo      9 小时 5 分钟前

以前用 op 的 pw 的屏蔽网站功能很管用,但是 pw 的机场自动切换不好用,现在用的 openclash 又没地方加黑名单
3dxfood

3dxfood      8 小时 12 分钟前

@linuxgo 脚本做好,刷进 ROS 花不了一秒钟。我好奇你现在 ros 上的 DNS 分流怎么实现的?
mrzx

mrzx      6 小时 30 分钟前

@linuxgo 可以做好脚本,用命令行方式刷上去。
linuxgo

linuxgo      4 小时 48 分钟前

@3dxfood #26 你说的有道理,还是要用脚本更方便。我现在的 ip 分流是把 chinaip 做成一个 addresslist ,在 mangle 里把除了这些 ip 以外的 ip 都转发到 op 去解析和代理。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK