[Ubuntu 18.04 LTS] DNS 설정 (resolve.conf)
Ubuntu.....18.04에서는 많은 것이 바뀌어 있는거 같다....ㅠㅠ
DNS설정을 위해 /etc/resolve.conf를 수정하였더니 반영이 안된다.
정말 아무생각없이 습관처럼 반영/변경 했는데 정상적으로 동작이 되지 않았다.
이에 확인해본 결과 /etc/resolve.conf 파일 안에는 파일을 수정하지 말라고 되어 있었다.
"This file is managed by man:systemd-resolved(8). Do not edit."
root@test:~# cat /etc/resolv.conf # This file is managed by man:systemd-resolved(8). Do not edit. # # This is a dynamic resolv.conf file for connecting local clients to the # internal DNS stub resolver of systemd-resolved. This file lists all # configured search domains. # # Run "systemd-resolve --status" to see details about the uplink DNS servers # currently in use. # # Third party programs must not access this file directly, but only through the # symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way, # replace this symlink by a static file or a different symlink. # # See man:systemd-resolved.service(8) for details about the supported modes of # operation for /etc/resolv.conf. nameserver 127.0.0.53 options edns0
DNS동작 상태는 systemd-resolve --status 통해 확인하라고 되어 있고 확인해 보면 아래와 같이 동작 되고 있다는걸 확인할 수 있다.
root@test:~# systemd-resolve --status Global DNSSEC NTA: 168.192.in-addr.arpa 16.172.in-addr.arpa corp d.f.ip6.arpa home internal intranet lan local private test Link 2 (eth0) Current Scopes: DNS LLMNR setting: yes MulticastDNS setting: no DNSSEC setting: no DNSSEC supported: no DNS Servers: 168.126.63.1 8.8.4.4
여기서 DNS설정을 인터페이스별로 설정이 가능한거 같아 보이기도 한다. (자세히는 아직 모르겠음....ㅜㅜ)
필자의 경우 인터페이스 설정시 DNS설정을 추가 하였기에 DNS주소가 보이기도 한다. (물론 동작도 된다.)
그럼 대체 /etc/resolve.conf를 대신해서 수정해야 할곳은 어디인가.....
/etc/resolve.conf를 대체하는 곳은 "/run/systemd/resolve/resolv.conf" 인거 같다.
root@test:~# cat /run/systemd/resolve/resolv.conf # This file is managed by man:systemd-resolved(8). Do not edit. # # This is a dynamic resolv.conf file for connecting local clients directly to # all known uplink DNS servers. This file lists all configured search domains. # # Third party programs must not access this file directly, but only through the # symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way, # replace this symlink by a static file or a different symlink. # # See man:systemd-resolved.service(8) for details about the supported modes of # operation for /etc/resolv.conf. nameserver 168.126.63.1 nameserver 8.8.4.4
변경하였지만 반영되지 않았다.
알고 보니 /etc/netplan/01-netcfg.yaml에 설정되어 있을 경우 해당 설정정보가 무조건 반영되도록 되어 있다.
필자처럼 /etc/netplan/01-netcfg.yaml에 nameserver설정이 되어 있다면 굳이 DNS설정을 건드리지 않아도 될거 같다.
하지만,
꼭 추가로 설정을 해야 한다면 global DNS(또는 uplinkDNS) 설정을 하면된다.
global DNS(uplinkDNS) 설정은 특정 config 파일을 수정하고 systemd-resolve daemon을 재시작해야 하는데 도대체 어디서 config 를 수정해야 하는가... 한참 찾았다. (물론 구글 검색을 했다.)
man page를 찾아봐도 없고 설정정보를 찾기 힘들었는데 아래 링크에서 친절이 설명이 되어 있었다.
https://www.freedesktop.org/software/systemd/man/resolved.conf.html
/etc/systemd/resolved.conf
/etc/systemd/resolved.conf.d/*.conf
/run/systemd/resolved.conf.d/*.conf
/usr/lib/systemd/resolved.conf.d/*.conf
이중 "/etc/systemd/resolved.conf" 수정해야 global DNS(uplinkDNS)가 반영이 된다.
root@test:~# cat /etc/systemd/resolved.conf # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # # Entries in this file show the compile time defaults. # You can change settings by editing this file. # Defaults can be restored by simply deleting this file. # # See resolved.conf(5) for details [Resolve] #DNS= #FallbackDNS= #Domains= #LLMNR=no #MulticastDNS=no #DNSSEC=no #Cache=yes #DNSStubListener=yes DNS=168.126.63.1
"DNS=" 부분의 주석을 제거하고 DNS IP를 추가 하거나 "DNS=168.126.63.1"를 추가하고 저장한 다음에 systemd-resolve.service를 재시작해준다.
root@test:~# systemctl restart systemd-resolved.service
재시작 후 DNS동작 상태를 확인해 보면 상단에 Global DNS server 가 설정 된것을 확인할 수 있다.
root@test:~# systemd-resolve --status Global DNS Servers: 168.126.63.1 DNSSEC NTA: 10.in-addr.arpa 16.172.in-addr.arpa 168.192.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-addr.arpa 21.172.in-addr.arpa 22.172.in-addr.arpa 23.172.in-addr.arpa 24.172.in-addr.arpa 25.172.in-addr.arpa 26.172.in-addr.arpa 27.172.in-addr.arpa 28.172.in-addr.arpa 29.172.in-addr.arpa 30.172.in-addr.arpa 31.172.in-addr.arpa corp d.f.ip6.arpa home internal intranet lan local private test ~ ~
'운영체제 > UBUNTU' 카테고리의 다른 글
[Ubuntu] Apt install 시 "Geographic area" 사용자 입력 요청 무시 (0) | 2023.02.21 |
---|---|
[Ubuntu 16.04] 18.04로 업그레이드 (1) | 2022.10.28 |
[Ubuntu 18.04 LTS] apt dist-upgrade시 "menu.lst" 자동 확인 (0) | 2019.05.16 |
[Ubuntu 18.04 LTS] 이전 네트워크 설정 방법으로 네트워크 설정하기 (0) | 2019.03.04 |
[Ubuntu 18.04 LTS] 네트워크 설정하기 (0) | 2019.03.04 |