systemd/networkmanager의 DNS 이해

systemd/networkmanager의 DNS 이해

더 이상 사용되지 않는 항목을 수동으로 삭제할 때까지 내 컴퓨터가 이름을 확인할 수 없는 이유를 이해하지 못했습니다 nmcli device.


지침/단계:

ubuntu 22.04 데스크톱 버전, network-managersystemd-resolved.VPN을 설치하고 "VPN 외부 연결 차단"을 활성화했습니다. 연결 문제가 있음(특히 이름을 확인할 수 없음)나는 믿는다). VPN 앱에서 "killswitch"를 비활성화한 다음 VPN을 제거한 다음 다시 시작했습니다.

여러 IP(원하는 DNS 서버 주소 1.1.1.1 및 현재 IP google.com 포함)를 핑할 수 있지만 nslookup호스트 이름을 확인할 수 없습니다. 나할 수 있다dig @1.1.1.1 google.com그것은 또한 효과가 있었습니다.

나의 제한된 이해에 따르면 다음과 같은 경우가 있습니다.

  • ip addr예상 서브넷 IP가 있는 유효한 인터페이스
  • ip route이 서브넷의 IP에 대한 유효 기본값은
  • 그리고 DNS 1.1.1.1서버Network Manager
    • NM GUI에 표시된 대로 - /etc/resolve.conflocalhost의 서버를 가리킵니다.systemd-resolvd
    • 1.1.1.1하지만 텍스트가 전혀 표시되지 않습니다.어딘가에수리 전 /etc/systemd/이나 수리 후

그러면 이 (DNS)가 "작동해야 합니다". 분명히 그렇지 않습니다.

좀 둘러본 후 이름으로 판단하면 (현재는 제거된) VPN 앱에 의해 생성된 것임에 틀림없는 nmcli d유형 dummy과 상태 의 오래된 장치를 발견했습니다. connected중요한 경우 이 항목은 올바른/예상 연결된 WiFi 장치 아래의 두 번째 항목입니다.

이 nmcli를 제거하면 devicedns( nslookup및 브라우저와 같은 프로그램)가 작동(확인)을 재개합니다. 특히 재부팅 nslookup ...(해결되지 않음) 으로 시작한 nmcli connection delete ...다음 nslookup ...작동했습니다. 다른 변경/로그아웃 등은 없습니다.


질문:

이 오래된 nmcli 연결이 문제인지/여기에 관련된 다른 구성 요소가 무엇인지 확인하려면 어디로 가야 합니까? 내 문제가 지식 부족이라고 생각할 수도 있지만 systemd-resolved잘못된 항목에 대한 링크는 어디에 있고 nmcli dNM systemd-resolved구성은 어디에 사용됩니까 1.1.1.1?

답변1

systemd 및 NetworkManager에 의해 관리되더라도 구성을 볼 수 있어야 합니다. sudo systemd-analyze cat-config systemd/resolved.conf/etc/systemd/resolved.conf에는 포트 53에서 localhost를 제공하기 위한 구성이 포함되어 있습니다. 이 구성에서는 DOH(HTTPS를 통한 DNS) 또는 DOT(TLS를 통한 DNS)를 사용할 수 있습니다.

관련 정보