Введение
Имя хоста — это уникальная метка, которая идентифицирует машину в сети.
Должна существовать таблица соответствия между hostname и
это нужно для для маршрутизации пакетов.
Хост может иметь несколько имён, но предпочтительным является вариант, когда имя одно.
Существует три класса hostname : static , pretty и transient .
-
static — традиционное имя хоста, которое может быть установлено пользователем и хранится в
/etc/hostname - pretty — имя хоста UTF8 в свободной форме, используемое для представления пользователю. Например HeiHei’ host.
- transient — динамическое имя хоста, поддерживаемое ядром, которое может быть изменено сервером DHCP или mDNS во время выполнения. По умолчанию это то же самое, что и static имя хоста.
Рекомендуется использовать полное доменное имя ( FQDN ) как для static и для transient имен, таких как host.example.com .
Так как CentOS 7 поддреживает только Fully Qualified Domain Names (FQDNs),
советую тщательно проверить hostname, который вы планируете использовать.
Допустимые значения:
- Строчные буквы от a до z
- Цифры от 0 до 9
- Точки и дефисы
- Hostnames может быть от 2 до 63 символов
- Hostnames должен начинаться и заканчиваться цифрой или буквой
Как указать DNS сервер
Остался последний из основных сетевых параметров — dns сервер. С ним в debian и ubuntu есть определенная путаница. Традиционно в linux для установки dns серверов используется файл /etc/resolv.conf. Но в какой-то момент в этих дистрибутивах появилась программа resolvconf, которая стала управлять настройками dns в системе. В итоге, файл resolv.conf постоянно перезаписывается этой программой. Нужна она в первую очередь для систем, где dns сервера постоянно меняются
Она следит за их изменением и корректно передает информацию об изменении программам, для которых это важно. Я лично не знаю таких программ и мне не приходилось сталкиваться с ситуацией, когда это было необходимо
Если я не ошибаюсь, то в минимальной конфигурации debian программа resolvconf не устанавливается, а вот в ubuntu она стоит. Проверить наличие программы очень просто:
Если в выводе пусто, значит ее нет. Тогда все очень просто. Для того, чтобы указать dns сервер, достаточно его записать в файл /etc/resolv.conf в следующем виде:
192.168.1.1 | локальный dns сервер |
77.88.8.1 | публичный сервер Яндекса |
8.8.8.8 | публичный сервер Гугла |
1.1.1.1 | публичный сервер cloudflare |
Я на всякий случай указал локальный сервер и 3 внешних. Если у вас стоит resolvconf, то в случае ненадобности, удалите его командой:
После этого сервер надо перезагрузить и удалить сломавшуюся символьную ссылку /etc/resolv.conf, а вместо нее создать файл с нужным содержанием, которое я привел выше.
Если же вам по какой-то причине необходима указанная выше программа, она у вас стоит и вы не хотите ее удалять, то адрес dns сервера необходимо указать в файле /etc/network/interfaces, добавив к параметрам интерфейса еще один:
Этот параметр нужно установить сразу после указания шлюза gateway. Несколько адресов разделяются пробелом.
Прощай, CentOS 8
Компания Red Hat объявила о грядущем полном прекращении поддержки Linux-дистрибутива CentOS 8. Выпущенный в сентябре 2019 г., он изначально должен был получать апдейты до 31 мая 2029 г., но теперь последнее обновление для него выйдет 31 декабря 2021 г.
CentOS – это своего рода модификация дистрибутива Red Hat Enterprise Linux (RHEL), но без корпоративной поддержки. Отказавшись от CentOS 8, Red Hat, которую в 2019 г. с гигантской переплатой в миллиарды долларов купила IBM (общая сумма сделки составила $34 млрд – примерно на 60% дороже рыночной стоимости Red Hat), предложила пользователям перейти на CentOS Stream. Ее главное отличие от обычной CentOS заключается в подходе к процессу выпуска обновлений. Отметим, что CentOS 8 и CentOS Stream были анонсированы одновременно – 24 сентября 2019 г.
Изначально Red Hat не имела к CentOS никакого отношения. Проект существует с 2004 г., а Red Hat «присоединилась» к нему лишь в январе 2014 г., объявив, что будет спонсировать дальнейшее его развитие. В этот же период времени к ней перешли все права на товарные знаки Cent OS.
Начинаем пользоваться
Запуск
Запустить TELNET на Windows 7 и на любой другой Винде достаточно просто. Для этого необходимо сначала клиент, если он ещё не установлен:
Зайти в Панель управления.
- Выбрать пункт «Программы».
- Выбрать вкладку «Включение или отключение компонентов Windows».
Найти Telnet-клиент и поставить напротив него маркер, если он ещё не установлен.
После нажимаем «ОК» и ждём минуту, пока клиент устанавливается.
Запуск терминала осуществляется в Windows через командную строку, если у вас не установлено каких-либо специальных утилит для работы с Телнет. Но раз вы читаете эту статью, значит, только начинаете знакомство с этой темой, и для начала неплохо бы было освоить основы управления при помощи командной строки.
- Запускаем командную строку от имени администратора.
- Вводим «telnet».
Командная строка перезагружается, и теперь откроется командная линия TELNET, в которой мы и будем работать.
Проверяем порт
Одно из простейших действий, выполняемых в TELNET — проверка порта. Вы можете проверить порт на наличие доступа к нему с вашего компьютера. Для этого нужно сделать следующее:
В командной строке, открытой по методу выше вводим: telnetip-адрес номер порта
К примеру, если ваш IP-адрес 192.168.0.1, а номер порта 21 (порт FTP), то вводим:
telnet 192.168.0.1 21
Если команда выдаёт сообщение об ошибке, значит, порт недоступен. Если появляется пустое окно или просьба ввести дополнительные данные, значит, порт открыт. Для Windows такой способ проверить порт может быть достаточно удобным.
Команды
Команды TELNET составляют основу использования терминала. С их помощью можно управлять компьютером, который использует этот протокол, если для вас разрешён доступ, а также совершать другие различные действия. Как уже сказано выше, на Windowsони вводятся в командной строке приложения Телнет.
Для того чтобы увидеть основной список команд, введите в строке helpи нажмите «Enter». Базовые команды:
- Open — подключение к удалённому серверу. Необходимо ввести эту команду вместе с именем управляемого сервера и номером порта, например: openredmond 44. Если параметры не указаны, то используются локальный сервер и порт по умолчанию.
- Close — отключение от удалённого сервера. Используются аналогичные параметры.
-
Set — настройка удалённого сервера, используется с именем управляемого сервера. Вместе с Set используются следующие команды:
- — используется, чтобы задавать терминал указанного типа.
- — задаёт управляющий символ.
- — задаёт режим работы.
- Unset — отключает заданный ранее параметр.
- Start — запускает сервер Телнет.
- Pause — ставит работу сервера на паузу.
- Continue — возобновляет работу.
- Stop — останавливает сервер.
TELNET — один из старейших протоколов, но при этом он до сих пор применяется. Это означает, что и вы можете начать использовать его в своих целях. Для этого нужно лишь изучить синтаксис и список команд и начать практиковаться. Вы можете почерпнуть много нового, а заодно совсем по-другому начать смотреть на интернет и на привычные ранее действия в сети.
Как отключить ipv6
В настоящее время активного использования протокола ipv6 в России нет и в обычной работе он чаще всего не нужен. Хотя нас уже много лет пугают, что свободных ip адресов уже практически не осталось, но на деле пока еще всем хватает. Так что с точки зрения практических соображений ipv6 в настоящее время на сервере не нужен и его можно отключить.
Перед отключением ipv6 в centos необходимо на всякий случай проверить, какие программы его используют в своей работе. Это нужно для того, чтобы избежать ошибок в их работе, предварительно отключив ipv6 в конфигурациях. Для того, чтобы увидеть, какие программы висят на ipv6 интерфейсе воспользуемся командой netstat:
Все строки с ::: это ipv6 протокол. В моем случае это sshd, postfix и chronyd. Отключим им ipv6 и оставим только ipv4.
Начнем с sshd. Открываем файл настроек /etc/ssh/sshd_config и находим строки:
Раскомментируем их и изменим. Должно получиться вот так:
Теперь открываем файл настроек постфикс /etc/postfix/main.cf. Ищем там строку:
Меняем на:
Отключаем ipv6 в chronyd. Для этого создаем файл /etc/sysconfig/chronyd и добавляем строку:
Теперь отключаем ipv6 в CentOS. Открываем файл /etc/sysctl.conf и добавляем туда строки:
Редактируем файл /etc/sysconfig/network, добавляя туда:
Добавляем запрет на работу ipv6 в конфигурацию grub. Открываем конфиг /etc/default/grub и добавляем к параметру GRUB_CMDLINE_LINUX еще одно значение ipv6.disable=1. Должно получиться примерно так:
После этого обновляем конфиг загрузчика.
Перезагружаемся и проверяем результат:
Нигде нет упоминания про inet6 и адреса формата ipv6. Значит все в порядке, мы отключили ipv6 в CentOS. Теперь проверим список открытых портов:
Все порты ipv4. Все в порядке, наша задача выполнена.
Как добавить новый сервер для мониторинга в нашей системе?
Мы можем контролировать удаленные хосты на этой программе. Чтобы добавить новый сервер для мониторинга нужно на всех клиентских системах запустить и установить пакет munin-node:
Установить то установили, но нужно еще добавить конфигурацию.
Укажите в Munin ваш IP адрес нового сервера:
Сохраните и закройте этот файл. Где, your_new_HOST это мой новый клиент — сервер. 78.140.189.243 это мой айпишник на котором висит Munin.
Запустите сервис munin-node в Munin на клиентском сервере:
Добавьте следующие строки.
Сохраните и закройте. Перезапустите службу Munin. Подождите пару минут (примерно 5 минут) или перезагрузить сервер Munin, чтобы Munin создал необходимые файлы / папки для вашей цели мониторинга.
Установка и настройка subversion на RedHat/CentOS/Fedora
Subversion — это утилита с открытым исходным кодом и система управления версиями всех ваших данных которая. В этой теме «Установка и настройка subversion на RedHat/CentOS/Fedora» расскажу как можно управлять ( следить за версиями) на RedHat/CentOS/Fedora, так же как установить и настроить программу subversion.
1. Для начала установим:
# sudo yum install subversion
2. После установки я создаю папку для отдельных проектов ( или репозиторией):
# sudo mkdir -p /var/svn/
3. Создаём папку для нашего будущего проекта:
# svnadmin create /var/svn/your_project_name/
4. Подредактируем конфиг репозитория:
# vim /var/svn/your_project_name/conf/svnserve.conf
убираем комментарии и не нужно оставлять никаких пробелов перед ними:
auth-access = write password-db = passwd realm = Project’s name
5. Сейчас нужно дать доступ с привязкой по логину и паролю»логин-пароль», сделать можно это так:
# vim /var/svn/your_project_name/conf/passwd
6. Мой репозиторий удачно уже создан и готов к наполнению данными, чтобы это можно было сделать заходим в директорию, где лежат нужные для нас данные и выполняем команду:
$ svn import -m «Initial dissertation state» file:///var/svn/your_project_name/
Тут нужно указывать ПОЛНЫЙ ПУТЬ К РЕПОЗИТОРИЮ!
Команда «svn import» передает все данные в текущей (и даже все вложенные файлы) директории в сам репозитарий и после чего покажется номер нашей ревизии.
7. Чтобы можно было приступить у работе с файлами нужно перейти в какую-нибудь другую директорию (там где будет лежать наша рабочая копия для ее наблюдения изменений) и выполним команду Subversion и попросим показать нам последнюю нашу копию из нашего репозитория:
# svn checkout file:///var/svn/your_project_name/
Вывод будет таков: команда выведет в текущей директории получим вывод локальной копии наших данных из этого же репозитория репозитория.
8. Запустим subversion в качестве демона:
# svnserve -d
9. После того как мы внесли поправки, что бы посмотреть, какие файлы имели изменения, и выполним в данной директории , там где лежит рабочая копия наших данных, команду для вывода данных с которыми мы работали:
# svn status
10.Чтобы увидеть что конкретно было изменено в наших файлах, выполните:
# svn diff
11. Передаем наши результаты обратно в наш репозиторий
# svn commit —message "minor _edition_in_tex-files"
После ключа —message прописываем текст в кавычках, чтобы можно было сделать слежение за изменениями в файлах.
12. Данные мы изменили, затем сделаем применение их к основному нашему проекту:
# svn export file:///var/svn/your_project_name/ /sites/linux-notes.org/html —force
13. При необходимости, вернуться к предыдущей ревизии:
# svn export file:///var/svn/your_project_name/ /sites/linux-notes.org/html —force -relise1
relise1 – это наш номер в ревизии.
Посмотрите так же:Установка Trac в качестве системы управления проектом RedHat/CentOS/Fedora
Установка и настройка subversion на RedHat/CentOS/Fedora завершена. Думаю что все тут понятно.
Решение:
Действия выполняются в консоли. Подключитесь к консоли сервера по SSH.
Можете использовать программу PuTTY или любой другой клиент SSH.
Узнаем текущее имя хоста
root@ubuntu:~# hostname -f ubuntu.template
Для разных дистрибутивов Linux используются разные конфигурационные файлы и изменение следует производить в несколько этапов:
1 — Изменить параметр имени хоста
Имя хоста обязательно должно быть в латинице без пробелов и спецсимволов.
Только буквы и цифры. Допускается символ подчеркивания и тире.
Элементы имени <имя_сервера>.<имя_поддомена>.<имя домена> объединяются с точками. Полное имя обязательно должно содержать точку.
Каждый элемент имени должен содержать от 1 до 63 символов, и длинна полного имени хоста не может превышать 255 символов (в том числе точки).
Например:
servername.mydomain или servername.mydomain.com
Можно просто с точкой в конце имени
servername.
Нужно открыть указанный файл в текстовом редакторе и установить нужное имя
Redhat / CentOS / Fedora:
/etc/sysconfig/network
HOSTNAME=server1.testdomain.com
Debian / Ubuntu:
/etc/hostname
server1.testdomain.com
Slackware:
/etc/HOSTNAME
server1.testdomain.com
Suse / OpenSuse:
/etc/HOSTNAME
server1.testdomain.com
Gentoo / Calculate:
/etc/conf.d/hostname
HOSTNAME="server1.testdomain.com"
2 — Изменить файл /etc/hosts
В файле нужно изменить, или добавить если нет, сопоставление вашего ip адреса и имени сервера.
В этом файле в строке должны следовать через пробел или табуляцию следующие параметры:
ip-адрес полное_имя_хоста краткое_имя синоним_имени
Например:
/etc/hosts
77.72.131.23 server1.domain.com server1
3 — Проверка
Новое имя будет задано после рестарта сервера, но затем нужно убедиться, что все сделано правильно.
Следующие команды должны выдавать правильные значения и не выдавать сообщения об ошибках:
hostname -f ping <полное_имя> ping <краткое_имя>
4 — RDNS
rDNS или Reverse DNS это служба обратного преобразования IP-адреса в имя вашего сервера или, другими словами, — возможность определить кому принадлежит IP-адрес.
Это необходимо для корректной работы многих сервисов в сети Интернет. Зачастую сервера в интернете настроены таким образом, что при подключении к ним производится попытка обратного преобразования вашего IP-адреса в доменное имя. Если такое преобразование невозможно, то сервер может отказать вам в установке соединения.
Например большинство почтовый служб в интеренете отбросит почту отправленную с сервера имя которого невозможно определить по адресу.
Есть много других причин по которым необходимо настроить корректную работу обратной зоны для вашей сети IP-адресов.
Для информации о настройке RDNS обратитесь к статье rdns — обратное преобразование имени
-
putty — виртуальная консоль
-
неправильное отображение символов в putty
-
rdns — обратное преобразование имени
-
регистрация имени домена в dns
Актуальность: 2011/09/05 12:34
Настройка статического IP
Вы установили сервер и во время установки указали какие-то сетевые параметры, или не указали, не важно. Но сейчас вы решили, что вам нужно назначить статический ip (static ip) адрес
Воспользуемся для этого утилитой ip. Сначала посмотрим список всех сетевых интерфейсов:
У меня в системе 1 сетевой интерфейс eth0 и он каким-то образом уже сконфигурирован. Назначим ему еще один статический адрес:
Этот адрес будет добавлен к уже существующему адресу. Проверим это:
Теперь сервер будет доступен по обоим адресам. Текущая настройка сохранится только до перезагрузки сервера. Чтобы она применялась во время загрузки, нужно либо каким-то образом добавить команду на изменение настроек в автозагрузку, например в /etc/rc.local, но это будет костыль. Правильнее отредактировать файл, который отвечает за сетевые настройки в debian — /etc/network/interfaces. Для того, чтобы назначить постоянный статический ip адрес, его нужно привести к следующему виду:
auto | указанный интерфейс необходимо запускать автоматически при загрузке системы |
iface | интерфейс eth0 находится в диапазоне адресов IPv4 со статическим ip |
address | статический ip адрес |
gateway | шлюз по-умолчанию |
netmask | маска сети |
Для проверки перезагружаем сервер и смотрим, все ли в порядке с настройкой статического ip адреса. Если вам нужно сменить ip адрес в debian, то вы можете временно изменить его с помощью команды ip, либо постоянно, отредактировав параметр address в файле сетевых настроек interfaces.
Установка Dovecot,POP3/IMAP-сервера на CentOS /Redhat/Fedora
Dovecot является утилитой с открытым исходным кодом IMAP и POP3 почтовый сервер для систем Unix и Linux.Чтобы начать установку, просто выполните команду:
# yum install dovecot -y
После чего нужно настроить конфигурацию Dovecot.
Редактируйте эти строки, чтобы использовать постфиксное использование пользователя и группу для Dovecot:
# vim /etc/dovecot/conf.d/10-master.conf
И приводим к виду:
# Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0660 user = postfix group = postfix }
Идем далее, открываем следующий файл:
# vim /etc/dovecot/conf.d/10-auth.conf
Находим:
auth_mechanisms = plain
Меняем на:
auth_mechanisms = plain login
Раскоментируйте (удалите #), чтобы определить каталог почты, которую мы определили в конфигурации Postfix:
# vim /etc/dovecot/conf.d/10-mail.conf
Находим
#mail_location =
Меняем на:
mail_location = mail:~/mail
Почти уже закончили, но нужно изменить следующий файл:
# vim /etc/dovecot/conf.d/20-pop3.conf
Находим:
#pop3_uidl_format = %08Xu%08Xv
Приводим к виду:
pop3_uidl_format = %08Xu%08Xv
Раскомментируйте (удалите #), нужно открыть IMAP, POP3 на Dovecot
# vim /etc/dovecot/dovecot.conf
Приводим к виду:
# Protocols we want to be serving. protocols = imap pop3 # у меня все было по дефолту и я не менял тут ничего.
Перезапустите службу Dovecot:
# /etc/init.d/dovecot restart
Или:
# service dovecot restart
PS: Если имеется CentOS/RHEL 7:
# systemctl restart dovecot
Добавим сервис dovecot в автозагрузку:
# chkconfig dovecot on
PS: Если имеется CentOS/RHEL 7:
# systemctl enable dovecot
Тестовое соединение и проверка почты на Dovecot
# telnet localhost pop3
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
+OK Dovecot ready.user mail_user # # Войдите в систему как пользователь Postfix # #
+OKpass mail_user_password # # Ввод пароля пользователя # #
+OK Logged in.list
+OK 1 messages:
1 442
.retr 1
+OK 442 octets
Return-Path: <[email protected]>
X-Original-To: Postfix
Delivered-To: [email protected]
Received: from localhost (localhost )
by mail.linux-notes.org (Postfix) with ESMTP id D2897A1DFE
for <admin>; Sat, 12 March 2014 04:32:17 -0700 (PDT)
Message-Id: <[email protected]>
Date: Sat, 12 Oct 2013 04:32:17 -0700 (PDT)
From: [email protected]
To: undisclosed-recipients:;test
.quit
+OK Logging out.
Connection closed by foreign host.
Мы установили Dovecot на нашем сервере Mail. Пользоваться консольной отправкой писем неудобно,по этому я установлю веб-интерфейс, на примере Squirrelmail.
Работа с утилитой ifconfig
В завершении сетевых настроек хотел немного поговорить об ifconfig. Ранее я упомянул, что более современным средством для настройки сети является утилита ip. В последних релизеах Debian и CentOS ifconfig вообще исключили из базовой установки, ее приходится устанавливать отдельно. IP объединяет в себе два функционала — настройка сетевых интерфейсов и маршрутизации. То есть по сути она заменяет ifconfig + route. В ней реализован функционал обоих программ.
Сам я привык к ifconfig, так как она есть не только в linux, но и в freebsd. Удобно использовать одно и то же средство во всех дистрибутивах. Но последнее время переучиваюсь на ip, так как надо идти в ногу со временем. Тенденция такова, что ip будут продвигать все сильнее и сильнее в силу его большей новизны и, наверное, удобства. Что касается удобства, лично я ничего не могу сказать, мне совершенно все равно, какую команду использовать:
или
Делают они одно и то же. Остальные команды по конфигурированию сетевых интерфейсов тоже не сильно отличаются, просто пишутся немного по-разному. Вот пример работы с маршрутами:
или
В случае с ip мы работаем с одной командой, а не двумя. Чем пользоваться вам, выбирайте сами. Если не привыкли к чему-то конкретному, рекомендую использовать ip. Мне было бы любопытно узнать, кто, что использует. Оставьте свой комментарий на эту тему.
На этом я завершаю свой материал по теме настройки сети в debian. Я рассмотрел все наиболее значимые и необходимые параметры, с которыми приходится сталкиваться во время конфигурирования сервера.
Заключение
Вот так относительно просто настраивается обычная master — slave репликация mysql. Подобным же образом настраивается и master-master репликация, но на практике она очень нестабильно работает. Я пробовал в свое время, но в итоге отказался, так как надоело ее чинить и исправлять ошибки. Для полноценного кластера с мультизаписью лучше использовать какие-то специализированные решения типа Percona XtraDB Cluster.
Кстати, он же может заменить и текущую конфигурацию, если сделать его из двух нод и писать только в одну. Разрешив ему работать при выходе из строя реплики, получится примерно то же самое, что и в статье. Но смысла в этом особо нет, так как предложенная мной конфигурация настраивается проще и быстрее. Плюс, это типовое решение для любого mysql сервера.
Онлайн курс по Linux
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Administrator Linux. Professional» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Что даст вам этот курс:
- Знание архитектуры Linux.
- Освоение современных методов и инструментов анализа и обработки данных.
- Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
- Владение основными рабочими инструментами системного администратора.
- Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
- Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по .