Ubuntu는 보통 systemd-resolved가 설치되어 있다. systemd-resolved를 사용하는 상황에서는 기본적으로 DNS 쿼리에 대응할 수 있도록 UDP 53을 사용한다. cloudflare의 proxy-dns를 설치하여 포트 변경 없이 사용할 때에는 충돌이 발생하여 proxy-dns를 이용할 수 없다. 이럴 경우에는 systemd-resolved 를 사용하지 않도록 설정하는 것이 필요하다.
다음의 명령어로 사용을 해지한다.
sudo systemctl disable systemd-resolved.service
sudo systemctl stop systemd-resolved.service
resolv.conf 를 새로 작성한다.
sudo rm /etc/resolv.conf
sudo nano /etc/resolv.conf
nameserver 항목을 입력한다.
nameserver 10.10.10.1
다른 방법으로 입력해보자. 나의 경우에는 공유기의 gateway가 DNS 서버 주소와 같다. 이를 확인하는 방법으로 ip route 를 실행한 후 default via 행을 확인한다. 아래와 같다. 3번째 항목이 gateway이다.
default via 10.10.10.1 dev eth0 proto dhcp src 10.10.10.177 metric 100
이것을 gate라는 변수로 받도록 한다.
gate=$(ip route | awk '/default/ {print $3}')
이 내용을 /etc/resolv.conf 파일에 기록한다.
echo nameserver ${gate} | tee /etc/resolv.conf