8

is there a way i can change the DNS server on the command-line without having to change anything on the disk?

i recently booted into the rescue session and i got an IP address (using DHCP) but no DNS server. as my network config is usually done with the nm-applet in the desktop session and not in /etc/network/interfaces i would like to be able to provide a DNS server just for this rescue session and not write anything on disk.

this is usually possible by editing /run/resolvconf/resolv.conf. but resolvconf seems not to be running in the ubuntu 14.04 rescue session.

i was hoping there was something similar to the network configuration where i can configure an interface without having to edit a file:

# ifconfig eth0 192.168.2.5 netmask 255.255.255.0
# route add default gw 192.168.2.1

is there a way to do this for DNS in a rescue session on ubuntu 14.04?

3 Answers3

7

i found a way to do this:

kill the dns service (there may be a more subtle way?)

# killall dnsmasq

restart the service using the desired upstream server:

# dnsmasq --server=192.168.2.1

on a newer ubuntu (one with systemd) this would be:

# systemd-resolve -i enp0s31f6 --set-dns=192.168.2.1  # --set-dnssec=true

check with:

# systemd-resolve --status
0

To get this to work, I added au.archive.ubuntu.com to the /etc/hosts file with an IP address I got from pinging it on my PC.

Then did apt update and it resolved.

Stephen Rauch
  • 1,156
  • 6
  • 15
  • 21
Dan
  • 1
0

Navigate to this directory /etc/resolvconf/resolv.conf.d edit the head file using vi or vim with su privilege

sudo vi /etc/resolvconf/resolv.conf.d/head

add the following lines to the file

nameserver *DNS server IP*

save the file and use resolvconf utility to set the static DNS server address you entered by the following command

sudo resolvconf -u
404
  • 101