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
相关产品推荐
相关产品推荐

