我认为这是 SO Network 中广泛讨论的问题之一。大多数解决方案要么是过时的,要么是最新的 Ubuntu (21.04)/Systemd 更改的陈旧建议。
问题:Docker 容器不支持来自主机网络的 VPN 更改。
尝试的解决方案:
{
"dns": ["172.17.0.1", "8.8.8.8", "8.8.4.4"]
}
Run Code Online (Sandbox Code Playgroud)
此解决方案不适用于 Systemd DNS 解析。
resolvectl status
Link 7 (docker0)
Current Scopes: none
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Link 92 (tun0)
Current Scopes: DNS
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 1.1.1.1
DNS Servers: 1.1.1.1
DNS Domain: consul vpn.net
Run Code Online (Sandbox Code Playgroud)
docker0 interface的/etc/dnsmasq.confinterface=docker0
listen-address=172.17.0.1
Run Code Online (Sandbox Code Playgroud)
如果我使用bind-dynamic,它会失败并且bind-dynamic and bind-interfaces不能一起使用。我不得不从bind-interfaces正在设置的地方挖掘
终于在这里找到了: …