изменить DNS-сервер непостоянным способом (в командной строке)

изменить DNS-сервер непостоянным способом (в командной строке)

Есть ли способ изменить DNS-сервер в командной строке, не меняя ничего на диске?

Недавно я загрузился в сеанс восстановления и получил IP-адрес (используя DHCP), но не DNS-сервер. Поскольку моя сетевая конфигурация обычно выполняется nm-appletв сеансе рабочего стола, а не в , /etc/network/interfacesя хотел бы иметь возможность предоставить DNS-сервер только для этого сеанса восстановления и ничего не записывать на диск.

Обычно это возможно путем редактирования /run/resolvconf/resolv.conf. но, resolvconfпохоже, это не выполняется в сеансе восстановления Ubuntu 14.04.

Я надеялся, что есть что-то похожее на конфигурацию сети, где я могу настроить интерфейс без необходимости редактировать файл:

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

есть ли способ сделать это для DNS в сеансе восстановления на Ubuntu 14.04?

решение1

Я нашел способ сделать это:

убить службу DNS (может быть есть более тонкий способ?)

# killall dnsmasq

перезапустите службу, используя нужный вышестоящий сервер:

# dnsmasq --server=192.168.2.1

на более новой версии Ubuntu (с systemd) это будет выглядеть так:

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

проверить с:

# systemd-resolve --status

решение2

Перейдите в этот каталог /etc/resolvconf/resolv.conf.d и отредактируйте файл head с помощью vi или vim с привилегиями su.

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

добавьте следующие строки в файл

nameserver *DNS server IP*

сохраните файл и используйте утилиту resolvconf, чтобы задать статический адрес DNS-сервера, который вы ввели с помощью следующей команды

sudo resolvconf -u

решение3

Чтобы это заработало, я добавил au.archive.ubuntu.comв /etc/hostsфайл IP-адрес, который получил, пропинговав его на своем ПК.

Потом сделал apt updateи все разрешилось.

Связанный контент