TL; DR
일부 호스트에서는 DNS 조회를 수행 할 수 있지만 다른 호스트에서는 수행 할 수없는 이상한 상황이 있습니다. 이것은 하나의 네임 서버 항목이 내 네임 서버를 가리키고 다른 네임 서버가 도커와 관련이있는 resolv.conf와 관련이있는 것 같지만 어떻게 수정 해야할지 모르겠습니다.
문제
나는 LXD에 대한 Stéphane Graber의 훌륭한 소개를 읽고 그것을 시도하고 싶었습니다. 따라서 나는했다 :
$ sudo usermod -a -G lxd <myusername>
$ newgrp lxd
$ sudo lxd init
모든 기본 설정으로 구성했습니다. 그런 다음 입력했습니다.
$ lxc image list images:
error: Get https://images.linuxcontainers.org/streams/v1/index.json: lookup images.linuxcontainers.org: no such host
일부 테스트
다른 PC의 웹 브라우저에서 해당 주소에 액세스하려고 시도했지만 정상적으로 작동했습니다. 그래서 DNS 설정에 문제가 있다고 생각했지만,
$ 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
그래서 wget을 시도했습니다.
$ 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"
인터넷 연결에 문제가 있다고 생각했지만 us.images.linuxcontainers.org (웹의 어딘가에 대한 언급을 보았을 때) :
$ 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]
(I에 따라도 시도 canonical.images.linuxcontainers.org, host
위의) images.linuxcontainers.org가의 별칭이며,이처럼 보이는 그래서, 너무 일 것입니다 host
동안 할 수있는 조회 images.linuxcontainers.org wget
과 lxc
할 수없는, 하지만 canonical.images.linuxcontainers.org 및 내가 시도한 대부분의 다른 사이트에 액세스 wget
할 수 있습니다.
$ 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]
나는 또한 시도했다 wget -4
및 wget -6
IPv6의 문제를 배제하기 위해,하지만 결과는 동일 하나의 방법이었다. 마지막으로 다른 프로그램도 시도 w3m
했지만 아무런 차이가 없었습니다.
분명히 뭔가 빠졌습니다. 누구든지 lxc
이미지 목록을 다운로드 할 수없는 이유에 대한 조언을 제공 할 수 있습니까?
PC
PC는 기본 호스트에 추가 패키지가 거의 설치되지 않은 Ubuntu Server 16.10을 실행하는 비교적 새로운 설치 입니다. Docker가 설치되어 실행 중이지만 컨테이너가 없습니다. 흥미롭게도, 최근에 커널 4.8.6으로 재부팅하여 다른 문제를 테스트했으며 해당 커널을 사용하여 images.linuxcontainers.org에 액세스 할 수는 있지만도 커가 시작되지 않으므로 도커와 관련이 있는지 궁금합니다. .
구성
/etc/resolv.conf
다음과 같이 보입니다 (그러나 내가 알지 못하는 이유로 실제로는 심볼릭 링크입니다 /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
첫 번째로 나열된 네임 서버를 쿼리하면 네임 서버 주소를 추가하지 않는 것과 동일한 결과가 나타납니다.
$ 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
두 번째 쿼리를 수행하면 서버에 도달하지 않고 시간이 초과됩니다.
$ host images.linuxcontainers.org 127.0.0.53
;; connection timed out; no servers could be reached
두 번째 쿼리하지만 표준 이름을 사용하면 작동하고 시간이 초과됩니까 ???
$ 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
편집 1 :
/etc/nsswitch.conf
다음과 같이 보입니다.
# /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
편집 2
수정 된 nsswitch.conf는 이제 다음과 같습니다.
# /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
편집 3
/etc/systemd/resolved.conf의 내용 :
# 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
하고 lxc launch
사용해야합니다.
resolve
호스트 키워드 를 처음 본 것입니다. hosts: files dns [!UNAVAIL=return]
mDNS를 설치했거나 이와 비슷한 것이 있어야 files dns mdns4_minimal [NOTFOUND=return] mdns4
합니다. [NOTFOUND=return]
또는 을 제거 할 수 [!UNAVAIL=return]
있습니다. 쿼리 할 항목이 없으면 기본 작업입니다.
/etc/resolv.conf
우분투의 심볼릭 링크는 보통 정상입니다. 무엇이/etc/nsswitch.conf
포함되어 있습니까?