우리 회사는 Ubuntu VM의 클라이언트에 소프트웨어를 배포합니다. 최근 우리는 Ubuntu 16/18의 모든 클라이언트 VM을 Ubuntu 20.04로 업데이트했습니다.
내부 네트워크에서 DNS 이름 확인이 작동하지 않는 문제가 발생했습니다. 네트워크 외부에서 작동하지만(외부 웹사이트를 ping할 수 있음) DNS 이름으로는 내부 네트워크의 컴퓨터에 연결할 수 없으며 IP 주소로만 연결할 수 있습니다. 많은 경우 이전 VM(Ubuntu 16/18)에서 내부 DNS 이름을 확인할 수 있었지만 동일한 네트워크 설정을 사용하여 새 VM을 설치할 때 작동하지 않습니다.
우리는 일반적으로 VM을 고정 IP로 설정합니다. 고객의 IT 부서에서 네트워크 정보와 내부 DNS 서버를 제공하고 00-installer-config.yaml
이에 따라 파일을 설정합니다.
/etc/netplan/00-installer-config.yaml
예시 설정:
network:
ethernets:
enp0s10f0:
addresses: [192.168.10.200/24]
gateway4: 192.168.10.1
nameservers:
addresses: [192.168.10.1, xxx.xxx.xxx.xxx, etc.]
version: 2
이전 VM에서는 로컬 도메인 이름을 추가할 때까지 DNS 이름으로 내부 시스템을 ping할 수 없는 경우가 많았습니다. 예. ping fs01
작동하지 않지만 ping fs01.clientdomain.local
작동합니다. 그러나 Ubuntu VM에서는 이것이 전혀 도움이 되지 않는 것 같습니다. 우리는 항상 도메인 이름을 사용하는 대신 파일 서버의 IP 주소로 되돌려야 합니다. 대부분의 경우 IP는 고정되어 변경될 수 없으므로 괜찮지만 항상 그런 것은 아니며 DNS 이름을 통해 연결할 수 있는 것을 선호합니다.
네트워킹과 도메인은 실제로 나에게 적합하지 않습니다. 누구든지 시도해 볼 만한 일이나 연구할 분야에 대한 제안을 해주시면 정말 감사하겠습니다!
업데이트
내부 네임서버 IP 주소를 명령에 추가하자는 제안을 시도하고 nslookup
스크린샷을 몇 장 찍었습니다. VM이 를 사용하여 호스트를 찾을 수 있는 것처럼 보이지만 nslookup
네임서버 IP를 명시적으로 포함하는 경우에만 가능합니다.
192.168.1.4는 네임서버이자 연결하려는 호스트이기도 합니다.
메모:이는 동일한 내부 이름 서버와 FQDN 호스트 이름을 사용하여 이전 Ubuntu 18.04 VM에서 작동했습니다.
일반 핑
user@ubuntu:~$ ping <hostname.domain.local>
ping: <hostname.domain.local>: Temporary failure in name resolution
간단한 nslookup
user@ubuntu:~$ nslookup <hostname.domain.local>
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find <hostname.domain.local>: SERVFAIL
네임서버 IP를 사용한 nslookup
user@ubuntu:~$ nslookup <hostname.domain.local> 192.168.1.4
Server: 192.168.1.4## Heading ##
Address: 192.168.1.4#53
Name: <hostname.domain.local>
Address: 192.168.1.85
Name: <hostname.domain.local>
Address: 192.168.1.4
이 경우 192.168.1.4 네임서버는 yaml 파일의 유일한 네임서버 항목이었습니다. 따라서 이것이 파일의 이름 서버 순서와 관련하여 어떤 종류의 문제가 될 수 있는지 알 수 없습니다.
network:
ethernets:
enp0s10f0:
addresses: [192.168.1.21/24]
gateway4: <gateway>
nameservers:
search: [<domain.local>]
addresses: [192.168.1.4]
version: 2