
저는 Arch 시스템에 Lxd를 설치했습니다(snapd가 아닌 패키지에서). 어제 업그레이드 후 시스템을 재부팅했는데 가짜 도메인 .lxd의 이름 확인이 작동을 멈췄습니다. dns는 lxc-net 서비스에 의해 시작된 dnsmasq의 10.0.10.1에서 제공됩니다. dnsmasq는 네트워크의 다른 호스트에 내부 도메인을 제공하는데도 사용되며 이는 잘 작동합니다. netstat -lnp
올바른 주소에 바인딩된 dnsmasq의 두 인스턴스를 모두 볼 수 있지만 다음 과 같습니다 .
- 다른 컨테이너 내에서 하나의 컨테이너(예: )를 ping하면
ping proxy.lxd
호스트의 기본 네트워크 카드 IP가 확인되고(192.168.1.63) ping이 작동합니다. - 다른 컨테이너의 IP 주소를 직접 핑하면 작동합니다.
- 호스트에서 동일한 명령이 제공됩니다
ping: proxy.lxd: Name or service unknown
.
시스템의 dnsmasq(lxc-net에 의해 시작된 것이 아님)는 다음으로 구성되어 있으며 server=/lxd/10.0.10.1
어제까지는 잘 작동했습니다.
업그레이드에는 dnsmasq 또는 lxc-net 스크립트가 포함되지 않았지만 lxd가 4.8-1에서 4.9-1로 업그레이드되지 않았습니다.
왠지 dnsmasq와 관련이 있는 것 같은데, 이를 이해하고 해결할 수 있는 방법을 찾지 못했습니다.
네트워크는 컨테이너와 호스트 모두에서 잘 작동합니다. 단지 DNS가... /dev/null로 이동했습니다. 누군가에게 이런 일이 발생했나요? 어떻게 다시 해결할 수 있나요?
답변1
글쎄, 그건 내 잘못이었어. 실제로 왜 그런 일이 발생했는지는 아직도 모르지만, 좀 더 조사한 후에는 이전에 어떻게 작동했는지 솔직하게 말할 수 없습니다. 즉, "해결책"은 다음과 같습니다.구성시스템 :)
이전에 네트워크 브리지를 설정하는 데 사용된 lxc-net 스크립트를 비활성화했습니다.그리고dnsmasq를 실행한 다음:
lxc network create bridgename
브리지를 생성하고 lxd에서 관리합니다.lxc network edit bridgename
그것을 구성하기 위해;lxc profile edit default
기본 프로필( ) 에 브리지를 추가했습니다 ./etc/dnsmasq.conf
127.0.0.1, nic 주소 및 브리지 주소를 수신하도록 구성되었으며 , 브리지 주소에 대해서만 dhcp를 설정하고,local=/lxd/
컨테이너.lxd를 해결하기 위해 추가되었습니다.
그 다음에그것은 효과가 있었다.