我已阅读有关 resolv.conf 和 resolvconf 和 resolvconf.conf 的手册页,但并不了解所有内容,并且觉得我对如何(咳咳)解决这个问题有点迷茫:
设想:
我有一个带路由器的 LAN,它充当 DHCP 和名称服务器。名称服务器解析此 LAN 上没有 TLD 或 .lan TLD 的所有设备。例如,我可以使用 nslookup、ping 和任何其他工具名称(如“nas”和“nas.lan”)来解析我的 NAS 服务器(网络可访问存储服务器)。它将请求转发到我的 ISP 的 DNS 的任何其他名称。
因此,我的 resolv.conf 看起来像这样:
# Generated by resolvconf
domain lan
nameserver 192.168.0.1
我可以很好地解析所有 LAN 和 WAN 名称。
我现在在工作中连接到 Cisco VPN,resolvconf 将 resolv.conf 更新为:
# Generated by resolvconf
domain myworkplace.com
search myworkplace.com lan
nameserver 192.168.1.10
nameserver 192.168.1.11
nameserver 192.168.0.1
现在我无法在我的局域网上访问“nas”或“nas.lan”,但我可以在 VPN 上访问“nas”和“nas.myworkplace.com”。WAN 名称现在由 VPN 分配的名称 192.168.1.10 解析,并且我以这种方式到达的 NAS 在 VPN 上,而不是在我的 LAN(不同的服务器)上。
旁白:我实际上没有任何这样的名称冲突,但我在这里的杜撰示例中提供了它,因为解决方案显然需要满足它。
现在我想要实现的是这样的:
“nas.lan”解析为我的 LAN NAS “nas.myworkplace.com”解析为 VPN NAS “nas”基于配置解析为一个或另一个(此处提示 resolv.conf 的 ndots 设置,但不确定)。
我的问题:
- 这甚至可以通过 resolvconf 实现吗?
- 如果没有,是否有其他方法可以做到这一点(例如使用 dnsmaq 而不是 libc 作为我的盒子上的解析器?)。
我很欣赏这里的任何指示,因为我发现手册页不太容易消化和解密,并考虑到这样的特定需求。我已经在网上搜索了很长一段时间,奇怪的是只发现其他人在其他论坛上问同样的问题(没有答案)!
这不是我独有的问题,也不是我的发现。LAN 上的任何人都希望在此看到设备,通过 VPN 连接到另一个 LAN 似乎很可能恰好遇到这个问题,即在连接时只能解析 VPN 上的名称而不是 LAN,需要关闭 VPN 才能解决局域网名称再次。