问题标签 [dnsmasq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
8289 浏览

dns - 如何防止 dnsmasq 将我的域名附加到无效的域请求中?

我使用dnsmasq来解析家庭网络上的 DNS 查询。不幸的是,如果一个域名未知,它会将我自己的域名附加到请求中,这意味着我最终总是在浏览器中查看我自己的网站。

例如,如果我在浏览器中输入http://dlksfhoiahdsfiuhsdf.com,我最终会使用该 URL 查看我自己的网站。如果我尝试类似:

而不是预期的:

我明白了:

显然,dnsmasq 将我的域名附加到不可能的名称请求中以解决它们,但我宁愿看到 not found 错误。

我尝试过使用扩展主机配置设置,但无济于事。还有什么我可以尝试的吗?

0 投票
1 回答
242 浏览

c - 查询服务是否正在运行

如何在 C 中查询服务 (dnsmasq) 是否正在运行?

0 投票
1 回答
3954 浏览

macos - 如何从 Mac 上的每个 DHCP 租约中生成 resolv.conf?

我只想使用系统的 /etc/resolv.conf 以外的 DHCP 租约生成的 resolv.conf 文件,我如何制作一个脚本,每次 DHCP 租约都生成一个 resolv.conf?

0 投票
4 回答
59115 浏览

dns - dnsmasq,根据使用的接口提供不同的 IP 地址

基本上我的情况是我正在运行一个用于开发网站的虚拟机。

主机的 dns 指向运行 dnsmasq 的 VM,该 VM 解析各种开发站点的地址;即test.mysite.vm等

问题是,当我从工作网络转到家庭网络时,由于 VM 的 IP 发生了变化,一切都中断了。是否可以根据请求来自哪个接口提供不同的 IP 地址?还是我应该尝试以完全不同的方式解决这个问题?

谢谢你的帮助!


事实证明,毕竟有一个更简单的方法......

我现在在VM上设置了2个接口,不需要使用dnsmasq。

第一个只是一个桥接/共享接口,它允许虚拟机使用主机可用的任何互联网连接,每次我移动办公室时都会重新启动网络。

第二个是到我的虚拟机主机的私有连接,它有一个静态 IP 地址。这是我用来连接和绑定任何服务的接口,例如 nginx、mysql 等。

0 投票
0 回答
668 浏览

iphone - 尝试在雪豹上使用 dnsmasq 进行 iphone 开发

我正在运行 snow-leopard 的 iMac 上进行一些移动开发,我希望能够在我的 LAN 上的移动设备上访问 iMac 上配置的虚拟主机。所以我通过 Macports 安装了 Dnsmasq。我想我已经正确设置了它并且我相信它正在运行,但是如果我尝试从我的 iPhone 访问其中一个虚拟主机,我只会收到“找不到服务器”错误。

因此,我的 iMac 的 IP 为 192.168.0.111,这是 Apache 所在的位置,并且主机example.dev正确解析到 iMac 上的开发网站。如果我在 iMac 上运行 iOS 模拟器,这也可以。example.deviMac 通过以太网连接到 LAN,iphone 通过 Wifi,尽管我将 iMac 放入 iPhone 的 WiFi 的 DNS 设置,但它看不到。

dnsmasq 似乎正在运行:

我的 /opt/local/etc/dnsmasq.conf 如下:

我已经尝试过使用和不使用interface线路都没有效果,我已经重新启动了 dnsmasq 使用sudo port unload dnsmasq然后sudo port load dnsmasq没有区别。

我尝试从 iMac ping 任意主机,有些是错误的,有些是正确的(例如 pwoefojpo.dev / foo.dev / example.dev ),我希望所有这些都能 ping 127.0.0.1 但只有有效的主机(如/etc/hosts) 实际上允许我 ping 127.0.0.1。

LAN 是一个简单的 Virgin Media Superhub,其中包含许多通过 Wifi 和 Cat5 的设备。

如果有人能提供任何启示,我将不胜感激。

0 投票
2 回答
6706 浏览

openwrt - OpenWrt/network - 为广告拦截配置 dnsmasq 失败,“地址错误”

试图让广告拦截在 OpenWrt 路由器固件 10.03.1 中工作

我准备了一个文件 /etc/hosts.ads 包含无害的条目,如

在 /etc/dnsmasq.conf 我添加了以下行:

并重新启动 dnsmasq。现在重新启动时,我看到日志中充满了错误消息:

关于 hosts.ads 中的每一行,我都用谷歌搜索了它,但没有运气。从语法上看,一切似乎都是正确的,为什么 dnsmasq 不喜欢它?

(hosts.ads 中的所有行仅以 [LF] 结尾)

0 投票
2 回答
1506 浏览

awk - 使用 awk 按行向后搜索,并将结果附加到下一行

我正在尝试生成一个临时主机文件,该文件基于 dnsmasq 提供的 DNS 日志。我已经让它大部分工作了,但是我在使用 CNAME 时遇到了问题。我将展示我迄今为止所取得的成就。

我需要获取日志中有 3 种类型的响应。最简单的很容易从日志中提取,例如

这可以输出到“64.34.119.12 stackoverflow.com”使用

另一种类型的日志涉及 CNAME,这里是一个示例;

这可以输出到“88.191.250.2 ganesh.videolan.org www.videolan.org”使用

但是此方法不适用于以下类型的日志,其中有多个 CNAME

前面的命令给出以下结果

通过使用提到的第一个命令和第二个命令,wikipedia-lb.esams.wikimedia.org 与 91.198.174.225 关联,但是 wikipedia-lb.wikimedia.org 与 wikipedia-lb.esams.wikimedia.org 不关联。理想的结果应该如下

为了解决这个问题,我认为需要向后读取文件,但是这样做不会弄乱 awk 的 getline 部分,以追加到下一行吗?

理想情况下,我想将两种类型的日志组合成一个命令,然后输出所有内容,而不必分别运行这两个脚本。任何人都可以协助修改 awk 命令来执行此操作吗?

这是“grep reply /var/dnslog”的示例,以及要输出的所需主机文件。目前还有其他次要问题。这些在所需的主机输出中突出显示。

主机文件

目的是文件将可分布在低带宽、高延迟的链路上,因此文件应尽可能小。我知道长时间使用此文件会导致很多问题,我已将文件配置为仅在短时间内有效。如果有人可以帮助解决指出的问题,将不胜感激。此外,我的可用 UNIX 应用程序范围有限。如果上述可以在awk中实现,那将是可取的。先感谢您!

0 投票
1 回答
938 浏览

networking - dnsmasq 正常解析 DNS 查询

我是 dnsmasq 的新手,网络不是我的强项,希望我错过了一些简单的东西。

我有一台运行 dnsmasq 的 Ubuntu 笔记本电脑。笔记本电脑的 WiFi 连接到 Internet,笔记本电脑的以太网连接到 LAN。

将我的机器插入局域网中,笔记本电脑为我分配了一个 IP 地址。在我的机器上访问 www.google.com 会拿起笔记本电脑,然后我会看到笔记本电脑的 Apache 页面,这是我想要的结果。问题是我无法访问任何其他网站,无法访问目标主机。

我希望运行 dnsmasq 的笔记本电脑允许我的机器正常解析 DNS 查询,并且仅在访问 www.google.com 时受到限制。

我的 dnsmasq.conf 是默认的,除了:

我感觉这可能与每个网络上的 IP 设置有关?
WiFi 有一个静态 IP 192.168.1.55 连接到 192.168.1.1 的路由器和 192.168.1.10 的 DNS 服务器。
以太网使用 IP 192.168.0.1 手动配置,将路由器设置为 WiFi IP 192.168.1.55,DNS 服务器 192.168.1.55 也是如此。

提前感谢您的帮助。
皮特

0 投票
2 回答
5503 浏览

dns - 无法获取 DNSMASQ DHCP 来配置多个名称服务器

也许有人有帮助?我在 Ubuntu 12.04 LTS 上运行 dnsmasq。此服务器的地址是 192.168.15.3。我网关的 DNS 是 192.168.1.254,它将我带到 Internet。我在 192.168.15.2 也有一个专用 DNS。所以我想将这 3 个名称服务器提供给 DHCP 客户端。这是我的 dnsmasq.conf server= 部分:

但是,当我查看客户端上的 DHCP 分配时,我只看到 192.168.15.3 作为唯一的 DNS 服务器。客户端无法访问 Internet(.3 上的 NIC 配置正确,可以通过其控制台登录访问 Internet)。

当然,第一个 server= 行可能不是必需的,但我添加它认为它可能会有所帮助,但没有。

我究竟做错了什么?谢谢你的帮助!

0 投票
2 回答
2427 浏览

macos - 在 Mac 上的 VirtualBox 中的 Windows VM 上使用 dnsmasq (+ MAMP)

我在 Mac(OS X 10.7)上使用 dnsmasq 来促进本地开发(以及 MAMP),只需这个非常简单的配置:

[dnsmasq.conf]
地址=/dev/127.0.0.1

..非常简单。我所有的 *.dev 域都解析为 127.0.0.1 (localhost)。和...一起:

[DNS 服务器]
127.0.0.1
8.8.8.8
8.8.8.4

..作为我 Mac 的 DNS 设置,这是一种享受。

但后来我也有一个在 VirtualBox(最新)中运行的漂亮的 Windows 7 SP 1 VM。它使用 10.0.2.* 作为其在 Windows 中的 IP 子网。目前我必须使用像http://xip.io这样的服务+ 另一个主机名别名才能在 Windows 中使用我的 *.dev 站点,例如:

[如果 Mac 的本地 IP 是 192.168.1.50 ]
something.dev.192.168.1.50.xip.io

..我需要在我的 Apache 配置中手动设置这个额外的 ServerAlias,并在每次本地 IP 地址更改时保持更新。

有什么方法可以设置 dnsmasq、VirtualBox 或我的 Windows IP 设置(或这些设置的组合),以便我可以直接从 Windows使用我的 .dev 主机名(例如http://something.dev/ )?