Windows上使用docker部署openwrt开启的dns服务 ,无法正确域名解析
在openwrt容器内使用nslook a.test 127.0.0.1 解析正确
在于openwrt容器处于相同docker网络的容器 使用nslookuo a.test $OPENWRT_CONTAINER_IP 解析正确
在Windows上使用nslookup a.test 127.0.0.1 解析失败
我感觉你的问题可能出现在端口映射上,这里有个点需要注意下:并不是启动了docker容器后,本机就拥有了docker容器的服务能力。docker容器与本机是两个独立的主机。
nslookup a.test 127.0.0.1
会请求到本机的53端口,由于本机并没有开启dns服务,所以解析不到。解决方案:
为openwrt增加53端口映射,这样以来访问docker宿主(本机)的53端口时,就相当于访问了docker容器的53端口。
此时再执行nslookup a.test 127.0.0.1
应该就行了。
在Windows上使用Docker部署OpenWRT并尝试使用其内置的DNS服务时遇到域名解析问题,通常与Docker容器的网络配置和Windows宿主机的网络隔离有关。以下是一些可能的原因和解决方案:
nslookup a.test 127.0.0.1
时,你是在请求宿主机上的服务,而不是Docker容器内的服务。你需要使用Docker容器分配给OpenWRT的IP地址,或者通过端口映射在宿主机上访问。端口映射:
确保你已经将OpenWRT容器中的DNS服务端口(通常是53)映射到宿主机的某个端口。例如,你可以使用以下命令启动Docker容器,将53端口映射到宿主机的5353端口:
docker run -d --name openwrt -p 5353:53/udp -p 5353:53/tcp <image_name>
然后,在Windows上使用nslookup a.test 127.0.0.1 -port=5353
来尝试解析。
使用Docker网络的IP地址:
如果你不想或不能使用端口映射,你可以使用Docker网络分配给OpenWRT容器的IP地址。首先,找到OpenWRT容器的IP地址:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' openwrt
然后使用这个IP地址在Windows上进行nslookup
:
nslookup a.test <OPENWRT_CONTAINER_IP>
通过上述步骤,你应该能够解决在Windows上使用Docker部署的OpenWRT DNS服务的域名解析问题。
无域名部署ddns服务器,是服务器. 想在本地局域网部署ddns服务器,在局域网主机上安装客户端,让客户端把主机名 注册到ddns服务器上. 但是我查到的都是 部署ddns客户端 而没有 服务器
稳定性: 2 - 稳定的 dns 模块包含两类函数: 1) 第一类函数,使用底层操作系统工具进行域名解析,且无需进行网络通信。 这类函数只有一个:dns.lookup()。例子,查找 iana.org: const dns = require('dns'); dns.lookup('iana.org', (err, address, family) => { console.log('IP
问题内容: 我的机器位于具有专用DNS服务器和用于DNS解析的专用区域的专用网络上。我可以从主机上解析此区域中的主机,但不能从主机上运行的容器中解析主机。 主持人 : 集装箱 : 很明显,Google的公共DNS服务器不会解决我的私有DNS请求。我知道我可以使用或在中设置强制设置,但是我的笔记本电脑经常切换网络。似乎应该有系统的方法来解决此问题。 问题答案: Docker 通过复制主机的,并过滤掉
我有许多Portlet在热部署后可以正常工作,但在重新启动Liferay(自动部署)后无法工作。我能让它们重新工作的唯一方法是重建并进行另一次热部署。 我有3个不同的spring mvc portlet(org.springframework.web.portlet.DispatcherPortlet)。其中最简单的3个在重启时没有问题,而其他2个则不工作。所有三个都是从使用Eclipse Lif
启动wildfly服务器时使用:/独立的。sh或部署我的war时,我收到错误: 据我所知,没有部署任何东西。部署文件夹中没有?杀了java,又试了一次,甚至尝试了重启。 我错过了什么?
在 Windows 上执行命令将返回以下结果: 运行诊断程序会产生以下结果: