如何清除路由器上 DD-WRT 中的 DNS 缓存?
DD-WRT 使用 dnsmasq 守护进程。
我一直在到处寻找这个。有谁知道如何阻止 DD-WRT 路由器上的特定 URL?例如,我想阻止website.com/whatever但不想阻止website.com、blah.website.com、 或website.com/blah。有没有办法做到这一点,或者你只能阻止整个域?
我尝试在 DD-WRT 配置中的访问限制下添加有问题的 URL,但它似乎没有任何效果。这是我的设置:

这是客户名单:

我仍然可以在 IP 地址为 192.168.1.146 的主 PC 上轻松浏览到 google.com/imghp 和 google.com/images(重定向到 google.com/imghp)。
在DD-WRT wiki 的这个页面上,它说“在通过 URL 地址阻止网站下,输入您希望阻止的域名(如果有)。” 除了 DD-WRT 论坛上的帖子之外,这给我的印象是您只能在 DD-WRT 设置中的访问限制下阻止域。
我开始怀疑这个问题是否必须使用 iptables 来解决,或者可能通过在路由器本身上安装代理服务器来解决。
DD-WRT 论坛上的用户 goli 对此事有以下看法(链接):
有一个在 DD-WRT 上运行良好的 Privoxy 版本。我刚刚安装了它。
Privoxy 有一个参数“accept-intercepted-requests 1”,允许将其用作透明代理。
我添加了一个 iptables 规则,将一些网络流量请求传递给代理,而不是直接路由它:
Run Code Online (Sandbox Code Playgroud)iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -s 192.168.0.128/255.255.255.224 -j DNAT --to 192.168.0.1:8118Privoxy …
我的局域网上有几台机器。他们中的大多数基于 Ubuntu。路由器具有 DD-WRT (v3.0-r33675M kongac Release: 11/03/17) 固件。
我已将 DHCP 设置为为我所有的计算机提供网络设置。路由器已设置为使用 9.9.9.9 作为 DNS 服务器。
现在我想验证我的计算机是否使用 quad9 作为 DNS,但我无法这样做。我的电脑只能看到路由器,不知道它使用的是哪个 DNS。
例如,命令(在 Ubuntu 中)
sudo netstat -l --inet -n -v -p | grep :53 | grep -i udp
Run Code Online (Sandbox Code Playgroud)
给
udp 0 0 127.0.1.1:53 0.0.0.0:*
Run Code Online (Sandbox Code Playgroud)
所以我无法验证我是否以这种方式使用 quad9。
路由器无法识别此命令,因此我无法以这种方式验证 DNS 设置。
我已经在计算机和 DD-WRT 命令行中尝试了这篇文章中的内容,但没有任何帮助: 我使用的是什么 DNS 服务器?
如何正确验证我使用的是 quad9 的 DNS?
我有一个华硕 RT-N16 路由器,我已经用开源DD-WRT固件刷过了它。根据我的ssh登录信息,我正在运行:
DD-WRT v24-sp2 mega (c) 2010 NewMedia-NET GmbH
Release: 08/07/10 (SVN revision: 14896)
Run Code Online (Sandbox Code Playgroud)
我希望能够自定义 iptables 规则,但在此之前,我希望查看在操作浏览器/GUI 界面设置时配置的内置规则的输出。我知道浏览器界面中用于输入自定义防火墙规则的防火墙脚本选项卡,但我找不到可以看到输出的地方。
在成熟的 Linux 系统上,iptables 规则将存储在类似/etc/sysconfig/iptables. 我可以在 DD-WRT 文件系统上的哪里找到这些? 我可以
iptables -L -vn --line-numbers
Run Code Online (Sandbox Code Playgroud)
并查看它们的输出,但我正在寻找的更多的是iptables-save命令可能输出的内容......以便我可以将适当的规则合并到我的自定义脚本中。
我知道这个版本没有iptables-save命令。我不一定要命令本身,只需要它生成的输出。如果有类似的东西/etc/sysconfig/iptables,我不会在乎拥有iptables-save. 我已经看到可能有不同版本的 DD-WRT 提供类似的东西iptables-save,但我还没有准备好或愿意再次刷新路由器。也许作为最后的手段。
编辑:
在通常的启动脚本Linux的位置之类的,(例如/etc/init.d,/etc/rc...)似乎并不具有(在我已经安装了DD-WRT的构建至少)任何有用的东西。例如,看看/etc/init.d:
[/etc/init.d]# ll
-rwxr-xr-x 1 root root 84 Aug 7 2010 rcS
-rwxr-xr-x 1 root …Run Code Online (Sandbox Code Playgroud) 我希望能够向通过我的 DD-WRT 路由器的某些 URL 请求添加一个参数。具体来说,我想弄清楚如何在 Google 中强制进行安全搜索,这意味着我必须附加safe=on到任何以*google*.
我已经阅读了有关在充当代理的路由器上运行服务器的信息。然后在那台服务器上我可以使用 mod_rewrite 或类似的东西。我还阅读了有关使用 iptables 的防火墙规则的信息。这两个都超出了我的范围,但我似乎找不到任何真正的指导。
我的路由器上安装了 DD-WRT,我希望能够在某个 IP 或 Mac 地址上上下限制带宽。我很高兴弄脏我的手并使用控制台。
我确定iptables可以做到这一点?如果是这样,有人可以告诉我一个简单的例子吗?
我正在关注这个教程。但我卡在了第 9 步,不知何故我无法安装我的 USB。
每次我尝试安装 USB 时都会收到以下错误:
root@OpenWrt:~# mount /dev/sda2 /mnt/sda2
mount: mounting /dev/sda2 on /mnt/sda2 failed: Invalid argument
Run Code Online (Sandbox Code Playgroud)
USB 似乎正常并已连接,但不知何故我无法安装 sda2 (ext4) 分区。
分区似乎也没有问题:
root@OpenWrt:~# blkid
/dev/mtdblock2: TYPE="squashfs"
/dev/sda1: UUID="e39964e8-1b51-4b1f-b034-0147fa394eea" TYPE="swap"
/dev/sda2: UUID="157cfc0d-f33d-4103-950d-6ae01baa7177" TYPE="ext4"
Run Code Online (Sandbox Code Playgroud)
这是我的dmesg输出:
root@OpenWrt:~# dmesg | grep sda
[ 9.360000] sd 0:0:0:0: [sda] 7987200 512-byte logical blocks: (4.08 GB/3.80 GiB)
[ 9.370000] sd 0:0:0:0: [sda] Write Protect is off
[ 9.370000] sd 0:0:0:0: [sda] Mode Sense: 23 00 00 00
[ 9.370000] sd …Run Code Online (Sandbox Code Playgroud) 是否可以将带有某种 linux 固件的路由器和汽车中的笔记本电脑用作雷达探测器?