Я подозреваю, что сервер имен, предоставленный моим модемом / маршрутизатором ADSL, глючит. Каждый раз, когда я впервые захожу на веб-сайт в Ubuntu, разрешение доменного имени занимает не менее 15 секунд.
Чтобы обойти эту проблему, я изменил конфигурацию сервера имен в /etc/resolv.conf
с 192.168.1.1 (мой ADSL-модем) на 8.8.8.8 (основной DNS Google). Кажется, это решает проблему, но, к сожалению, мои изменения в /etc/resolv.conf
перезаписываются «NetworkManager» при каждом запуске.
Как правильно настроить IP-адрес сервера имен в Ubuntu 10.4?
Если у вас обычная настройка соединения с сетевым менеджером и DHCP, попробуйте следующее:
Это должно выполнить вашу фишку.
Лучший способ настроить сервер имен через интерфейс командной строки, без NetworkManger, со статическим адресом или независимо от соединения:
Установите пакет resolvconf .
Запустите
sudo nano /etc/resolvconf/resolv.conf.d/head
(игнорируйте пугающее предупреждение. /Etc/resolv.conf создается автоматически, поэтому предупреждение есть, поэтому оно будет помещено в /etc/resolv.conf при создании /etc/resolv.conf.) В конце файла файл, добавьте
nameserver <ip_of_nameserver>
Нажмите Ctrl x и ответьте «да» на сохранение файла. Чтобы закончить, повторно сгенерируйте /etc/resolv.conf, чтобы изменения вступили в силу прямо сейчас:
sudo resolvconf -u
] Если Network-Manager
остановлен и /etc/resolvconf/resolv.conf.d/base
настроен.
Возможно resolvconf --enable-updates
полезен.
Другим решением является изменение конфигурации вашего маршрутизатора на использование другого DNS сервера. Просто войдите в систему с правами администратора, и пока проблема не возникает на маршрутизаторе, все ваши клиентские машины получат более качественный DNS.
Вам необходимо отредактировать файл /etc/resolv.conf
, чтобы установить IP-адрес сервера имен, который должен запрашивать преобразователь. Можно определить до 3 IP-адресов серверов имен в Интернете. Если имеется несколько серверов, библиотека преобразователя запрашивает их в указанном порядке.
Сначала введите
sudoedit /etc/resolv.conf
Добавьте IP-адрес предпочитаемого DNS-сервера следующим образом:
nameserver <preferred-ip1>
nameserver <preferred-ip2>
nameserver <preferred-ip3>
взято из: http: //www.cyberciti .biz / faq / ubuntu-linux-configure-dns-nameserver-ip-address /
Для безголовых серверов, где нет X и управление осуществляется через ssh или что-то еще, команду- линейное решение необходимо. Если resolv.conf не перезаписывается, то это правильное место для изменения серверов имен.
Если resolv.conf действительно перезаписывает , то, по крайней мере, 14.04LTS, файлы для редактирования:
Я настоятельно рекомендую помещать строки комментариев в такие файлы, чтобы они отображались в сгенерированном файле ( /etc/resolve.conf), и вы сможете найти их в будущем. Я начинаю и заканчиваю каждый файл однострочным комментарием вида:
и поместите между ними соответствующие директивы.
Другой способ сделать это - это отредактировать /etc/dhcp3/dhclient. conf
вы можете сделать это, введя это в диалоговое окно запуска (появляется при нажатии Alt + F2)
gksudo gedit /etc/dhcp3/dhclient.conf
Затем найдите следующую строку
#prepend domain-name-servers 127.0.0.1;
И измените ее на
prepend domain-name-servers 8.8.8.8;
Это заставит dhclient (DHCP клиент, используемый NetworkManager) добавить это к вашим dns серверам, так что разрешите. conf будет выглядеть следующим образом
nameserver 8.8.8.8
nameserver 192.168.1.1
Это решение будет работать везде, и вы всегда получите DNS, который вы выбрали в качестве основного.
Вы можете изменить их следующим образом.
Сначала щелкните значок диспетчера сети в строке меню, а затем щелкните Изменить подключения ...
пункт.
Теперь переключитесь на вкладку «Проводной» или «Беспроводной», в зависимости от того, что вы используете - я использую Wi-Fi, поэтому буду использовать его.
Выберите имя вашей сети и нажмите Изменить ...
Перейдите на вкладку IPv4, а затем измените ее с автоматического DHCP на только автоматические (DHCP) адреса.
Введите IP-адрес вашего DNS-сервера.
Нажмите «Сохранить», и вы '
Щелкните по индикатору сети в правом верхнем углу экрана и выберите Редактирование соединений...
. Выберите соединение, которое вы хотите изменить (вероятно, на вкладке Wired
или Wireless
и нажмите кнопку Edit...
.
Перейдите на вкладку IPv4 Settings
окна соединения и измените метод с Automatic (DHCP)
на Automatic (DHCP) addresses only
. Теперь вы должны иметь возможность указать IP-адрес DNS-сервера.
Сохраните соединение и можете приступать к работе. Возможно, после изменения настроек вам придется сбросить соединение, выбрав его в меню индикатора.
Я считаю, что если вы измените её под сетевым менеджером, то изменения с сохранением будут продолжаться.
Для использования eth0, например
Network Manager -> Wired -> Auto eth0 -> ipv4 Settings.
Установите ваш DNS-сервер на 8.8.8.8 и применяйте его.
Я обнаружил, что добавляя строку dns-nameserver ip
в файл интерфейсов, установив для параметров ipv4 проводного соединения значение Только автоматические (DHCP) настройки и введя IP-адрес DNS-сервера и имя домена. Кроме того, добавление локального IP-адреса DNS к разделу статического DNS маршрутизатора DSL заставляет NetworkManager включать этот локальный адрес в файл resolv.conf
, который он перезаписывает вместе с другой информацией, полученной от маршрутизатора. Все это вместе, кажется, делает локальное разрешение имен DNS постоянным - это кажется удивительно сложной задачей. Мне нужен локальный DNS для подключения клиента Linux к общему ресурсу Samba с использованием mount.cifs
в сети, обслуживаемой DHCP.
Вы можете изменить настройки IPv4 DNS графическим способом , как ответили здесь
Но если вам интересно, как сделать то же самое с помощью командной строки, вы должны перечислить файлы в каталоге / etc / NetworkManager / system-connections
с помощью команды ls
:
ls /etc/NetworkManager/system-connections
Там должен быть файл с именем вашего соединения, мой называется Проводное соединение 1
.
Итак, нам нужно отредактировать файл и добавить в него DNS-серверы:
Sudo nano "/etc/NetworkManager/system-connections/Wired connection 1"
Добавьте столько DNS-серверов, сколько хотите, в разделе [ipv4]
и разделите их точками с запятой ;
, а также поставьте ;
в конце последний DNS-сервер следующим образом:
[ipv4]
dns=1.1.1.1;8.8.8.8;9.9.9.9;
Вы можете просто удалить эту строку, если не хотите назначать какие-либо DNS.
Также вы должны добавить эту строку ignore-auto-dns = true
на игнорировать DNS-серверы, предоставляемые DHCP (например, DNS-сервер, установленный в конфигурации маршрутизатора):
[ipv4]
dns=1.1.1.1;8.8.8.8;9.9.9.9;
ignore-auto-dns=true
Небольшой контекст этого ответа:
Я пытался выяснить, какой файл редактируется, когда я добавляю DNS-сервер в настройки DNS графического интерфейса пользователя, поэтому я выполнял эту команду более 16 часов: sudo grep -rs "1.1.1.1" /
который сканировал все файлы на моей виртуальной машине Ubuntu, но он так и не закончился даже после столь долгого запуска, но я знал, что возможно, что файл может существовать в / etc / NetworkManager
, поэтому я запустил grep
] снова указал на этот каталог и обнаружил следующее: / etc / NetworkManager / system-connections / Проводное соединение 1: dns = 1.1.1.1;
, поэтому я вернулся сюда, чтобы написать ответ, только чтобы узнать Лекенштейн уже указывал на это в комментариях к принятому ответу .
Создайте файл настроек (с разрешениями sudo)
/etc/sysconfig/network-scripts/ifcfg-default-dhcp
с содержимым:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=no
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME="default setting on boot"
UUID=616e72fa-e208-358c-8567-d0eae408e989
DEVICE=enp0s31f6
ONBOOT=yes
AUTOCONNECT_PRIORITY=-999
DNS1=8.8.8.8
DNS2=8.8.8.4
IPV6_PEERDNS=no
Сначала вам нужно установить resolveconf.service
:
sudo apt-get update
sudo apt-get install resolvconf
Затем вам нужно запустить службу resolvconf:
sudo systemctl start resolvconf.service
Затем вам нужно включить resolvconf.service
при загрузке:
sudo systemctl enable resolvconf.service
Вы можете проверить статус с помощью команды:
sudo systemctl status resolvconf
Вы увидите что-то вроде этого:
Затем вам нужно изменить конфигурацию в файле /etc/resolv.conf.d/head
:
sudo nano /etc/resolvconf/resolv.conf.d/head
Вам нужно добавить свои DNS-серверы, как это (Google DNS). Вы можете добавить:
IPv4-адреса:
сервер имен 8.8.8.8
сервер имен 8.8.4.4
или IPv6-адреса:
nameserver 2001: 4860: 4860 :: 8888
сервер имен 2001: 4860: 4860 :: 8844
Затем вам нужно перезапустить службу resolvconf.service
:
sudo systemctl restart resolvconf.service
Теперь вы можете проверить файл /etc/resolve.conf
. И вы увидите свой новый DNS.
sudo nano /etc/resolv.conf
открыть этот файл
$ sudo nano /etc/resolv.conf
Удалите IP-адрес, созданный NetworkManager, и добавьте следующий строка (я добавляю сюда адрес 1.1.1.1.)
nameserver 1.1.1.1
Сохраните и выйдите, затем запустите следующую команду, чтобы NetworkManager не переопределял файл
$ sudo chattr +i /etc/resolv.conf
Если вы хотите изменить тип файла sudo chattr -i / etc / resolv.conf
и добавьте свою конфигурацию, наконец, повторно введите команду chattr + i
.