Linux Kernel: 4.9.163-lxpup-32-pae (i686)
Kernel Version: #1 SMP Thu Mar 14 15:41:19 GMT 2019
Build GCC: 8.3.0
Distro: BionicPup32 19.03
busybox: 1.30.1
dhcpcd: 6.7.1
Firewall: Off (ip_tables not active)
Network Interface: virtualLAN
modprobe 虚拟接口名为virtualLAN(192.168.1.100)
和virtualWAN(192.168.2.100)
。resolv.conf 或 host.conf 中没有任何内容;空白。全部,并且唯一的 DNS 配置位于 dnsmasq.d 目录中的 dnsmasq 和 dnsmasq2.conf 中。
dnsmasq.conf
interface=virtualLAN
listen-address=192.168.1.100
address=/lanwebsite/192.168.1.100
dnsmasq2.conf is in /etc/dnsmasq.d
interface=virtualWAN
listen-address=192.168.2.100
address=/wanwebsite/192.168.2.100
在两个配置文件中,#bind-interfaces 和 #localise-queries 均被注释掉,因此处于关闭状态。LAN 和 WAN 两个接口之间没有互联网连接共享或转发规则。
根据 puppyLinux ipInfo,virtualLAN 是活动接口,Dnsmasq 守护进程正在运行,并且没有防火墙。
2 个网站正在运行。192.168.1.100(虚拟 LAN 接口)上的 Lanwebsite 和 192.168.2.100(虚拟 WAN 接口)上的 wanwebsite
现在,浏览器配置为通过 WAN 代理,192.168.2.100
期望请求
“局域网网站”
通过在当前配置的浏览器中输入域名,应该可以正确获取 lansite。但我得到的是
“wanwebsite”
IP 地址 (192.168.2.100)。但如果我不使用代理或使用代理重复上述操作virtualLAN
,则会得到正确的 IP 地址。
如果我通过 LAN 代理并请求“wanwebsite”,则 V/versa 为真。我获得了 LAN 网站。
我让网站在选择的任何代理接口上运行。如果代理是 .2.100,则请求
局域网网站
给出 IP
wan网站
(.2.100),如果代理是 1.100,则请求
wan网站
给出 IP
局域网网站
(1.100)
但如果我要求
gI*7bb3rishSit3
例如,我正确地得到了一个错误。无论使用代理还是不使用代理,无论使用哪种代理。
*疑似问题:*绑定接口/本地化 DNS 查询,*DNS 缓存(尝试在重新加载时清除 dnsmasq 缓存)浏览器缓存。全部试过了,结果相同。或者虚拟接口的问题不完全是接口本身。虚拟接口与 tun/tap 有什么关系?我打算同时尝试一下。同时,帮忙吗?
答案1
这是因为主机通过接口路由到所有接口lo
并监听所有接口。因此,当我在同一台主机上运行多个 DNS 服务器,并且请求通过接口路由时lo
,端口 53 监听器会做出响应。
- 解决方案:
使用 ip net 命名空间将接口分成不同的域,
veth
将它们合并在一起,然后在不同的命名空间中运行不同的 DNSMasq 实例。就这样。