Смена dns сервера linux

how to change DNS server permanently on Ubuntu 20.04?

I know there are other posts here asking this, but those suggestions do not help, the configuration keeps changing and I simply cannot get my own changes to persist. I have the Google 8.8.8.8 and 8.8.4.4 servers in my Network Manager configuration in the GUI, and systemd-resolv —status returns

Link 2 (enp38s0f1) Current Scopes: DNS DefaultRoute setting: yes LLMNR setting: yes MulticastDNS setting: no DNSOverTLS setting: no DNSSEC setting: no DNSSEC supported: no Current DNS Server: 8.8.8.8 DNS Servers: 8.8.8.8 8.8.4.4 DNS Domain: ~. 
;; Query time: 0 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Mon Oct 05 11:08:26 EDT 2020 ;; MSG SIZE rcvd: 83 

so my default route 192.168.1.1 as DNS . Furthermore, /etc/resolv.conf is a symlink to /run/systemd/resolve/resolv.conf , which in turn reads

# Generated by dhcpcd from enp38s0f1.dhcp, wlp0s20f3.dhcp # /etc/resolv.conf.head can replace this line domain fios-router.home nameserver 192.168.1.1 # /etc/resolv.conf.tail can replace this line 

The only enp38s0f1.dhcp file on this system (I’ve searched / ) is /run/dhcpcd/resolv.conf/enp38s0f1.dhcp , which reads

# Generated by dhcpcd from enp38s0f1.dhcp domain fios-router.home search fios-router.home nameserver 192.168.1.1 

I have tried to write in other nameservers there, but they do not persist. In the past I’ve made the changes persistent by making the file immutable with chattr +i , but

lsattr /run/dhcpcd/resolv.conf/enp38s0f1.dhcp 
lsattr: Inappropriate ioctl for device While reading flags on /run/dhcpcd/resolv.conf/enp38s0f1.dhcp 

so that attribute is not available here. And besides, I shouldn’t have to make the file immutable anyway: there should presumably be some way I can control the DNS server.. Edit: In response to comments below:

$ dpkg -l *dnsmasq* --- Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-================-===============-============-============================================ un dnsmasq  (no description available) ii dnsmasq-base 2.80-1.1ubuntu1 amd64 Small caching DNS proxy and DHCP/TFTP server un dnsmasq-base-lua  (no description available) 

Источник

Как изменить настройки DNS-серверов

В статье мы расскажем, как изменить настройки DNS-серверов на популярных ОС: Ubuntu, Debian, Centos и Windows Server.

Самые распространённые причины смены DNS-серверов:

  • увеличение скорости загрузки сайта в браузере,
  • настройка родительского контроля (чтобы дети не просматривали нежелательный контент),
  • защита от фишинга и другие.

Ubuntu 18.04

Изменить DNS-серверы поможет служба netplan. С её помощью нужно отредактировать её конфигурационный файл 01-netcfg.yaml.

sudo nano /etc/netplan/01-netcfg.yaml
network: ethernets: eth0: addresses: - 123.123.123.123/24 - 2002:7b7b:7b7b:0:0:0:0:0/64 gateway4: 123.123.123.123 gateway6: 2002:7b7b:7b7b:0:0:0:0:0 nameservers: addresses: - 1.1.1.1 - 1.0.0.1 renderer: networkd version: 2
nameservers: addresses: - 8.8.8.8 - 8.8.4.4
systemd-resolve --status | grep 'DNS Servers' -A2

Ubuntu 20.04/Debian

sudo nano /etc/systemd/resolved.conf
sudo systemctl restart systemd-resolved
systemd-resolve --status | grep 'DNS Servers' -A2

CentOS

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 2002:7b7b:7b7b:0:0:0:0:0 inet 123.123.123.123/24 brd 123.123.123.255 scope global eth0 valid_lft forever preferred_lft forever inet6 2002:7b7b:7b7b:0:0:0:0:0/64 scope global valid_lft forever preferred_lft forever inet6 2002:7b7b:7b7b:0:0:0:0:0/64 scope link valid_lft forever preferred_lft forever 3: eth1: mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 52:54:00:e4:b4:cc brd ff:ff:ff:ff:ff:ff

Слева от значения отображается параметр, который отвечает за название конфигурационного файла (в нашем примере это eth0). Его название будет отличаться в зависимости от настроек.

sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0

Вместо eth0 укажите название вашего конфигурационного файла. На экране отобразится содержимое файла:

NAME="eno1" ONBOOT=yes BOOTPROTO=static HWADDR="2002:7b7b:7b7b:0:0:0:0:0" IPADDR="123.123.123.123" NETMASK="255.255.255.0" GATEWAY="123.123.123.123" TYPE=Ethernet DEVICE=eth0 BOOTPROTO=none ONBOOT=yes IPADDR=123.123.123.123 PREFIX=24 GATEWAY=123.123.123.123 DNS1=1.1.1.1 DNS2=1.0.0.1 IPV6INIT=yes IPV6ADDR=2002:7b7b:7b7b:0:0:0:0:0::3f9d/64 IPV6_DEFAULTGW=2002:7b7b:7b7b:0:0:0:0:0

Вместо 8.8.8.8 и 8.8.4.4 будут указаны ваши IP-адреса. Если вам нужно добавить дополнительные DNS-серверы, добавьте их на следующих строках как DNS3 и DNS4.

systemctl restart network

Источник

Настройка DNS в Linux

Настройка DNS в Linux

Каждый сайт, устройство или определенное расположение имеет собственный IP-адрес, определяющийся оборудованием при обращении к сетям и взаимодействии с ними. Пользователи, которые сталкиваются с необходимостью, например, перехода по сайтам или подключения к другому сетевому компьютеру, тоже должны вводить соответствующий адрес для успешного обмена информацией. Однако запомнить случайный набор цифр довольно сложно. Именно поэтому и была придумана система доменных имен DNS (Domain Name System). Теперь компьютер самостоятельно обращается к серверу для определения IP-адреса при указании доменного имени во время перехода к ресурсу. Такие сервера указываются автоматически или вручную, что зависит от типа конфигурации. Именно об этом процессе мы и хотим поговорить в рамках сегодняшнего материала, взяв за пример известный дистрибутив операционной системы Linux.

Настраиваем DNS в Linux

Практически все дистрибутивы Linux функционируют по похожему принципу. Отличаются лишь некоторые консольные команды и оформление графической оболочки. В качестве примера мы рассмотрим Ubuntu, а вы, отталкиваясь от особенностей своей сборки, тоже сможете без проблем выполнить поставленную задачу. Если трудности возникнут на уровне использования определенных команд или при поиске пунктов меню графической среды, воспользуйтесь официальной документацией дистрибутива, чтобы узнать, какая альтернативная команда или опция отвечает за осуществление нужного действия.

Способ 1: Меню графической оболочки

Этот способ в первую очередь нацелен на начинающих пользователей, поскольку чаще всего в Linux их пугает необходимость выполнять каждое действие, вводя команды в консоль. Уже давно практически во всех окружениях присутствуют соответствующие пункты, позволяющие реализовывать различные конфигурации без единого обращения к «Терминалу». К DNS это тоже относится. Давайте посмотрим, как производится данное редактирование в стандартной графической оболочке Ubuntu.

Открытие панели задач для перехода к конфигурации сети при настройке DNS в Linux

    Обратите внимание на верхнюю панель, где присутствует кнопка сети и выключения компьютера. Нажмите по одной из них, чтобы просмотреть список подключений.

  • Здесь вас интересует кнопка под названием «Параметры соединения». Переход к конфигурации сети для изменения параметров DNS в Linux
  • В открывшемся меню отыщите текущее соединение и нажмите по значку в виде шестеренки, чтобы перейти к конфигурации. Выбор сети из списка для изменения параметров DNS в Linux
  • Если вы хотите узнать свой адрес DNS, просто посмотрите на специально отведенную строку на вкладке «Сведения о системе». Для настройки получения DNS переместитесь на вкладку «IPv4» или «IPv6», воспользовавшись верхней панелью. Просмотр адреса маршрутизатора и переход к настройке DNS в Linux
  • В строке «Метод» вы можете указать оптимальный для вас способ получения DNS. По умолчанию используется автоматический тип через DHCP. Однако ничего не мешает вам просто отметить маркером один из остальных присутствующих пунктов. Установка стандартных параметров DNS в Linux через графический интерфейс
  • Вы можете самостоятельно прописать серверы DNS, к которым следует обращаться вашему маршрутизатору. Для этого в строке «DNS» через запятую укажите IP-адреса. На скриншоте ниже вы видите серверы от Google, и выглядят они так: 8.8.8.8 и 8.8.4.4 . Ручной ввод нового сервера получения DNS в Linux через графическую оболочку
  • По завершении конфигурации убедитесь в том, что все выставлено правильно, и только потом кликните на «Применить». Применение изменений после настройки DNS в Linux в графическом интерфейсе
  • Если возникла надобность создания нового типа подключения, то вы можете сразу же прописать настройки DNS точно таким же образом, как это было показано только что. Настройка DNS в Linux при создании новой сети
  • По окончании конфигурации откройте главное меню и запустите «Терминал» для проверки. Переход к Терминалу для проверки изменений после настройки DNS в Linux
  • Введите nslookup , а затем укажите необходимый адрес для проверки, например, google.com . Ввод команды для пропингови сервера после изменения DNS в Linux
  • После нажатия на Enter подождите несколько секунд и ознакомьтесь с полученной информацией. Вы будете уведомлены о том, какой именно DNS-сервер использовался при пропинговке адреса. Просмотр полученных DNS в Linux через пропинговку в Терминале
  • Как видите, этот метод максимально прост и позволяет обойтись без редактирования конфигурационных файлов через консоль. Однако некоторые пользователи не имеют возможности задействовать графический интерфейс или же настройка постоянно сбивается. В таком случае придется обращаться к «Терминалу», чему и будет посвящен наш следующий метод.

    Способ 2: Редактирование конфигурационных файлов

    Использование «Терминала» для редактирования конфигурационных файлов при изменении системных параметров — самый эффективный способ, поскольку все действия здесь будут осуществляться от имени суперпользователя, а также не сбросятся при первом же перезапуске системы. Для конфигурации DNS используйте следующую инструкцию.

    1. Запустите консоль так, как это было показано ранее, или используйте любой удобный способ, например, созданный значок на панели «Избранное». Запуск терминала через избранное для настройки DNS в Linux
    2. Для начала просмотрите список существующих сетевых интерфейсов, чтобы проверить файл для конфигурации. Введите ls /sys/class/net/ и нажмите на Enter. Команда для просмотра названий сети при настройке DNS в Linux
    3. Проверьте, присутствует ли здесь ваше название интерфейса. По умолчанию оно выглядит так: enp0s3. В случае отсутствия подобной строки придется добавить ее самостоятельно, чему и будут посвящены следующие шаги. Пропустите их, если имя присутствует. Просмотр текущего названия сети при конфигурации DNS в Linux
    4. Далее дело будет касаться взаимодействия с конфигурационными текстовыми файлами. Для этого вы можете использовать любой редактор, установленный по умолчанию, например, vi. Однако начинающим юзерам не всегда удобно управлять подобным софтом. В таких ситуациях мы советуем установить более подходящее решение. Пропишите sudo apt install nano и нажмите на Enter. Установка нового текстового редактора для дальнейшей конфигурации DNS в Linux
    5. Подтвердите свои намерения добавить софт, а после успешной инсталляции переходите к работе с файлами. Введите команду sudo nano /etc/network/interfaces и затем подтвердите ее. Открытие конфигурационного файла для ввода имени сети при настройке DNS в Linux
    6. Вставьте строки auto enp0s3 и iface enp0s3 inet dhcp , чтобы задать конфигурацию интерфейса. Ввод имени сети и стандартного DNS в Linux через конфигурационнй файл
    7. Используйте комбинацию Ctrl + O для сохранения настроек. В будущем запомните, что знак ^ обозначает Ctrl, то есть, например, выход из редактора осуществляется через Ctrl + X. Сохранение изменений и выход из текстового редактора при настройке DNS в Linux
    8. При сохранении не изменяйте имя файла для записи, а просто нажимайте на Enter. Сохранение имени файла при настройке DNS в Linux
    9. Следом в этом же файле введите dns-nameserver 8.8.8.8 для установки DNS от Google, и уже после этого можете закрыть данный объект. Команда для определения DNS в первом конфигурационном файле Линукс
    10. Далее понадобится настроить другой элемент, перейдите к нему через sudo nano /etc/dhcp/dhclient.conf . Переход к конфигурации второго файла для изменения DNS в Linux
    11. При запросе пароля суперпользователя введите его. Учтите, что символы при таком методе набора не отображаются в целях безопасности. Ввод пароля суперпользователя для доступа к файлу при настройке DNS в Linux
    12. Опуститесь в самый низ по содержимому и вставьте строку supersede domain-name-servers 8.8.8.8 . Затем сохраните изменения и закройте файл. Вставка команды для второго конфигурационного файла DNS в Linux
    13. Осталось отредактировать последние параметры в sudo nano /etc/resolvconf/resolv.conf.d/base . Запуск третьего конфигурационного файла DNS в Linux
    14. Вставьте строку nameserver 8.8.8.8 , определяющую DNS. Перед выходом не забудьте применить изменения в этом же файле. Изменение третьего конфиуграционного файла DNS в Linux
    15. Все изменения DNS вступят в силу сразу же после перезагрузки сети. Осуществляется это командой sudo systemctl restart networking . Перезапуск сети после изменений DNS в Linux
    16. Появившаяся пустая строка для ввода означает, что перезапуск прошел успешно. Успешный перезапуск сети после изменений настроек DNS в Linux

    Конечно, использовать второй способ гораздо сложнее первого, однако это единственная альтернатива, которая оказывается эффективной в тех случаях, когда изменения DNS через графическую оболочку не приносят никаких результатов из-за постоянного сброса настроек. Вам достаточно просто следовать инструкциям, точно выполняя их для правильной конфигурации, и вы справитесь с редактированием параметров получения доменных имен.

    Источник

    Читайте также:  Встроенное программное обеспечение linux
    Оцените статью
    Adblock
    detector