DNS 및 resolv.conf 파일을 설정하는 방법

DNS 및 resolv.conf 파일을 설정하는 방법

저는 몇 주 동안 Ubuntu Server 18.04를 설치하고 실행했습니다. 한동안 내 네트워크 인터페이스가 연결되지 않았습니다. 결국 적절한 netplan YAML 파일 설정을 얻었습니다. 이제 네트워크의 다른 컴퓨터에서 호스트 이름이 아닌 서버 IP로 ping을 수행할 수 있고, 도메인 이름이 아닌 외부 IP로도 ping을 수행할 수 있습니다. 명시된 대로 도메인 이름을 사용할 수 없습니다. 그래서 실패하는 것과 같은 것 ping google.com입니다 sudo apt update. DNS 문제인 것 같지만 100% 확실하지는 않습니다.

에 의한 결과 ping google.com:

ping: google.com: Temporary failure in name resolution

에 의한 결과 sudo apt update:

 Err3: http://archive.ubuntu.com/ubuntu bionic InRelease
     Temporary failure in resolving 'archive.ubuntu.com'

업데이트할 때 몇 가지 오류가 더 있지만 모두 'archive.ubuntu.com'을 해결하지 못합니다.

내 netplan 파일은 다음과 /etc/netplan/01-netcfg.yaml같습니다

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s25:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.40/22]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.4.4, 8.8.8.8, 1.1.0.0, 1.1.1.1]

나는 에 대해 이야기하는 많은 게시물과 기사를 보았지만 /etc/resolv.conf내 게시물은 항상 존재하지 않았습니다. 내용을 확인 하려고 하면 cat오류가 발생합니다 no such file or directory. 나는 이것이 내 문제라고 생각하지만 무엇이 잘못되었는지 깨닫기 위해 Linux 네트워킹에 대해 충분히 이해하지 못합니다.

일부 사람들은 에 대한 기호 링크를 만들거나 수정하여 이 문제를 해결할 수 있었습니다 /etc/resolv.conf. 그러나 그들은 , 및 기타 파일을 사용 run/systemd/resolve/resolv.conf했습니다 /run/resolvconf/resolv.conf. 해당 파일/서비스가 내 컴퓨터에 존재하지 않습니다. /run에 네트워킹 관련 파일이 하나만 있습니다 /run/systemd/network/10-netplan-enp0s25.network. 그 내용은 다음과 같습니다:

[Match]
Name=enp0s25

[Network]
LinkLocalAddressing=ipv6
Address=192.198.1.40/22
Gateway=192.168.1.1
DNS=8.8.4.4
DNS=8.8.8.8
DNS=1.1.0.0
DNS=1.1.1.1

/etc/resolv.conf에서 로의 심볼릭 링크를 만들었습니다 /run/systemd/network/10-netplan-enp0s25.network. my 의 내용은 resolv.conf와 완전히 동일합니다 10-netplan-enp0s25.network.

내 컴퓨터를 구성하려면 추가로 수행해야 할 작업이 무엇인지 혼란스럽습니다. 지금까지 내가 찾은 모든 것은 매우 상충되며 도움이 되지 않았습니다.


답변1

Ubuntu 18.04 시스템에서는 패키지가 설치되지 않는 한 (새 시스템에는 권장되지 않음) /etc/resolv.conf항상 에 대한 심볼릭 링크여야 합니다. 이 경우 에 대한 심볼릭 링크여야 합니다 . 존재하지 않는 경우 서비스가 실행 중인지 확인하십시오( ). 활성화되어 있지 않으면 활성화하고 시작( )하면 문제가 해결됩니다./run/systemd/resolve/stub-resolv.confresolvconf/run/resolvconf/resolv.conf/run/systemd/resolve/stub-resolv.confsystemd-resolvedsystemctl status systemd-resolvedsudo systemctl enable systemd-resolved && sudo systemctl start systemd-resolved

관련 정보