Ubuntu 14 настройка dns

Обновлено: 04.07.2024

Я только что обновился до Ubuntu 14.04, потому что сделал что-то неприятное и неуклюже удалил файлы конфигурации на моей предыдущей Ubuntu 12.04, и теперь моя сеть не работает должным образом.

POP-сервер моей почты - это что-то вроде pop.univmtl.ca, это наш университетский почтовый сервер. Когда я за пределами университета, адрес POP-сервера - 142.137.XXX.130, а когда я в университете, он должен быть 10.162.XXX.162. Проблема в том, что моя почта больше не работает каждый раз, когда я подключаюсь к локальной сети моего университета.

Поэтому я попытался пропинговать pop.univmtl.ca -c4, а затем обнаружил, что POP-сервер все еще работает в режиме 142.137.XXX.130, хотя я нахожусь в локальной сети университета. И когда я пытаюсь изменить настройки POP моей почты на IP-адрес сервера POP (10.162.XXX.162), тогда я все еще могу получать свою почту. Но я не хочу менять этот адрес каждый раз, поэтому я искал проблемы с настройками DNS.

Я не экспериментировал с Ubuntu и сетями, но после поиска в Google я отредактировал

и добавил почти каждый DNS-сервер, который я обнаружил, когда я пингую с моего планшета, вот строка:

добавьте серверы доменных имен 10.162.X.50, 10.162.X.51, 206.167.X13.111, 206.167.X53.111, 8.8.8.8, 8.8.4.4;

(Извините за изменение некоторых цифр на X, я ничего не знаю о юридической проблеме).

Что я? Информация о соединении, когда я открываю графический интерфейс сетевого менеджера, выглядит нормально, похоже, что используется правильный DNS, и когда я делаю

nmcli список разработчиков iface wlan0 | grep IP4

Но даже при такой конфигурации ping pop.univmtl.ca -c4 все равно выдает мне неправильный IP-адрес POP-сервера. nm-tool дал мне тот же вывод, что и выше. Также я попытался выполнить sudo gedit /etc/resolvconf/resolv.conf.d и прокомментировать строку dns = dnsmasq. Это не решило проблему.

Пожалуйста, помогите мне, я не знаю, что еще делать! Я пытался найти все, что может сбросить все конфигурации сети, но моя проблема все еще там. Заранее спасибо.

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

Требования к системе

Прежде чем Вы начнете, убедитесь, что:

Различные сетевые утилиты, предназначенные для автоматического конфигурирования сети выключены. Например, тут Вы можете прочитать, как отключить установленный по умолчанию в Ubuntu сетевой помощник Network Manager. Различные сетевые фильтры (например iptables), и утилиты их конфигурирования (например, Firestarter) отключены/правильно настроены и не вмешиваются в работу сети. У Вас есть все необходимые параметры для подключения в Вашей сети (например, IP-адрес, маска подсети и шлюз по умолчанию для соединения с использованием статического IP). Устройства сети осуществляющие фильтрацию по MAC-адресу правильно настроены и «знают» Ваш сетевой интерфейс. Драйвер Вашего сетевого устройства корректно установлен, кабель (при проводном соединении) исправен и подсоединен.

Для настроек вам обязательно потребуется имя вашего сетевого адаптера. Его можно узнать из вывода команды:

Она позволяет посмотреть подключенные сетевые устройства.

Пример вывода команды:

Обратите внимание на строку:

eth0 - это и есть искомое имя сетевого интерфейса.

Имя eth0 будет далее применяться для настройки именно данной сетевой карты. Где eth обозначает что используется Ethernet интерфейс, а 0 - номер устройства. Если у вас установлено несколько сетевых устройств, то, соответственно, им будут присвоены имена: eth0 , eth1 , eth2 и т.д.

После внедрения SystemD (начиная с Ubuntu 15.04) сетевые интерфейсы могут иметь другие имена (не ethX). Сделано это для того, что бы имена сетевых устройств не менялись при подключении к машине новых адаптеров (в последнее время, некоторые USB модемы выступают в роли сетевого адаптера). В результате eth0 может называться например enp0s4 или eno1, или даже enx78e7d1ea46da. Именно это имя сетевого адаптера и нужно использовать в настройке сети.

Более подробно о наименовании сетевых интерфейсов в SystemD можно почитать тут (англ.).

Такое переименование можно отключить добавив в /etc/default/grub, в строку с переменной GRUB_CMDLINE_LINUX_DEFAULT строку net.ifnames=0. После этого нужно выполнить sudo update-grub

Настройка проводной сети

Настройка IP-адреса, шлюза по умолчанию, маски подсети

Отредактируйте файл конфигурации /etc/network/interfaces , например так:

И допишите в него:
Для статического IP:

iface eth0 inet static - указывает, что интерфейс ( iface eth0 ) находится в диапазоне адресов IPv4 ( inet ) со статическим ip ( static ); address 192.168.0.1 - указывает что IP адрес (address) нашей сетевой карты 192.168.0.1; netmask 255.255.255.0 - указывает что наша маска подсети (netmask) имеет значение 255.255.255.0; gateway 192.168.0.254 - адрес шлюза ( gateway ) по умолчанию 192.168.0.254; auto eth0 - указывет системе что интерфейс eth0 необходимо включать автоматически при загрузке системы с вышеуказанными параметрами.

eth0 - имя подключаемого своего интерфейса. Список интерфейсов можно посмотреть набрав:

В итоге файл /etc/network/interfaces должен выглядеть примерно так:
(для одного проводного соединения со статическим IP)

Сохраните файл и закройте редактор. В данном примере (редактор nano) - нажмите Ctrl + X , затем Y , убедитесь, что «Имя файла для записи» - /etc/network/interfaces и нажмите Enter .

Более подробно про синтаксис файла /etc/network/interfaces можно прочитать в документации.

Пример конфигурации для динамического IP:

Временная настройка IP-адреса и маски подсети

При необходимости задать пробные настройки, выполните:

Где 192.168.0.1 - наш IP-адрес, /24 - число бит в префиксной части адреса (соответствует маске подсети 255.255.255.0).
eth0 - подключаемый сетевой интерфейс.

Данные настройки пропадут после перезагрузки системы и не повлияют на файл /etc/network/interfaces

Настройка DNS

Обратите внимание - в /etc/resolv.conf, при записи нескольких серверов используется несколько ключей nameserver, а в /etc/network/interfaces все адреса DNS серверов записывались в одну строчку после ключа dns-nameservers, разделенные пробелами.

В итоге описание статического интерфейса в /etc/network/interfaces должно выглядеть примерно так:

Ubuntu до версии 12.04

В более старых версиях ubuntu, когда есть необходимость указать статические адреса DNS серверов (если они не выдаются автоматически) выполните:

Настройка соединений ppp

За создание соединений типа «точка-точка» в Ubuntu отвечает демон pppd , более подробная информация о котором доступна в документации. В рамках данного руководства будут рассмотрены примеры создания PPPoE подключения через DSL модем, подключения PPTP (VPN-подключения) и DIAL-UP подключения через обычный модем.

Соединение PPPoE

В стандартную установку Ubuntu входит утилита для настройки PPPoE соединений – pppoeconf , для ее запуска наберите:

Появится «псевдографическое» 2) окно в терминале. Утилита произведет поиск сетевых устройств и выведет их на экран, далее она произведет поиск модема 3) на этих устройствах. Если на этом этапе pppoeconf выдаст отрицательный результат - проверьте правильность подключения, питание модема. Следующий шаг - выбор «популярных параметров» - в большинстве случаев стоит согласиться. Далее утилита запросит Ваш логин, а затем - пароль. Теперь - выбор способа указания DNS серверов. Опять же, в большинстве случаев следует согласиться на получение адресов DNS серверов автоматически. Далее Вам предложат ограничить размер MSS до 1452-х байт - как правило, стоит согласиться. Следующий вопрос - устанавливать ли подключение автоматически при загрузке компьютера. Последний вопрос утилиты - установить ли соединение сейчас. pppoeconf по умолчанию создает для подключения имя dsl-provider. Управлять подключением Вы можете при помощи команд:

Если в Вашем случае опций, предоставляемых утилитой pppoeconf недостаточно - обратитесь к документации по pppd или pppoeconf.

Замечание: при настройке соединения с помощью pppoeconf часть настроек записывается в /etc/network/interfaces , в результате чего Network Manager больше не может управлять сетью. Выход: либо использовать только NM, либо только консоль+конфиги. Вернуть управление Network Manager можно следующим образом. Приведите /etc/network/interfaces к следующему виду (лишнее не обязательно удалять, достаточно закомментировать):

Перезагрузитесь или перезапустите Network Manager:

Соединение PPTP

И добавьте туда опции подключения, например такие:

Далее - отредактируйте файл /etc/chap-secrets 4) и добавьте туда:

После перезагрузки системы Вы сможете управлять соединением при помощи команд:

Процесс настройки VPN-соединения может сильно облегчить скрипт-помощник.

Настройка DIAL-UP подключения

Для настройки модемного соединения можно использовать встроенный конфигуратор pppd - pppconfig или специальную утилиту wvdial .

При помощи pppconfig

Процесс настройки при помощи pppconfig во многом похож на утилиту pppoeconfig , Вам по очереди будут заданы вопросы о параметрах подключения, и будет предложено ввести номер телефона, логин и пароль, а также имя соединения. Запускать pppconfig следует с правами суперпользователя. Например так:

Управлять соединением можно так:

Где my-provider - имя, присвоенное Вами соединению при настройке.

При помощи wvdial

В некоторых случаях (например при подключении с использованием мобильного телефона), удобнее использовать wvdial . Для этого нужно его сначала установить. Например так:

В состав пакета wvdial входит утилита автоматического конфигурирования - wvdialconf .

Вывод будет примерно следующим:

Теперь остается только отредактировать файл /etc/wvdial.conf и добавить в него номер телефона, логин и пароль.

В данном примере я дополнительно добавил несколько опций. См. комментарии.

Файл /etc/wvdial.conf разбит на секции, в качестве разделителей которых выступают сами названия секций, предварённые словом Dialer, в квадратных скобках. Если исполнять команду без параметров, то в дело пойдут установки, перечисленные в секции Defaults. В противном случае дополнительно будут исполнены указанные в добавочных секциях команды.

Теперь, когда все настроено, соединение можно установить набрав:

Если потребуется запустить wvdial с набором номера в импульсном режиме, то это можно сделать командой

Прервать соединение можно прервав выполнение команды wvdial , т.е. в том же терминале нужно нажать Ctrl + C .

Автоматическое подключение

Отредактируйте файл конфигурации /etc/network/interfaces , например так:

И допишите в него:
Для pppoe , pptp , и модемного подключения без использования wvdial :

Где my-provider - название вашего соединения.
При использовании wvdial :

Теперь при перезапуске сетевых служб соединение будет автоматически установлено.

Ручная настройка роутинга

Если Вы не получаете адрес шлюза по-умолчанию от сервера, к которому подключаетесь, или по какой-либо иной причине Вам необходимо указать маршруты вручную - Вы можете создать свой скрипт в /etc/ppp/ip-up.d/ , либо по рекомендации официальной документации создать /etc/ppp/ip-up.local например так:

со следующим кодом:

Далее - сделайте этот скрипт исполняемым, например так:

Теперь маршруты будут автоматически подключаться при установлении ppp-соединения.

Установка MTU и TTL

MTU (Maximum Transfer Unit) - параметр определяет величину максимальной единицы передачи. Это максимальное количество октетов (байт), которое интерфейс способен поддерживать за одну операцию приема/передачи. Для Ethernet это значение по умолчанию составляет 1500 (максимальный размер пакета Ethernet).

TTL (Time To Live) - время жизни ip-пакета в секундах. Нужен чтобы избежать перегрузки сети пакетами. Обычно каждый роутер, через которого прошел пакет, уменьшает TTL на еденицу. Если TTL=0, пакет из системы удаляется. Изначально TTL=128 (для Windows) и TTL=64 (для Ubuntu). Для DNS -записей TTL определяет время актуальности данных при кешировании запросов.

Для изменения величины MTU, отредактируем файл конфигурации /etc/network/interfaces , например так:

Для изменения величины TTL наберите:

Значение TTL меняется только с правами администратора, для выхода из аккаунта администратора введите exit

Настройка WiFi

Настройка Wi-Fi при помощи wpa-supplicant и /etc/network/interfaces

В этой главе пойдет речь о настройке подключения к существующей Wi-Fi сети с использованием наиболее безопасного на сегодняшний день стандарта шифрования и аутентификации WPA2. Дополнительно приведены примеры настроек для менее безопасных соединений.

Если Вы можете повлиять на настройку точки доступа, например, в случае, если это Ваш домашний Wi-Fi роутер - постарайтесь настроить авторизацию с использованием WPA2, т.к. это наиболее безопасный протокол аутентификации в беспроводных сетях на настоящий момент.

Замечания

Дополнительно к требованиям, указанным выше Вам следует учесть, что:

После установки всех необходимых пакетов, кабель проводной сети лучше отсоединить. Некоторые устройства (или их драйвера, например Madwifi) не поддерживают WPA2 (AES). Если соединение WPA2 установить не удается, можно попробовать WPA1 (TKIP). Если у Вас RTxxx (Ralink) с драйверами Serialmonkey - этот способ Вам не поможет. Вам следует либо установить пакет ndiswrapper , заменяющий Serialmonkey, либо попробовать другой способ.

Подготовка

Установите пакеты wpa-supplicant и wireless-tools
Например так:

Теперь убедитесь в том, что Ваше беспроводное устройство (в данном примере это «wlan0») работает и «видит» беспроводные сети. Команда

должна выдать примерно такой результат:

а доступные сети можно посмотреть командой

которая должна выдать примерно такой результат:

Ничего страшного, просто введите команду

соответственно выключить устройство можно командой

Настройка

Редактируем /etc/network/interfaces , например так:

Удаляем (или комментируем) все упоминания нашего беспроводного интерфейса и добавляем свои:

Генерация ключей

Теперь нам нужно сконвертировать нашу ключевую фразу (WPA ASCII ) в hex-ключ:

Результат будет примерно таким:

hex-ключ это все символы после «psk=».

Нужно его скопировать в буфер обмена и вставить в файл /etc/network/interfaces в поле wpa-psk.

Теперь можно сохранить файл и перезагрузить сеть. Должно установиться соединение. Однако иногда этого сразу не происходит. Если это так - перезагружаем машину.

Дополнительно

Отключаем чтение файла /etc/network/interfaces для others во избежания попадания пароля от сети к третьим лицам.

Примеры конфигураций

WPA2 + статический IP, скрытый ESSID.

Другие способы работы Wi-Fi оборудования

При помощи Wi-Fi адаптера также возможно установить децентрализованную сеть ad-hoc или сделать из компьютера под управлением Ubuntu точку доступа. Поскольку описание данных способов Wi-Fi подключения выходит за рамки этого руководства - обратитесь к соответствующим разделам. Ссылки на эти разделы см. в разделе Cсылки .

Решение проблем

Не устанавливается соединение по Wi-Fi/Ethernet с точкой доступа/маршрутизатором

Симптомы: сеть обычно изначально работает нормально, долго или недолго, а затем неожиданно пропадает и не появляется после перезагрузки. Эта проблема может быть непостоянной. Сеть «сама собой» начинает работать, а затем пропадает вновь. При перезапуске адаптера сети таким образом:

будет выводиться в консоль похожий текст

Причиной проблемы может быть то, что материнская плата полностью не обесточивается при выключении компьютера. При этом вероятно не обесточивается и некоторое периферийное оборудование, в т.ч. могут не обесточиваться usb порты. Если вы используете, например, Wi-Fi usb-адаптер, то в таком случае можно заметить горящий на адаптере светодиод (если он им оборудован). Вероятно проблема возникает из-за того, что сетевое оборудование в этом режиме работает не совсем корректно.

Простое решение проблемы состоит в выключении компьютера и выдергивании кабеля питания из розетки с последующим подключением шнура питания и включением компьютера.

Сложное решение проблемы состоит в настройке параметров BIOS-а на полное обесточиваение сетевого оборудования при выключении компьютера.

Иногда наглухо пропадает соединение по Wi-Fi с точкой доступа/маршрутизатором

Симптомы: сеть изначально работает, а затем после перезагрузки точки доступа/маршрутизатора неожиданно пропадает, и не появляется ни после перезагрузки, ни после танцев с бубном. При этом беспроводной адаптер в упор не видит точку доступа (хотя она может стоять рядом с компьютером), но прекрасно видит все соседские сети. Затем после

перезагрузки маршрутизатора сеть сама собой появляется вновь.

Причиной проблемы может быть то, что некоторые маршрутизаторы произвольно выбирают номер рабочего канала, игнорируя номер канала выбранный в настройках маршрутизатора. Если в файле /etc/network/interfaces номер канала для беспроводного интерфейса указан, то вероятно проблема состоит именно в этом. Номер 6 канала указывается в файле примерно так:

Простое решение проблемы состоит в комментировании этого параметра, чтобы адаптер не был ограничен только этим каналом, и перезапуске сети

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

Перезапуск сети

Теперь, когда все необходимые действия выполнены, можно перезапустить сеть и проверить соединение. Для этого:

Теперь, при запуске команды ip addr должно отобразиться подключение eth0 с выставленными параметрами. Если подключение отображается, но параметры не такие, какие были указаны в файле /etc/network/interfaces , либо возникают любые другие ошибки, перепроверьте этот файл на наличие неточностей и опечаток и попробуйте ещё раз перезапустить сеть.

FAQ по сетям

Как зайти на мой компьютер извне (через интернет)?

Для начала надо узнать, какой IP-адрес даёт провайдер — серый или белый (не путать со статическим/динамическим). Если серый, то ничего не получится. Если белый, то возможны два варианта:

Роутера нет или он работает в режиме бриджа (моста). В этом случае белый IP-адрес присваивается самому компьютеру. Вводим адрес — попадаем на комп, всё просто. Белый адрес присваивается роутеру. Соответственно, по этому адресу мы попадаем на роутер, а не на компьютер. Чтобы попасть на компьютер, на роутере нужно пробросить порты (см. ниже).

Мне кажется, у меня слишком медленно работает сеть!

Измерьте скорость сети между двумя компьютера с помощью iperf . Можно воспользоваться этой инструкцией. В ней предлагают скомпиллировать программу из исходников, но можно просто установить её из репозитория. Если iperf покажет значение немного меньшее, чем ожидаемое, то с сетью всё в порядке, проблема может быть в железе (жёсткий диск/процессор не могут обеспечить большую скорость), в способе передачи (например, scp и ftp весьма неторопливы), в настройках (скорость может быть ограничена, например, настройками FTP -сервера) или в чём-то ещё. Если iperf показал величину, которая в разы меньше желаемой, то да - с сетью проблемы. Стоит посмотреть, в нужном ли режиме работает карта (например, с помощью ethtool ), проверить наличие «errors» в выводе ifconfig и протестировать скорость подключения к какому-нибудь третьему компьютеру.

Как узнать, какие программы слушают порты на моём компьютере?

Чтобы посмотреть список открытых портов и названия слушающих их программ, используйте команду:

Для вывода информации о конкретном порте можно использовать grep . Например, для 80 порта:

Из вывода netstat не всегда понятно, о какой программе идёт речь (например, 2671/python), подробнее о процессе расскажет ps :

Как присвоить два IP-адреса одной сетевой карте?

Например, интерфейсу eth0 нужно добавить адрес 192.168.1.1. Кратковременно, до перезапуска сети:

Навсегда — добавить в /etc/network/interfaces следующее:

Как пробросить порт?

Например, нужно пробросить порт 8081. Адрес, на который обращается клиент, назовём внешний_ip, а адрес, на который он должен попасть — внутренний_ip.

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

Данный мануал поможет настроить в Ubuntu 14.04 внутренний DNS-сервер с помощью сервера имен BIND (BIND9), который может использоваться вашими серверами для разрешения внутренних имен хостов и IP-адресов. Это обеспечивает централизованный способ управления внутренними именами хостов и IP-адресами, что необходимо для среды, которая состоит из нескольких хостов.

Требования

Для работы вам понадобится следующая инфраструктура. Все серверы должны находиться в одном ЦОД с включенной поддержкой частной сети.

  • Свежий сервер Ubuntu 14.04 для настройки первичного DNS-сервера (в мануале он называется ns1).
  • Рекомендуется: сервер Ubuntu 14.04 для настройки вторичного DNS-сервера (в мануале он называется ns2).

На каждом из этих серверов настройте пользователя sudo и брандмауэр, следуя мануалу по начальной настройке сервера Ubuntu 14.04.

Пример инфраструктуры

В мануале предполагается, что:

Хост Роль Частный FQDN Внутренний IP-адрес
host1 Клиент Host 1 host1.nyc3.example.com 10.128.100.101
host2 Клиент Host 2 host2.nyc3.example.com 10.128.200.102

Примечание: Ваша ситуация будет отличаться, но условные имена и IP-адреса будут использоваться в этом мануале для демонстрации настройки DNS-сервера для обеспечения работы внутреннего DNS. Вы должны легко адаптировать эту настройку к своей собственной среде, заменив имена хостов и внутренние IP-адреса своими собственными данными. Использовать имя региона центра обработки данных в схеме именования нет необходимости, но мы используем его здесь, чтобы обозначить, что эти хосты принадлежат частной сети одного центра обработки данных. Если вы используете несколько центров обработки данных, вы можете настроить внутренний DNS в каждом соответствующем ЦОД.

В результате у вас будет первичный DNS-сервер ns1 и вторичный DNS-сервер ns2.

Хост Роль Частный FQDN Внутренний IP-адрес
ns1 Первичный DNS-сервер ns1.nyc3.example.com 10.128.10.11
ns2 Вторичный DNS-сервер ns2.nyc3.example.com 10.128.20.12

1: Установка BIND на DNS-серверы

Примечание: Условные адреса и имена хостов. которые мы используем в коде, вы должны заменить своими данными .

На серверах ns1 и ns2 обновите индекс пакетов:

sudo apt-get update

Затем установите BIND:

sudo apt-get install bind9 bind9utils bind9-doc

Настойка режима IPv4

Прежде чем продолжить, переведите BIND в режим IPv4, поскольку частная сеть использует только IPv4. На обоих серверах отредактируйте конфигурационный файл по умолчанию bind9:

sudo vi /etc/default/bind9

Добавьте опцию -4 в конец параметра OPTIONS:

OPTIONS="-4 -u bind"

Сохраните и закройте файл.

2: Настройка первичного DNS-сервера

Конфигурация BIND состоит из нескольких файлов, которые включены в основной файл конфигурации named.conf. Имена этих файлов начинаются с named, потому что это имя процесса, который запускает BIND. Начнем с настройки файла options.

Файл options

На сервере ns1 откройте этот файл:

sudo vi /etc/bind/named.conf.options

Над существующим блоком options создайте новый блок управления доступом ACL (access control list) под названием trusted. Здесь можно определить список клиентов, которые могут отправлять рекурсивные DNS-запросы (например, ваши серверы, находящиеся в том же ЦОД, что и ns1). Добавьте ns1, ns2, host1 и host2 в список доверенных клиентов:

Теперь, когда у вас есть список доверенных DNS-клиентов, можно отредактировать блок options. В настоящее время начало блока выглядит следующим образом:

options directory "/var/cache/bind";
.
>

Под директивой directory добавьте выделенные строки конфигурации (и укажите соответствующий IP-адрес сервера ns1):

Теперь сохраните и закройте файл named.conf.options. В приведенной выше конфигурации указано, что только ваши доверенные серверы смогут запросить внешние домены у DNS-сервера.

Затем нужно настроить файл local, чтобы определить DNS-зоны.

Настройка файла local

На ns1 откройте файл named.conf.local:

sudo vi /etc/bind/named.conf.local

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

Добавьте зону прямого просмотра, заменив имя зоны и внутренний IP-адрес вторичного DNS-сервера в директиве allow-transfer:

Учитывая, что вы используете частную подсеть 10.128.0.0/16, добавьте зону обратного просмотра (обратите внимание, что имя этой зоны начинается с «128.10», обратно от «10.128»):

Если ваши серверы охватывают несколько частных подсетей, но находятся в одном и том же центре данных, обязательно укажите дополнительный файл зоны и зону для каждой отдельной подсети. Когда вы закончите добавлять все нужные зоны, сохраните и выйдите из файла named.conf.local.

Теперь, когда зоны указаны в BIND, необходимо создать соответствующие файлы зон прямого и обратного просмотра.

Создание файла зоны прямого просмотра

Создайте каталог, в котором будут находиться файлы зон. Согласно конфигурации named.conf.local, его расположение – /etc/bind/zones:

sudo mkdir /etc/bind/zones

В качестве основы для файла зоны прямого просмотра можно использовать файл зоны db.local. Скопируйте его в нужное место:

Откройте файл в редакторе:

Изначально он выглядит так:

$TTL 604800
@ IN SOA localhost. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost. ; delete this line
@ IN A 127.0.0.1 ; delete this line
@ IN AAAA ::1 ; delete this line

Затем удалите три записи в конце файла (после записи SOA). В исходном файле выше они отмечены комментарием «delete this line».

В конец файла добавьте записи своего сервера имен (замените имена своими данными). Обратите внимание, что во втором столбце указано, что это записи NS.

Сохраните и закройте файл.

В результате файл зоны имеет такой вид:

Теперь пора заняться файлом (файлами) зоны обратного просмотра.

Создание файла(ов) зоны прямого просмотра

На ns1 для каждой зоны обратного просмотра, указанной в файле named.conf.local, создайте отдельный файл. Этот файл (файлы) зоны обратного просмотра можно создать на основе файла db.127. Скопируйте его в нужное место (имя целевого файла должно соответствовать определению вашей зоны обратного просмотра):

cd /etc/bind/zones
sudo cp ../db.127 ./db.10.128

Отредактируйте файл, соответствующий зоне (зонам) обратного просмотра, определенной в named.conf.local:

sudo vi /etc/bind/zones/db.10.128

Изначально файл будет выглядеть так:

$TTL 604800
@ IN SOA localhost. root.localhost. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost. ; delete this line
1.0.0 IN PTR localhost. ; delete this line

Так же, как и в файле зоны прямого просмотра, здесь нужно отредактировать запись SOA и увеличить значение serial. Этот блок должен выглядеть примерно так:

Теперь удалите две записи в конце файла (после записи SOA). Выше они помечены комментарием «delete this line».

В конце файла добавьте записи своего сервера имен (замените имена на свои). Обратите внимание, что во втором столбце указано, что это записи NS.

Затем добавьте записи PTR для всех ваших серверов, чьи IP-адреса находятся в подсети этой зоны. В данном примере она включает в себя все хосты, потому что все они находятся в подсети 10.128.0.0/16. Обратите внимание: первый столбец состоит из двух последних октетов внутренних IP-адресов серверов в обратном порядке. Не забудьте заменить имена и внутренние IP-адреса своими данными.

Сохраните и закройте файл зоны. Повторите этот раздел для каждой отдельной зоны обратного просмотра.

В результате файл имеет такой вид:

Проверка синтаксиса конфигурации BIND

Запустите следующую команду, чтобы убедиться, что в файлах нет ошибок:

Команда named-checkzone может использоваться для проверки правильности ваших файлов зон. Ее первый аргумент указывает имя зоны, а второй – соответствующий файл зоны, которые определены в named.conf.local.

А чтобы проверить конфигурацию зоны обратного просмотра 128.10.in-addr.arpa, выполните следующую команду:

sudo named-checkzone 128.10.in-addr.arpa /etc/bind/zones/db.10.128

Проверив все конфигурационные файлы, вы можете перезапустить сервис BIND.

Перезапуск BIND

Чтобы перезапустить BIND, введите:

sudo service bind9 restart

Первичный DNS-сервер настроен и может обрабатывать запросы DNS. Теперь создадим вторичный сервер.

3: Настройка вторичного DNS-сервера

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

На ns2 отредактируйте файл named.conf.options:
sudo vi /etc/bind/named.conf.options

В начале файла добавьте ACL с внутренними IP-адресами доверенных серверов.

Под директивой directory вставьте такие строки:

Сохраните и закройте файл named.conf.options. Этот файл должен выглядеть точно так же, как и файл named.conf.options сервера ns1, за исключением того, что он должен прослушивать внутренний IP-адрес ns2.

Теперь отредактируйте файл named.conf.local:

sudo vi /etc/bind/named.conf.local

Определите вторичные зоны, соответствующие зонам первичного DNS-сервера. Обратите внимание, что тип должен быть slave, файл не содержит пути, и в нем есть директива masters, которая должна указывать внутренний IP-адрес первичного DNS-сервера. Если вы определили несколько зон обратного просмотра на первичном DNS-сервере, обязательно укажите их все здесь.

Сохраните и закройте файл.

Чтобы проверить файлы на наличие ошибок, введите:

Если ошибок нет, перезапустите BIND:

sudo service bind9 restart

Теперь у вас есть первичный и вторичный DNS-сервер. Пора настроить клиентские серверы.

4: Настройка DNS-клиентов

Прежде чем все ваши серверы из ACL trusted смогут запрашивать DNS-серверы, нужно настроить каждый из них для использования ns1 и ns2 в качестве серверов имен. Этот процесс зависит от ОС, но в большинстве дистрибутивов Linux для этого нужно добавить серверы имен в файл /etc/resolv.conf.

Клиенты Ubuntu

На серверах Ubuntu и Debian Linux вы можете отредактировать файл head:

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

Добавьте в файл следующие строки (указав свои данные).

Запустите resolvconf, чтобы сгенерировать новый файл resolv.conf.

sudo resolvconf -u

Настройка клиента завершена.

Клиенты CentOS

В CentOS, RedHat и Fedora Linux отредактируйте файл resolv.conf:

sudo vi /etc/resolv.conf

Добавьте следующие строки в начало файла, указав в них свои данные:

Сохраните и закройте файл.

Настройка клиента завершена.

5: Тестирование клиентов

Используйте nslookup, чтобы проверить, могут ли ваши клиенты запрашивать серверы имен. Вы должны иметь возможность сделать это на всех клиентах, которые вы настроили и которые находятся в доверенном ACL.

Прямой просмотр

Теперь попробуем обратный просмотр.

Обратный просмотр

Чтобы протестировать обратный просмотр, запросите:

Команда должна вернуть такой вывод:

Теперь рассмотрим сохранение записей в зоне.

6: Поддержка DNS-записей

Итак, у вас есть рабочий внутренний DNS, и вам необходимо сохранить свои записи DNS, чтобы они точно отражали вашу серверную среду.

Добавление хоста в DNS

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

  • Файл зоны прямого просмотра: добавьте запись «А» для нового хоста, увеличьте значение Serial.
  • Файл зоны обратного просмотра: добавьте запись PTR для нового хоста, увеличьте значение Serial.
  • Добавьте внутренний IP-адрес нового хоста в ACL trusted (named.conf.options).
  • Перезапустите BIND:

sudo service bind9 reload

Теперь ваш первичный сервер должен поддерживать новый хост.

  • Добавьте внутренний IP нового хоста в ACL trusted (named.conf.options).
  • Перезапустите BIND:

sudo service bind9 reload

Теперь ваш вторичный сервер должен поддерживать новый хост.

Чтобы настроить новый хост для поддержки DNS:

  • Настройте поддержку в файле /etc/resolv.conf.
  • Протестируйте работу хоста с помощью nslookup.

Удаление хоста из DNS

Если вы удалите хост из своей среды или просто хотите удалить его из DNS, просто удалите все данные о нем, которые вы добавили при настройке поддержки DNS.

Заключение

Теперь вы можете ссылаться на внутренние сетевые интерфейсы своих серверов по имени, а не по IP-адресу. Это упрощает настройку сервисов и приложений, поскольку вам больше не нужно запоминать IP-адреса, и файлы станет легче читать и понимать.

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

как настроить сеть в ubuntu

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

Настраиваем сеть в Ubuntu

Существует множество видов подключений к интернету, но в этой статье будут рассмотрены самые популярные: проводная сеть, PPPoE и DIAL-UP. Также будет рассказано про отдельную настройку DNS-сервера.

Подготовительные мероприятия

Вам необходимо будет выполнить ряд пунктов:

    Убедиться, что утилиты, служащие для автоматического подключения к сети, выключены. Например, выполняя настройку через «Терминал», рекомендуется отключить Network Manager (значок сети в правой части верхней панели).

Примечание: в зависимости от статуса соединения, индикатор Network Manager может отображаться по-разному, но он всегда располагается слева от языковой панели.

иконка тetwork manager в ubuntu

Чтобы произвести отключение утилиты, выполните следующую команду:

$ sudo stop network-manager

А для запуска можете использовать эту:

$ sudo lshw -C network

По итогу вы увидите примерно следующее:

выполнение команды lshw -C network в ubuntu

Имя вашего сетевого адаптера будет располагаться напротив слова «логическое имя». В данном случае «enp3s0». Именно это название и будет фигурировать в статье, у вас оно может быть другим.

Примечание: если в вашем компьютере установлено несколько сетевых адаптеров, то они будут пронумерованы соответственно (enp3s0, enp3s1, enp3s2 и так далее). Определитесь, с каким вы будете работать, и используйте его в последующих настройках.

Способ 1: Терминал

Настройка проводной сети

Настройка проводной сети в Ubuntu выполняется путем внесения новых параметров в конфигурационный файл «interfaces». Поэтому для начала нужно открыть этот самый файл:

$ sudo gedit /etc/network/interfaces

Примечание: в команде для открытия файла настройки используется текстовый редактор Gedit, вы же можете прописать в соответствующей части любой другой редактор, например, vi.

Теперь необходимо определиться, какой тип IP у вашего провайдера. Есть две разновидности: статический и динамический. Если вы точно не знаете, то позвоните в тех. поддержку и проконсультируйтесь с оператором.

Для начала разберемся с динамическим IP — его настройка выполняется проще. После введения предыдущей команды, в открывшемся файле укажите следующие переменные:

iface [имя интерфейса] inet dhcp
auto [имя интерфейса]

  • iface [имя интерфейса] inet dhcp — ссылается на выбранный интерфейс, который имеет динамический IP-адрес (dhcp);
  • auto [имя интерфейса] — при входе в систему делает автоматическое подключение к указанному интерфейсу со всеми заданными параметрами.

После ввода у вас должно получиться примерно так:

настройка проводного подключения с динамическим ip

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

Статический IP настраивать несколько сложнее. Главное — знать все переменные. В конфигурационном файле вам нужно ввести следующие строки:

iface [имя интерфейса] inet static
address [адрес]
netmask [адрес]
gateway [адрес]
dns-nameservers [адрес]
auto [имя интерфейса]

  • iface [имя интерфейса] inet static — определяет IP-адрес адаптера как статический (static);
  • address [адрес] — определяет адрес вашего порта ethernet в компьютере;

команда ifconfig в терминале на ubuntu

После ввода всех параметров вы увидите примерно следующее:

настройка проводного подключения со статическим ip в ubuntu

Не забудьте перед закрытием текстового редактора сохранить все внесенные параметры.

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

Все параметры задаются с помощью одной команды:

$ sudo ip addr add 10.2.119.116/24 dev enp3s0

  • 10.2.119.116 — IP-адрес сетевой карты (у вас он может быть другим);
  • /24 — количество бит в префиксной части адреса;
  • enp3s0 — интерфейс сети, к которой подключен кабель провайдера.

Настройка DNS

Настройка в версиях ОС выше 12.04 происходит в уже известном файле «interfaces». В нем необходимо ввести строку «dns-nameservers» и через пробел перечислить значения.

Итак, сначала откройте через «Терминал» конфигурационный файл «interfaces»:

$ sudo gedit /etc/network/interfaces

Далее в открывшемся текстовом редакторе впишите следующую строку:

По итогу у вас должно получиться примерно так, только значения могут быть другими:

настройка dns серверов в ubuntu

Если вы хотите настроить DNS в Ubuntu более ранней версии, то конфигурационный файл будет другим. Откроем его через «Терминал»:

$ sudo gedit /etc/resolv.conf

После в нем можно задать необходимые адреса DNS. Стоит взять в учет то, что в отличии от ввода параметров в «interfaces», в «resolv.conf» адреса пишутся каждый раз с абзаца, перед значением используется префикс «nameserver» (без кавычек).

настройка dns серверов в ранних версиях ubuntu

Настройка соединения PPPoE

Настройка PPPoE через «Терминал» не подразумевает внесение множества параметров в различные конфигурационные файлы на компьютере. Наоборот, использована будет всего одна команда.

Итак, чтобы совершить подключение типа «точка-точка» (PPPoE), вам необходимо выполнить следующие действия:

поиск концентратора доступа pppoe через сетвой адаптер

Примечание: если утилита по итогу не найдет концентратор, то проверьте, правильно ли подключен кабель провайдера, а также питание модема, если таковой имеется.

настройка pppoe подключения через pppoeconf в ubuntu шаг первый

настройка pppoe подключения через pppoeconf в ubuntu шаг второй

настройка pppoe подключения через pppoeconf в ubuntu шаг четвертый

настройка pppoe подключения через pppoeconf в ubuntu шаг пятый

настройка pppoe подключения через pppoeconf в ubuntu шаг шестой

После всех проделанных действий ваш компьютер установит соединение с интернетом, если вы все сделали верно.

Обратите внимание, что по умолчанию утилита pppoeconf называет созданное подключение dsl-provider. Если вам нужно будет разорвать соединение, то выполните в «Терминале» команду:

$ sudo poff dsl-provider

Чтобы соединение установилось снова, введите:

$ sudo pon dsl-provider

Примечание: если вы подключаетесь к сети, используя утилиту pppoeconf, то управление сетью через Network Manager будет невозможным, ввиду внесения параметров в конфигурационный файл «interfaces». Чтобы сбросить все настройки и передать управление Network Manager, вам необходимо открыть файл «interfaces» и заменить все содержимое на текст, указанный ниже. После ввода сохраните изменения и перезапустите сеть командой «$ sudo /etc/init.d/networking restart» (без кавычек). Также перезапустите утилиту Network Manager, выполнив «$ sudo /etc/init.d/NetworkManager restart» (без кавычек).

сброс всех сетевых настроек через файл interfaces в ubuntu

Настройка соединения DIAL-UP

Чтобы совершить настройку DIAL-UP, можно воспользоваться двумя консольными утилитами: pppconfig и wvdial.

Настроить подключение с помощью pppconfig достаточно просто. В целом данный способ очень похож на предыдущий (pppoeconf): вам точно так же будут заданы вопросы, отвечая на которые по итогу вы установите соединение с интернетом. Сперва запустите саму утилиту:

Что касается настройки с помощью wvdial, то она происходит немного сложнее. Для начала необходимо установить сам пакет через «Терминал». Для этого выполните следующую команду:

$ sudo apt install wvdial

В его состав входит утилита, предназначенная для автоматической конфигурации всех параметров. Называется она «wvdialconf». Запустите ее:

$ sudo gedit /etc/wvdial.conf

конфигурационный файл wvdial.conf в ubuntu

Как можно заметить, большинство настроек уже прописано, но три последних пункта все равно нужно дополнить. Вам необходимо будет прописать в них номер телефона, логин и пароль, соответственно. Однако не спешите закрывать файл, для более удобной работы рекомендуется добавить еще несколько параметров:

  • Idle Seconds = 0 — соединение не будет разорвано даже при долгом бездействии за компьютером;
  • Dial Attempts = 0 — совершает бесконечные попытки установить соединение;
  • Dial Command = ATDP — набор номера будет осуществляться импульсным способом.

По итогу файл конфигураций будет иметь такой вид:

конфигурационный файл wvdial.conf с внесенными дополнительными параметрами

После проведения всех настроек, чтобы установить соединение DIAL-UP, вам необходимо выполнить эту команду:

Если же вы хотите установить импульсное соединение, то пропишите следующее:

$ sudo wvdial pulse

Для того чтобы разорвать установленное соединение, в «Терминале» нужно нажать комбинацию клавиш Ctrl+C.

Способ 2: Network Manager

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

иконка network manager в ubuntu

Настройка проводной сети

Начнем мы точно так же с настройки проводной сети. Для начала необходимо открыть саму утилиту. Для этого кликните по ее иконке и нажмите «Изменить соединения» в контекстном меню. Далее в появившемся окне нужно сделать следующее:

    Кликнуть по кнопке «Добавить».

Сетевые соединения в ubuntu кнопка добавить

выбор типа соединения при настройке проводного соединения в ubuntu

ввод названия проводного соединения в network manager в ubuntu

выбор сетевой карты в network manager в ubuntu

настройка доступа к соединению в network manager в ubuntu

ручная настройка проводного соединения в network manager в ubuntu

После всех проделанных действий проводное интернет-соединение должно быть установлено. Если этого не произошло, проверьте все введенные параметры, возможно, вы где-то допустили ошибку. Также не забудьте проверить, стоит ли галочка напротив «Управление сетью» в выпадающем меню утилиты.

пункт управление сетью в меню network manager в ubuntu

Порою помогает перезагрузка компьютера.

Настройка DNS

Для установки соединения может понадобиться ручная настройка DNS-серверов. Для этого выполните следующее:

  1. Откройте окно сетевых соединений в Network Manager, выбрав из меню утилиты «Изменить соединения».
  2. В следующем окне выделите созданное ранее соединение и нажмите ЛКМ по «Изменить».

кнопка изменить в сетевых соединениях network manager в ubuntu

ввод dns серверов в network manager в ubuntu

После этого настройку DNS можно считать завершенной. Если изменений нет, то попробуйте перезагрузить компьютер, чтобы они вступили в силу.

Настройка PPPoE

Настройка соединения по протоколу PPPoE в Network Manager выполняется так же просто, как и в «Терминале». По сути, вам надо будет указать только логин и пароль, полученные от провайдера. Но рассмотрим все более детальней.

создание dsl соединения в network manager в ubuntu

ввод логина и пароля при подключении pppoe в network manager в ubuntu

вкладка общий в network manager в ubuntu

определение сетевой карты в network manager в ubuntu

выбор параметров ipv4 в network manager в ubuntu

Теперь в меню Network Manager появилось новое DSL-соединение, выбрав которое вы получите доступ в интернет. Напомним, что иногда нужно перезагрузить компьютер, чтобы изменения вступили в силу.

Заключение

По итогу можно сказать, что в операционной системе Ubuntu есть множество инструментов, для осуществления настройки необходимого интернет-соединения. Утилита Network Manager обладает графическим интерфейсом, что в разы упрощает работу, особенно для новичков. Однако «Терминал» позволяет осуществить более гибкую настройку, вводя те параметры, которых в утилите нет.

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Читайте также: