You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Arch系统下systemd-networkd/resolved环境中Docker容器无法联网及解析域名的配置求助

Arch系统下systemd-networkd/resolved环境中Docker容器无法联网及解析域名的配置求助

我刚装完Arch系统,用systemd-networkd做网络管理器,systemd-resolved负责DNS解析。现在跑容器的时候遇到了麻烦——所有容器都没法连网,也解析不了域名。

我在默认网桥的容器里开了个交互式shell,试着执行curl google.com,结果报错:Failed to connect to google.com port 80: No route to host。

目前我已经把/etc/resolv.conf配置成stub模式,也给主网卡创建了对应的.network文件,主机本身是能正常上网的。另外我也按照Docker wiki的要求开启了IPForward=yes,但容器的网络问题还是没解决。

有没有大佬知道怎么给Docker的网络接口配置networkd和resolved,让容器能拿到可用的DNS服务器啊?

ip addr 输出

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: enp37s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 30:9c:23:1e:e9:2d brd ff:ff:ff:ff:ff:ff
3: enp38s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 50:91:e3:0d:c0:34 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.20/24 metric 1024 brd 192.168.0.255 scope global dynamic enp38s0
       valid_lft 2621sec preferred_lft 2621sec
    inet6 fe80::5291:e3ff:fe0d:c034/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:81:a0:ef:17 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
32: br-9e997675bb1b: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:b7:39:a1:6e brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.1/16 brd 172.18.255.255 scope global br-9e997675bb1b
       valid_lft forever preferred_lft forever
    inet6 fe80::42:b7ff:fe39:a16e/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever
34: veth51e882e@if33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 16:da:a8:84:7d:a3 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::14da:a8ff:fe84:7da3/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever

resolvectl 输出

Global
       Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
Fallback DNS Servers: 1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net 8.8.8.8#dns.google
                      2606:4700:4700::1111#cloudflare-dns.com 2620:fe::9#dns.quad9.net 2001:4860:4860::8888#dns.google

Link 2 (enp37s0)
    Current Scopes: none
         Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 3 (enp38s0)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.0.1
       DNS Servers: 192.168.0.1 205.171.2.65

Link 4 (docker0)
    Current Scopes: none
         Protocols: -DefaultRoute +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 32 (br-9e997675bb1b)
    Current Scopes: none
         Protocols: -DefaultRoute +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 34 (veth51e882e)
    Current Scopes: LLMNR/IPv6
         Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

networkctl 输出

IDX LINK            TYPE     OPERATIONAL SETUP
  1 lo              loopback carrier     unmanaged
  2 enp37s0         ether    no-carrier  configuring
  3 enp38s0         ether    routable    configured
  4 docker0         bridge   no-carrier  unmanaged
 32 br-9e997675bb1b bridge   no-carrier  unmanaged
 34 veth51e882e     ether    degraded    configuring
6 links listed.

备注:内容来源于stack exchange,提问作者Robert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 12:20:31