问题标签 [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.
osx-yosemite - Dnsmasq 无故停止工作
我开始在 OSX Yosemite 上使用 Dnsmasq 将所有 *.dev 域解析为 192.168.10.10 IP 地址,这是 Laravel Homestead 的默认值。
它对我有用,但是在睡觉和唤醒我的 Macbook 之后,它停止了工作。
起初,我已按照本教程的步骤进行操作,并且效果很好。似乎所有需要的文件仍然存在,但是现在当我转到 时anything.dev
,它会永远加载然后超时。
我确实有一个包含以下内容的dev
文件:/etc/resolver
请帮忙。
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 方案,这一点至关重要。
dns - 将 docker 映像中的 TLD 路由到 127.0.0.1
前言
我的 Rails 应用程序关心主机名。因此,例如,当请求来自时,domain-a.dev
它的行为与请求来自时不同domain-b.dev
。我想测试此行为,因此已将完整的*.dev
TLD 路由到127.0.0.1
我的本地计算机上,因此我可以将测试中的服务器域设置为我想要的,但它始终使用我的本地计算机测试服务器。
这是必要的,因为我的测试使用selenium
,它启动外部浏览器并浏览到domain-a.dev
or 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
在容器内开始,配置为解析并将其余部分转发到通常的名称服务器*.dev
。127.0.0.1
但我是 docker 新手,不知道这是否太复杂或如何完成。
另一个想法可能是/etc/hosts
用特殊域的固定条目覆盖容器。但这意味着我必须更新 docker 容器,以防我想将新域解析为127.0.0.1
,如果域经常更改,这是一个缺点。
码头专家怎么说?
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。我在这里想念什么?
ssl - 领事 dnsmasq 和 tls
我有一个 3 节点领事集群并设置 dnsmasq,如下所述:http ://www.morethanseven.net/2014/04/25/consul/
一切正常,我能够使用 dig 或 nslookup 查询 dns 以获取服务。我启用了 tls,但我不再能够查询 dns。我是否需要配置 dnsmasq 才能使用 SSL 证书?
dns - dnsmasq 统计信息与 dnsmasq.conf 中的缓存大小不匹配
当我使用命令“kill -s SIGUSR1 cat /var/run/dnsmasq.pid
”时,日志中的输出如下:
我很困惑,缓存大小是10000,但是“已插入缓存的名称总数”是42649,为什么这两个数字不一样?如果我的内存足够大,如何使缓存大小大于 10000?
azure - 在 AZURE VM(Ubuntu 14.04 服务器)上安装 Zimbra 8.6 时出现问题
我在 AZURE VM(Ubuntu 14.04 服务器)上安装 Zimbra 8.6 时遇到问题。在最终配置完成之前,我收到了这个错误:
linux - 在登录到 Wi-Fi 热点的客户端上显示弹出窗口
我已将 Raspberry Pi 设置为 Wi-Fi 接入点。一切正常,包括强制门户。每个客户端上的 Web 浏览器都被重定向到登录页面,该页面正常运行。我希望修改 iptables 和/或 dnsmasq 的配置,以使客户端自动在强制门户上打开 Web 浏览器。星巴克、麦当劳等都可以;我试图弄清楚如何做到这一点。
这里,这里和这里是如何实现它的部分解释,但我希望理解它 - 而不仅仅是遵循别人的指示 - 这样我就可以自己做。我想写一篇关于这个主题的 HOWTO,部分原因是它还不存在(或者如果它存在,那么我找不到它)。
有第三方应用程序,例如 Wifidog 和 Coovachilli,它们似乎可以完成这项工作,但我无法理解他们是如何做到的。我相信可以通过修改 dnsmasq 和 iptables 的配置来实现,但就我所知。它应该做这样的事情: -
1) 调整数据包,让客户端的浏览器意识到有一个强制门户;这将导致客户端的 Web 浏览器打开一个窗口并将其定向到强制门户
2) 处理强制门户;允许登录;修改iptables的设置,方便登录;等等
3)登录后透明重定向所有流量
第 2 项和第 3 项没有问题。我坚持第 1 项。感谢所有建议,包括重定向到现有文档。谢谢你。
laravel - 禁用 Internet 连接时 dnsmasq 不解析域
在 mac OS (El Capitan) 上,我有一个vagrant
带laravel-homestead
盒子的虚拟机。在我的一个开发项目中,我需要为在站点上注册的每个用户使用动态创建的子域(例如 user.sitename.dev、user2.sitename.dev 等)。所以,我曾经dnsmasq
这样做,一切正常,但只有互联网连接。如果我禁用连接,dnsmasq 不会解析域。这是我的配置文件:
当地的:
虚拟机:
这个问题的原因是什么?
docker - Docker 容器只能通过 --net=host 访问互联网
今天刚刚使用他们的安装指南安装了 docker 1.10.1。--net=host
但是,除非我在docker run
命令中使用,否则我的容器都不能访问互联网。我从这些帖子中尝试了各种解决方法:
- http://odino.org/cannot-connect-to-the-internet-from-your-docker-containers/
- 我的 docker 容器没有互联网
- 我无法让 Docker 容器访问互联网?
- Docker 容器无法访问互联网
到目前为止,除了添加--net=host
到运行命令外,没有任何效果,但我无法从 Dockerfile 构建图像,因为我不能--net=host
与该build
命令一起使用。
我跑去docker network inspect bridge
检查 docker 网桥的设置,发现它使用(几乎)与我的工作 VPN 相同的子网和网关。这会导致问题吗?这也可以解释为什么当我连接到我的工作 VPN 时,有些网站没有加载。
这是结果docker network inspect bridge
:
这是 ifconfig: