Во время Сервера Ubuntu 18,04 установок я обеспечил неправильный сервер DNS, сказать 192.168.0.1
. Я теперь хочу изменить его на другой сервер, сказать 8.8.8.8
, но не может найти, что корректное пятно делает это.
Я знаю, что могу настроить глобальные настройки DNS в /etc/systemd/resolved.conf
. Хотя это решает проблему, я все еще вижу исходную неправильную запись сервера в systemd-resolve --status
:
Global
DNS Servers: 8.8.8.8
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
Link 2 (ens3)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.0.1
DNS Domain: xyz.com
Если я пытаюсь использовать sudo systemd-resolve --interface ens3 --set-dns 8.8.8.8
для изменения его я получаю сообщение об ошибке:
The specified interface ens3 is managed by systemd-networkd. Operation refused.
Please configure DNS settings for systemd-networkd managed interfaces directly in their .network files.
К сожалению, /etc/systemd/network/
каталог пуст. Существуют нет *.network
файлы там.
Однако я нашел файл конфигурации в /run/systemd/network/10-netplan-ens3.network
где я могу изменить запись, но она сбрасывается к неправильному значению после того, как я делаю
sudo systemctl daemon-reload
sudo systemctl restart systemd-networkd
sudo systemctl restart systemd-resolved
Теперь, как я изменяю ссылку определенная установка постоянно?
Править: Спасибо за вход!
Я изменил сервер DNS в /etc/netplan/01-netcfg.yaml
Вывод cat /etc/netplan/01-netcfg.yaml
:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens3:
addresses: [ 192.168.0.2/24 ]
gateway4: 192.168.0.1
nameservers:
search: [ xyz.com ]
addresses:
- "8.8.8.8"
(Возможно, пробелы не совсем корректны из-за вставки...),
Редактирование 2: Я проверил пробелы дважды
Редактирование 3: ответ @George Udosen решил проблему, большое спасибо.
Вывод sudo netplan --debug apply
:
** (generate:10422): DEBUG: 00:54:03.168: Processing input file //etc/netplan/01-netcfg.yaml..
** (generate:10422): DEBUG: 00:54:03.168: starting new processing pass
** (generate:10422): DEBUG: 00:54:03.169: ens3: setting default backend to 1
** (generate:10422): DEBUG: 00:54:03.169: Generating output files..
** (generate:10422): DEBUG: 00:54:03.169: NetworkManager: definition ens3 is not for us (backend 1)
DEBUG:netplan generated networkd configuration exists, restarting networkd
DEBUG:no netplan generated NM configuration exists
DEBUG:device lo operstate is unknown, not replugging
DEBUG:netplan triggering .link rules for lo
DEBUG:device ens3 operstate is up, not replugging
DEBUG:netplan triggering .link rules for ens3
systemd-resolve --status
теперь перечисляет корректный сервер DNS:
...
Link 2 (ens3)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 8.8.8.8
DNS Domain: xyz.com
Отредактируйте свой netplan конфигурационный файл и удалите старые имена серверов DNS и добавьте новые. Отредактируйте файл с sudo nano /etc/netplan/01-netcfg.yaml
и Ваш должен быть подобен примеру ниже:
network:
version:2
renderer: networkd
ethernets:
enp0s3:
dhcp4: true
nameservers:
search: [mydomain, otherdomain]
addresses: [10.10.10.1, 1.1.1.1]
Строка интереса является той, которая говорит addresses
при настройках nameserver
. Это могло бы также быть записано как так:
nameservers:
search:
- mydomain
- otherdomain
addresses:
- "10.10.10.1"
- "1.1.1.1"
Измените адрес там на тот, которого Вы требуете. Удостоверьтесь, что наблюдали добавления отступа, поскольку существует. Теперь после того, как thatv сохранили файл и приятеля изменения:
sudo netplan --debug apply
#!/bin/bash
sudo apt install resolvconf
grep "Make edits to /etc/resolvconf/resolv.conf.d/head." /etc/resolvconf/resolv.conf.d/head &> /dev/null
if [ ! $? -eq 0 ]
then
echo '# Make edits to /etc/resolvconf/resolv.conf.d/head.' | sudo tee --append /etc/resolvconf/resolv.conf.d/head &> /dev/null
echo 'nameserver 8.8.8.8' | sudo tee --append /etc/resolvconf/resolv.conf.d/head &> /dev/null
echo 'nameserver 8.8.4.4' | sudo tee --append /etc/resolvconf/resolv.conf.d/head &> /dev/null
fi
sudo service resolvconf restart
sudo systemd-resolve --flush-caches
sudo systemctl restart systemd-resolved.service
nslookup askubuntu.com | grep "Server:"
read $r