lxd: dnsmasq가 더 이상 컨테이너 IP를 확인하지 않습니다.

lxd: dnsmasq가 더 이상 컨테이너 IP를 확인하지 않습니다.

저는 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.conf127.0.0.1, nic 주소 및 브리지 주소를 수신하도록 구성되었으며 , 브리지 주소에 대해서만 dhcp를 설정하고, local=/lxd/컨테이너.lxd를 해결하기 위해 추가되었습니다.

그 다음에그것은 효과가 있었다.

관련 정보