Debian 11, 인터넷 연결을 사용할 수 없고 ping이 도메인 이름을 확인하지 못하는 문제가 있습니다. 이 /etc/resolv.conf
파일은 NetworkManager에 의해 지속적으로 덮어쓰기되며 다시 시작한 후에는 다음을 포함합니다.
# Generated by NetworkManager
nameserver ::1
resolv.conf
항목을 추가하여 파일을 편집합니다 .
# Generated by NetworkManager
nameserver 8.8.8.8
그러나 이 변경 사항은 지속되지 않으며 다시 시작하면 사라집니다. 과거에는 이 문제가 발생하지 않았으며 VPN 및 TOR 브라우저를 사용한 후에 발생한다고 생각합니다. 이 문제를 어떻게 해결하나요?
resolvconf
편집: 도구를 설치하고 재부팅했지만 변경 사항이 없습니다.
~$ cat /etc/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
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "resolvectl status" to see details about the actual nameservers.
nameserver ::1
~$ resolvectl status
Failed to get global data: Unit dbus-org.freedesktop.resolve1.service not found.
편집 2: 두 개의 활성 네트워크 연결이 있습니다. 하나는 라우터이고 두 번째는 VPN 서비스에서 나온 것 같습니다.
~$ nmcli c show TRENDnet752 | grep -i -e name_servers -e dns
connection.mdns: -1 (default)
ipv4.dns: 8.8.8.8
ipv4.dns-search: --
ipv4.dns-options: --
ipv4.dns-priority: 0
ipv4.ignore-auto-dns: yes
ipv6.dns: --
ipv6.dns-search: --
ipv6.dns-options: --
ipv6.dns-priority: 0
ipv6.ignore-auto-dns: no
IP4.DNS[1]: 8.8.8.8
~$ nmcli c show pvpn-ipv6leak-protection | grep -i -e name_servers -e dns
connection.mdns: -1 (default)
ipv4.dns: --
ipv4.dns-search: --
ipv4.dns-options: --
ipv4.dns-priority: 0
ipv4.ignore-auto-dns: no
ipv6.dns: ::1
ipv6.dns-search: --
ipv6.dns-options: --
ipv6.dns-priority: -1400
ipv6.ignore-auto-dns: yes
IP6.DNS[1]: ::1
편집 3. 다음 단계를 사용하여 문제를 해결했습니다.
sudo systemctl status resolvconf.service
(“Active: active (exited)” message)
Opened the head file:
sudo nano /etc/resolvconf/resolv.conf.d/head
Entered nameservers and saved:
nameserver 8.8.8.8
nameserver 8.8.4.4
Then updated resolv.conf to use the new nameservers:
sudo resolvconf --enable-updates
sudo resolvconf -u
답변1
모든 DNS 구성 정보는 분명히 NetworkManager에서 제공되므로 다음 단계는 NetworkManager 설정을 조사하는 것입니다.
먼저 nmcli c
( c
"connection/s"의 약어)를 사용하여 구성된 연결 목록을 봅니다. 컬러 터미널이 있는 경우 활성 연결이 녹색으로 나타납니다. 활성 연결의 이름을 기록해 두십시오.
그런 다음 각 활성 연결에 대해 다음을 실행합니다.
nmcli c show <connection name here> | grep -i -e name_servers -e dns
<connection name here>
활성 연결의 이름으로 바꿉니다 (활성 연결이 여러 개인 경우 한 번에 하나씩). 각 연결과 관련된 모든 DNS 관련 설정이 표시됩니다. 거기에 표시 되어야합니다 ::1
. 소문자 이름이 있는 설정은 NetworkManager 구성에서 가져와야 하며, 대문자 이름이 있는 설정은 DHCP 또는 기타 자동 구성 메커니즘(예: IPv6 라우터 권고 패킷에 대한 선택적 추가의 DNS 확인자 정보)을 통해 생성되어야 합니다.
값이 있는 NetworkManager DNS 설정의 정확한 이름을 알면 ::1
해당 설정이 실제로 어디에서 왔는지 파악하는 데 도움이 됩니다.
Debian에서 NetworkManager는 세 곳에서 로컬 구성을 얻을 수 있습니다.
- 클래식 데비안에서는 읽기 전용
/etc/network/interfaces
- 파일에서
/etc/NetworkManager/system-connections
- 사용자별 설정에 따른 데스크탑 환경별 저장 방법.
자동 구성 메커니즘에 의해 지정 되는 경우 ::1
(예를 들어 다음과 같은 줄을 찾으면 IP6.DNS[1]: ::1
) 다음을 사용하여 이를 재정의할 수 있습니다.
nmcli c modify <connection name here> ipv6.ignore-auto-dns yes
이렇게 하면 이 연결에서 DHCPv6 및 라우터 권고 기반 IPv6 DNS 확인자 자동 구성이 비활성화됩니다. 그런 다음 다음 명령을 사용하여 원하는 DNS 서버를 구성할 수 있습니다.
nmcli c modify <connection name here> +ipv4.dns 8.8.8.8
그리고/또는
nmcli c modify <connection name here> +ipv6.dns 2001:4860:4860::8888
또는 기존 방식을 사용하여 NetworkManager를 DNS 확인 설정에서 완전히 멀리하려는 경우 다음 /etc/NetworkManager/conf.d/DontTouchDNSResolution.conf
이름의 파일을 추가할 수 있습니다.
[main]
dns=none
systemd-resolved=false
/etc/resolv.conf
그런 다음 수동으로 구성 할 수 있습니다(반드시 구성해야 합니다) .
답변2
Debian 11에서 ProtonVPN 클라이언트를 사용한 후 위의 문제가 발생했습니다. 문제는 재부팅 후에도 /etc/NetworkManager/system-connections/
파일이 pvpn-ipv6leak-protection.nmconnection
여전히 남아 있다는 것입니다. 이 파일을 삭제하고 네트워크를 다시 시작하면 문제가 해결되었습니다.
클라이언트에 대한 VPN 연결을 열고 인터페이스에서 VPN 터널의 연결을 명시적으로 끊지 않고 클라이언트를 닫은 다음 호스트를 재부팅하여 문제를 재현할 수 있었습니다.