Как настроить локальный DNS используя файл /etc/hosts в Linux

ДевОпс Jul 10, 2020

Установка и настройка Ubuntu Server

Ubuntu Server создана на базе операционной системы Linux. Для её работы не нужен современный процессор, хорошая видеокарта или большой объём оперативной памяти. С Линукс можно развернуть сервер даже на старом ноутбуке. И в нём будут все нужные компоненты: почта, FTP, Web.

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

Её установка проходит так:

Установка и настройка Ubuntu Server
  • Выберите язык и регион, в котором проживаете.
  • Придумайте имя администратора. Оно используется для управления сервером.
  • Также задайте имя пользователя в поле «Username for your account». Под этим аккаунтом вы будете общаться с техподдержкой Ubuntu.

Указываем имя пользователя в Ubuntu

  • Введите пароль. Подтвердите его.

Вводим пароль учетной записи

  • Укажите домен, если он есть. На нём будут находиться все сервисы: файловый (FTP), почтовый, хостинг для сайтов и так далее.
  • Подождите, пока установится система.
  • После этого она предложит дополнительные компоненты.
Установка и настройка Ubuntu Server

Вот список того, что необходимо для сервера Linux и его полноценной работы:

  • Open SSh. Используется для удалённого администрирования. Пригодится, если вы решите управлять сервисом с другого компьютера. Тогда на ПК с Линуксом можно будет отключить монитор и видеоадаптер.
  • LAMP. Комплекс утилит Linux, который включает Apache (Web-сервер). MySQL (базы данных) и PHP (язык программирования для CMS). Эти компоненты нужны для создания управляющего интерфейса.

Далее указано то, что устанавливать необязательно. Выбор дистрибутивов опционален и зависит от того, что вы хотите в итоге получить.

  • Samba file server. Позволяет настроить обмен файлами между компьютерами. Если вам нужен FTP-сервер, выберите этот пункт.
  • Virtual Machine host. Устанавливайте, если собираетесь пользоваться возможностями виртуализации.
  • Print server. Сетевые принтеры.
  • DNS server. Система доменных имён. С ней можно распознать IP-адрес по имени компьютера и наоборот.
  • Mail server. Почтовый сервер.
  • PostgreSQL database. Объектно-реляционные базы данных.

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

Установка и настройка Ubuntu Server

Консоль Ubuntu

Изначально вам надо будет проверить наличие обновлений. Введите команду «Sudo apt-get update» или «Sudo apt-get upgrade» без кавычек. После апдейта можно заняться настройкой всех компонентов серверов: FTP, почтового, Веб.

Для Ubuntu существует псевдографический интерфейс — Midnight Commander. Это аналог оболочки Norton Commander, которая разработана для системы MS DOS. С таким интерфейсом легче работать — всё нагляднее, чем в консоли.

Читайте также:  Выход из тени: 6 малоизвестных команд Linux

Локальная настройка DNS используя файл /etc/hosts в Linux

Теперь откройте файл /etc/hosts используя любой текстовый редактор:

sudo gedit /etc/hosts

Добавьте в этот файл строки в формате:

IP_1 имя_хоста_1 короткое_имя IP_2 имя_хоста_2 IP_3 имя_хоста_3 …………

Например, для моих данных я добавляю:

Локальная настройка DNS используя файл /etc/hosts в Linux

kali mint

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

Изменения, внесённые в файл hosts, вступают в силу немедленно.

Далее проверьте, что всё работает как и ожидается. Выполним пинг первого хоста командой ping. Для других хостов можно сделать аналогичную проверку:

ping -c 4

Или используем сокращённый псевдоним:

ping -c 4 kali

На хосте у меня запущен веб-сервер, поэтому я могу получить к нему доступ в веб-браузере, набрав адрес или более короткий псевдоним http://kali.

Локальная настройка DNS используя файл /etc/hosts в Linux

Важно: обращаться по этим именам к другим компьютерам я могу только с тех систем, где добавлены аналогичные записи в файл /etc/hosts.

Если вы попытаетесь проверить IP адрес с помощью команды dig, nslookup или host, то для локальных хостов не будут найдены записи. Дело в том, что эти команды только делает запросы к DNS серверу и игнорируют настройки в файлах /etc/hosts и /etc/.

Выводы

С использованием сервиса Kubernetes система станет более жизнеспособной и легко управляемой. Внедрив контейнерную имплементацию Kubernetes, вы, несомненно, сможете максимально эффективно использовать свои вычислительные ресурсы и экономить деньги. Мы долгое время работали с DevOps и уже много раз внедряли Kubernetes.

Если вы заинтересованы в развертывании Kubernetes, но не знаете, с чего начать? Свяжитесь с нами и мы обсудим ваш проект.

Есть идеи по поводу вашего проекта?

Свяжитесь с нами!

Сделать запрос

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

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

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

Нажимаем «Новый«, вводим имя кошелька какое угодно (можно не вводить, но я обычно разделяю на mn1 / mn2 / mn3 … чтобы не путаться):

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

Скопировать адрес можно щелкнув по нему правой кнопкой мыши и нажав «скопировать адрес«. На этот адрес нужно перевести ровное количество токенов, я думаю это не сложно и скриншот не нужен.

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

После перевода токенов идем в «консоль отладки«:

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

Нужно создать приватный ключ и посмотреть ID транзакции. Для создания ключа вводим команду «masternode genkey» (без кавычек) :

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

И после вводим команду «masternode outputs«. Иногда лог пустой, значит Вы перевели не точное количество токенов или просто транзакция еще не прошла и нужно будет повторить команду чуть позже. Теперь нужно записать полученные данные после ввода команд:

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

Переходим в папку с кошельком (я его установил в папку DVD на диске C:/) и открыть файл (файл можно открыть блокнотом, wordpad и другим текстовым редактором):

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

Заполняем конфигурацию файла согласно примеру:

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

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

Читайте также:  Как найти самые большие папки и файлы в Linux

Теперь перейдем на сервер.

Файловый сервер

FTP-сервер Linux может понадобиться для обмена документами и загрузки файлов. Существует несколько версий таких ресурсов: vsFTPd, Samba, proFTPd.

Подробнее остановимся на vsFTPd. Его можно установить и запустить одной командой — «sudo apt-get install vsftpd». Дальнейшие настройки зависят от ваших предпочтений и от того, какой сервис вы хотите сделать. Для изменения параметров могут понадобиться права администратора.

Команда «sudo apt-get install vsftpd»

  1. Сразу после загрузки программы система создаёт нового пользователя и добавляет в домашнюю директорию папку, которая предназначена для работы с серверным хранилищем. Также в каталоге «etc» появляется файл «ftpusers». Туда можно добавлять пользователей, которым запрещён доступ к файлам.
  2. После установки лучше сменить директорию, в которой должны находиться файлы, в папку «var». Для этого от имени администратора напишите команду «usermod -d /var/ftp ftp && rmdir /home/ftp».
  3. Создайте новую группу пользователей. Например, «userftp». Напечатайте в консоли «addgroup userftp».
  4. Добавьте в неё новый аккаунт (для простоты назовём пользователя и группу одинаково). Используйте команду «useradd -a /var/ftp -g userftp userftp». Она заодно создаёт пользователя. Чтобы включить в группу уже существующий никнейм, вместо «useradd» напишите «usermod».
  5. Надо придумать пароль новому пользователю. Введите в терминале «passwd userftp».
  6. Напечатайте «chmod 555 /var/ftp && chown root:userftp /var/ftp», чтобы предоставить аккаунту доступ к корневой папке файлового сервера.
  7. Теперь создайте публичную директорию. Последовательно введите «mkdir /var/ftp/pub» и «chown userftp:userftp /var/ftp/pub».

Изначально FTP запускается в автономном режиме. У неё есть скрипт, который играет роль демона. При такой функциональности доступно несколько команд. Они вводятся после строки «sudo service vsftpd».

Команда «sudo service vsftpd»

Дальнейшая настройка сервера заключается в переписывании файла конфигурации, который находится в etc/ У него простая и понятная структура. Разобраться в нём достаточно просто. Хотя для этого нужны определённые знания. Перед изменением этого файла имеет смысл сделать его резервную копию. Чтобы в случае выявления ошибок можно было всё восстановить. Введите команду «cp /etc/ /etc/vsftpd_» и информация будет сохранена.

После этого можно приступать к редактированию.

  • В параметре «listen=» напишите «YES». Тогда сервер будет работать в независимом режиме.
  • «Local_enable» разрешает вход локальным пользователям.
  • «Write_enable» даёт им доступ в домашние каталоги.
  • «Anonymous_enable». Можно ограничить права анонимных пользователей, если поставить «NO». Также есть опция «no_anon_password» — анонимные входят без пароля. Её тоже можно запретить.
Читайте также:  Как читать и определять переменные окружения и оболочки на Linux

Если вы хотите делать публичный сервер, то после строки «listen» надо добавить несколько дополнительных параметров.

  • «Max_clients». Количество одновременных соединений.
  • «Idle_session_timeout» и «data_connection_timeout». Таймауты сессии.
  • «Ftpd_banner». Приветственное сообщение для посетителей. Можно написать, к примеру, «Hello!».

Как работает Kubernetes

Согласно концепции контейнеризации, контейнеры содержат выполняемые сервисы, библиотеки и прочие ресурсы, необходимые для работы этих приложений. Доступ к контейнеру извне реализуется через индивидуально назначаемый ему IP-адрес. Таким образом, в Kubernetes контейнер – это программный компонент самого низкого уровня абстракции. Для межпроцессного взаимодействия нескольких контейнеров они инкапсулируются в поды.

Задачей Kubernetes является динамическое распределение ресурсов узла между подами, которые на нем выполняются. Для этого на каждом узле с помощью встроенного агента внутреннего мониторинга Kubernetes cAdvisor ведется непрерывный сбор данных о производительности и использовании ресурсов (время работы центрального процессора, оперативной памяти, нагрузок на файловую и сетевую системы).

Что особенно важно для Big Data проектов, Kubelet – компонент Kubernetes, работающий на узлах, автоматически обеспечивает запуск, остановку и управление контейнерами приложений, организованными в поды. При обнаружении проблем с каким-то подом Kubelet пытается повторно развернуть и перезапустить его на узле

Аналогично HDFS, наиболее популярной распределенной файловой системе для Big Data-решений, реализованной в Apache Hadoop, в кластере Kubernetes каждый узел постоянно отправляет на master диагностические сообщения (heartbeat message). Если по содержанию этих сообщений или в случае их отсутствия мастер обнаруживает сбой какого-либо узла, процесс подсистемы управления Replication Controller пытается перезапустить необходимые поды на другом узле, работающем корректно .

Принципы работы Kubernetes

Примеры использования кубернетис

Поскольку K8s предназначен для управления множеством контейнеризированных микросервисов, неудивительно, что эта технология приносит максимальную выгоду именно в Big Data проектах. Например, кубернетис используют популярный сервис знакомств Tinder , телекоммуникационная компания Huawei , крупнейший в мире онлайн-сервисом поиска автомобильных попутчиков BlaBlaCar , Европейский Центр ядерных исследований (CERN) и множество других компаний, работающих с большими данными и нуждающимися в инструментах быстрого и отказоустойчивого развертывания приложений .

В связи с цифровизацией предприятий и распространением DevOps-подхода, спрос на владение Kubernetes растет и в отечественных компаниях. Как показал обзор вакансий с рекрутинговой площадки HeadHunter, в 2019 году для современного DevOps-инженера и Big Data разработчика данная технология является практически обязательной.

Kubernetes — настоящий must have для современного DevOps-инженера

Источники