问题标签 [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 投票
0 回答
206 浏览

osx-yosemite - Dnsmasq 无故停止工作

我开始在 OSX Yosemite 上使用 Dnsmasq 将所有 *.dev 域解析为 192.168.10.10 IP 地址,这是 Laravel Homestead 的默认值。

它对我有用,但是在睡觉和唤醒我的 Macbook 之后,它停止了工作。

起初,我已按照本教程的步骤进行操作,并且效果很好。似乎所有需要的文件仍然存在,但是现在当我转到 时anything.dev,它会永远加载然后超时。

我确实有一个包含以下内容的dev文件:/etc/resolver

请帮忙。

0 投票
1 回答
9166 浏览

dns - 使用 consul 和 dnsmasq 进行反向 dns 查找

我已经设置了 consul ( http://consul.io/ ) 和 dnsmasq,这样我就可以拥有自己的内部 dns 解析。我已经用 dig 测试了 consul 支持反向 dns 查找:

但是通过 dnsmasq 反向 dnslookups 失败。如何配置 dnsmasq 将反向查找条目转发给领事?

我目前正在使用默认配置运行领事。每个节点都有一个领事代理,如下所示:

除了将 dns 请求转发到端口 8600 的 consul 的单个设置外,dnsmasq 以默认配置在每个节点上运行。有一个文件/etc/dnsmasq.d/10-consul用于执行此操作:

/etc/resolve.conf最后,我添加了一个指向 localhost的条目,因此使用了 dnsmasq:

我在 AWS 上,我仍然可以利用他们在他们的环境中提供的 dns 服务以及我自己的内部 dns 方案,这一点至关重要。

0 投票
2 回答
1158 浏览

dns - 将 docker 映像中的 TLD 路由到 127.0.0.1

前言

我的 Rails 应用程序关心主机名。因此,例如,当请求来自时,domain-a.dev它的行为与请求来自时不同domain-b.dev。我想测试此行为,因此已将完整的*.devTLD 路由到127.0.0.1我的本地计算机上,因此我可以将测试中的服务器域设置为我想要的,但它始终使用我的本地计算机测试服务器。

这是必要的,因为我的测试使用selenium,它启动外部浏览器并浏览到domain-a.devor domain-b.dev。所以我不能request.hostname在我的测试中简单地覆盖(左右),因为这对外部浏览器没有影响。

现在我想使用 docker 镜像进行测试,因此我不必在多台服务器上配置测试环境,只需启动 docker 镜像即可。到目前为止一切正常,但正在*.dev解决。


AFAIK Docker 默认使用主机名称服务器或谷歌名称服务器(https://docs.docker.com/articles/networking/#dns),但这意味着更改主机的 dns 以实现我不想要的目标。

我想构建一个 docker 映像,其中一个特殊的 TLD,例如dev,总是路由到127.0.0.1而不接触 docker host

这意味着对于运行此 docker 映像的每个人,例如domain.dev将被解析到127.0.0.1容器内部。(不仅是domain.dev,而且是每个*.dev域。)。其他 TLD 应该照常工作。

我的一个想法是dnsmasq在容器内开始,配置为解析并将其余部分转发到通常的名称服务器*.dev127.0.0.1但我是 docker 新手,不知道这是否太复杂或如何完成。

另一个想法可能是/etc/hosts用特殊域的固定条目覆盖容器。但这意味着我必须更新 docker 容器,以防我想将新域解析为127.0.0.1,如果域经常更改,这是一个缺点。

码头专家怎么说?

0 投票
1 回答
404 浏览

linux - TPROXY 拦截后 Dnsmasq 未收到响应

我正在路由器上开发一种“监控流量”的应用程序,我使用该TPROXY功能拦截 DNS 数据包并将其发送到侦听端口的应用程序服务器。处理完后,我修改了 TTL 后,将数据包转发到了实际的目的地(即 dnsmasq)。

JFYI,我的 TPROXY 防火墙规则将 DNS 响应数据包转发到我在端口 2345 上侦听的应用程序服务器,如下所示:

在我的应用程序服务器上,没有错误检查:

这样sendto就成功了,即没有错误!!!但是,dnsmasq 没有收到数据!更准确地说,dnsmasq 正在等待数据的 fd 并没有“准备好”。

在 dnsmasq 代码中,里面check_dns_listeners

FD_ISSET()回报false。_ 如果我不拦截 DNS 响应流,则FD_ISSET()返回 true。我在这里想念什么?

0 投票
1 回答
667 浏览

ssl - 领事 dnsmasq 和 tls

我有一个 3 节点领事集群并设置 dnsmasq,如下所述:http ://www.morethanseven.net/2014/04/25/consul/

一切正常,我能够使用 dig 或 nslookup 查询 dns 以获取服务。我启用了 tls,但我不再能够查询 dns。我是否需要配置 dnsmasq 才能使用 SSL 证书?

0 投票
1 回答
2547 浏览

dns - dnsmasq 统计信息与 dnsmasq.conf 中的缓存大小不匹配

当我使用命令“kill -s SIGUSR1 cat /var/run/dnsmasq.pid”时,日志中的输出如下:

我很困惑,缓存大小是10000,但是“已插入缓存的名称总数”是42649,为什么这两个数字不一样?如果我的内存足够大,如何使缓存大小大于 10000?

0 投票
0 回答
371 浏览

azure - 在 AZURE VM(Ubuntu 14.04 服务器)上安装 Zimbra 8.6 时出现问题

我在 AZURE VM(Ubuntu 14.04 服务器)上安装 Zimbra 8.6 时遇到问题。在最终配置完成之前,我收到了这个错误:

0 投票
1 回答
791 浏览

linux - 在登录到 Wi-Fi 热点的客户端上显示弹出窗口

我已将 Raspberry Pi 设置为 Wi-Fi 接入点。一切正常,包括强制门户。每个客户端上的 Web 浏览器都被重定向到登录页面,该页面正常运行。我希望修改 iptables 和/或 dnsmasq 的配置,以使客户端自动在强制门户上打开 Web 浏览器。星巴克、麦当劳等都可以;我试图弄清楚如何做到这一点。

这里这里这里是如何实现它的部分解释,但我希望理解它 - 而不仅仅是遵循别人的指示 - 这样我就可以自己做。我想写一篇关于这个主题的 HOWTO,部分原因是它还不存在(或者如果它存在,那么我找不到它)。

有第三方应用程序,例如 Wifidog 和 Coovachilli,它们似乎可以完成这项工作,但我无法理解他们是如何做到的。我相信可以通过修改 dnsmasq 和 iptables 的配置来实现,但就我所知。它应该做这样的事情: -

1) 调整数据包,让客户端的浏览器意识到有一个强制门户;这将导致客户端的 Web 浏览器打开一个窗口并将其定向到强制门户

2) 处理强制门户;允许登录;修改iptables的设置,方便登录;等等

3)登录后透明重定向所有流量

第 2 项和第 3 项没有问题。我坚持第 1 项。感谢所有建议,包括重定向到现有文档。谢谢你。

0 投票
0 回答
146 浏览

laravel - 禁用 Internet 连接时 dnsmasq 不解析域

在 mac OS (El Capitan) 上,我有一个vagrantlaravel-homestead盒子的虚拟机。在我的一个开发项目中,我需要为在站点上注册的每个用户使用动态创建的子域(例如 user.sitename.dev、user2.sitename.dev 等)。所以,我曾经dnsmasq这样做,一切正常,但只有互联网连接。如果我禁用连接,dnsmasq 不会解析域。这是我的配置文件:

当地的:

虚拟机:

这个问题的原因是什么?

0 投票
4 回答
17514 浏览

docker - Docker 容器只能通过 --net=host 访问互联网

今天刚刚使用他们的安装指南安装了 docker 1.10.1。--net=host但是,除非我在docker run命令中使用,否则我的容器都不能访问互联网。我从这些帖子中尝试了各种解决方法:

  1. http://odino.org/cannot-connect-to-the-internet-from-your-docker-containers/
  2. 我的 docker 容器没有互联网
  3. 我无法让 Docker 容器访问互联网?
  4. Docker 容器无法访问互联网

到目前为止,除了添加--net=host到运行命令外,没有任何效果,但我无法从 Dockerfile 构建图像,因为我不能--net=host与该build命令一起使用。

我跑去docker network inspect bridge检查 docker 网桥的设置,发现它使用(几乎)与我的工作 VPN 相同的子网和网关。这会导致问题吗?这也可以解释为什么当我连接到我的工作 VPN 时,有些网站没有加载。

这是结果docker network inspect bridge

这是 ifconfig: