TL; DR
Bazı ana bilgisayarlarda DNS aramaları yapabileceğim, diğerlerinde değil garip bir durum var. Bu, benim nameserver ve muhtemelen docker ile yapmak için başka bir gösteren bir nameserver girdisi olan resolv.conf ile ilgili gibi görünüyor, ama nasıl düzeltemiyorum.
Sorun
Stéphane Graber'in LXD'ye mükemmel girişini okudum ve denemek istedim. Bu nedenle yaptım:
$ sudo usermod -a -G lxd <myusername>
$ newgrp lxd
$ sudo lxd init
Tüm varsayılan ayarlarla yapılandırdım. Sonra yazdım:
$ lxc image list images:
error: Get https://images.linuxcontainers.org/streams/v1/index.json: lookup images.linuxcontainers.org: no such host
Bazı testler
Bu adrese başka bir PC'deki bir web tarayıcısından erişmeyi denedim ve iyi çalıştı. Bu yüzden DNS kurulumunda bir şeylerin yanlış olması gerektiğini düşündüm, ancak:
$ host images.linuxcontainers.org
images.linuxcontainers.org is an alias for canonical.images.linuxcontainers.org.
canonical.images.linuxcontainers.org has address 91.189.91.21
canonical.images.linuxcontainers.org has address 91.189.88.37
canonical.images.linuxcontainers.org has IPv6 address 2001:67c:1560:8001::21
canonical.images.linuxcontainers.org has IPv6 address 2001:67c:1562::41
Bu yüzden wget denedim:
$ wget https://images.linuxcontainers.org/streams/v1/index.json
--2016-11-10 15:56:22-- https://images.linuxcontainers.org/streams/v1/index.json
Resolving images.linuxcontainers.org (images.linuxcontainers.org)... failed: Name or service not known.
wget: unable to resolve host address "images.linuxcontainers.org"
Bu da bana internet bağlantımla ilgili bir sorun olduğunu düşündürdü, ama eğer us.images.linuxcontainers.org (web'de bir yerde bahsettiğimi gördüm) kullanırsam:
$ wget https://us.images.linuxcontainers.org/streams/v1/index.json
--2016-11-10 15:57:26-- https://us.images.linuxcontainers.org/streams/v1/index.json
Resolving us.images.linuxcontainers.org (us.images.linuxcontainers.org)... 91.189.91.21, 2001:67c:1562::41
Connecting to us.images.linuxcontainers.org (us.images.linuxcontainers.org)|91.189.91.21|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3086 (3.0K) [application/json]
Saving to: "index.json"
index.json 100%[==================================================================================>] 3.01K --.-KB/s in 0s
2016-11-10 15:57:26 (8.36 MB/s) - "index.json" saved [3086/3086]
(E göre ben de denedim canonical.images.linuxcontainers.org, host
yukarıda) images.linuxcontainers.org takma adıdır ve bu gibi görünüyor böylece, çok çalıştı budur host
iken, can arama images.linuxcontainers.org wget
ve lxc
olamaz, ancak wget
olabilir ben denedim canonical.images.linuxcontainers.org ve diğer sitelerin çoğu erişin.
$ wget https://canonical.images.linuxcontainers.org/streams/v1/index.json
--2016-11-10 16:02:28-- https://canonical.images.linuxcontainers.org/streams/v1/index.json
Resolving canonical.images.linuxcontainers.org (canonical.images.linuxcontainers.org)... 91.189.91.21, 91.189.88.37
Connecting to canonical.images.linuxcontainers.org (canonical.images.linuxcontainers.org)|91.189.91.21|:443... connected.
ERROR: no certificate subject alternative name matches
requested host name "canonical.images.linuxcontainers.org".
To connect to canonical.images.linuxcontainers.org insecurely, use `--no-check-certificate'.
$ wget --no-check-certificate https://canonical.images.linuxcontainers.org/streams/v1/index.json
--2016-11-10 16:02:37-- https://canonical.images.linuxcontainers.org/streams/v1/index.json
Resolving canonical.images.linuxcontainers.org (canonical.images.linuxcontainers.org)... 91.189.88.37, 91.189.91.21
Connecting to canonical.images.linuxcontainers.org (canonical.images.linuxcontainers.org)|91.189.88.37|:443... connected.
WARNING: no certificate subject alternative name matches
requested host name "canonical.images.linuxcontainers.org".
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://uk.images.linuxcontainers.org/streams/v1/index.json [following]
--2016-11-10 16:02:37-- https://uk.images.linuxcontainers.org/streams/v1/index.json
Resolving uk.images.linuxcontainers.org (uk.images.linuxcontainers.org)... 91.189.88.37, 2001:67c:1560:8001::21
Connecting to uk.images.linuxcontainers.org (uk.images.linuxcontainers.org)|91.189.88.37|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3086 (3.0K) [application/json]
Saving to: "index.json.1"
index.json.1 100%[==================================================================================>] 3.01K --.-KB/s in 0s
2016-11-10 16:02:38 (96.5 MB/s) - "index.json.1" saved [3086/3086]
Ben de denedim wget -4
ve wget -6
IPv6 sorunları dışlamak için, ama sonuçları her iki şekilde de aynıydı. Sonunda başka programlar da denedim w3m
ama orada da bir fark yok.
Açıkçası bir şey eksik; Herkes neden lxc
görüntü listesini indiremiyorum hakkında herhangi bir tavsiye sunabilir ?
PC
PC, ana sunucuda çok az ek paket kurulu olan Ubuntu Server 16.10 ile çalışan nispeten yeni bir kurulum . Docker kurulu ve çalışıyor ancak kap yok. İlginç bir şekilde, son zamanlarda yaşadığım başka bir sorunu test etmek için çekirdek 4.8.6'ya yeniden başladım ve bu çekirdekle images.linuxcontainers.org'a erişebildim, ancak docker başlamadı, bu yüzden bunun docker ile ilgisi olup olmadığını merak ediyorum .
Yapılandırma
/etc/resolv.conf
gibi görünüyor (ama bazı nedenlerden dolayı farkında değilim, aslında bir symlink /run/resolvconf/resolv.conf
):
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.254
nameserver 127.0.0.53
search lan
Listelenen ilk ad sunucusunu sorgulamak, ad sunucusu adresini eklemiyor gibi aynı sonucu alırsınız:
$ host images.linuxcontainers.org 192.168.1.254
images.linuxcontainers.org is an alias for canonical.images.linuxcontainers.org.
canonical.images.linuxcontainers.org has address 91.189.91.21
canonical.images.linuxcontainers.org has address 91.189.88.37
canonical.images.linuxcontainers.org has IPv6 address 2001:67c:1560:8001::21
canonical.images.linuxcontainers.org has IPv6 address 2001:67c:1562::41
İkinci sorgu yaparsanız, bir sunucuya ulaşmadan zaman aşımına uğrar:
$ host images.linuxcontainers.org 127.0.0.53
;; connection timed out; no servers could be reached
Ben ikinci sorgu ancak kanonik adını kullanır ve o zaman zaman aşımına ???
$ host canonical.images.linuxcontainers.org 127.0.0.53
Using domain server:
Name: 127.0.0.53
Address: 127.0.0.53#53
Aliases:
canonical.images.linuxcontainers.org has address 91.189.88.37
canonical.images.linuxcontainers.org has address 91.189.91.21
;; connection timed out; no servers could be reached
;; connection timed out; no servers could be reached
Düzenleme 1:
/etc/nsswitch.conf
buna benzer:
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
gshadow: files
hosts: files resolve [!UNAVAIL=return] dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Düzenle 2
Değiştirilmiş nsswitch.conf şimdi şöyle görünüyor:
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
gshadow: files
hosts: files resolve dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Düzenle 3
/Etc/systemd/resolved.conf içeriği:
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See resolved.conf(5) for details
[Resolve]
#DNS=
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
#Domains=
#LLMNR=yes
#DNSSEC=no
#Cache=yes
lxc image list
ve lxc launch
kullanmam gerekir .
resolve
hosts anahtar kelimesini ilk kez görüyorsunuz , yanlış görünüyor. Sen böyle bir şey olmalı hosts: files dns [!UNAVAIL=return]
veya mDNS yüklediyseniz files dns mdns4_minimal [NOTFOUND=return] mdns4
. kaldırabilir [NOTFOUND=return]
veya [!UNAVAIL=return]
sorgulanacak bir şey kalmazsa, varsayılan işlemdir.
/etc/resolv.conf
genellikle Ubuntu'da bir semboliktir, bu normaldir. Ne/etc/nsswitch.conf
içerir?