Home » Linux » CentOS » CentOS 7 и 8 настройка сервера после установки

CentOS 7 и 8 настройка сервера после установки

Сегодня я познакомлю вас со своим видением начальной конфигурации универсального сервера на популярной ОС. Я расскажу о том, как сделать базовую настройку сервера centos сразу после установки для использования его в любом качестве на ваше усмотрение. Приведенные практические советы повышают безопасность и удобство работы с сервером. Статья будет актуальна для двух последних релизов Centos — 7 и 8.

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

Цели статьи

  1. Перечислить начальные настройки centos, которые я выполняю на свежеустановленном сервере.
  2. Показать примеры конфигураций, которые я использую в типовой настройке.
  3. Дать советы по настройке centos на основе своего опыта работы с системой.
  4. Привести список типовых программ и утилит, которые помогают администрировать сервер.

Данная статья является частью единого цикла статьей про сервер Centos.

Введение

Для настройки практически любого сервера требуется выполнить ряд стандартных шагов, которые мало чем отличаются в различных ситуациях. Какой бы функционал вы не готовили, вам придется настроить правильное время и включить его автообновление. Без установки сетевых настроек я вообще не представляю работу современного сервера. В голову не приходит ни один пример. Один и тот же набор настроек практически на автомате выполняется после установки. Своими наработками по этой теме я хочу поделиться с вами — то, что я в первую очередь настраиваю на новоиспеченном сервере centos после установки.

После выхода нового релиза Centos 8, стало тяжело в единой статье описывать начальную настройку обоих серверов, но мне не захотелось разделять статью, так как на нее идет много входящих ссылок из разных мест. Удобнее поддерживать общий материал по обоим релизам, чем я и займусь. Заодно наглядно будут видны отличия двух версий, которые пару лет после выхода centos 8 будут актуальны обе и использовать придется и ту, и другую версию, в зависимости от ситуации.

В Centos 7 используется пакетный менеджер yum, а в Centos 8 — dnf. При этом оставили символьную ссылку с yum на dnf, так что можно писать как первое название, так и второе. Для единообразия я везде буду использовать yum, а вас предупреждаю, просто чтобы вы понимали, почему я делаю именно так. Реально в CentOS 8 используется dnf, это другой, более современный пакетный менеджер, которые позволяет работать с разными версиями одного и того же софта. Для этого используются отдельные репозитории, которые появились для centos 8.

Начальная настройка CentOS

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

Обновляем систему

# yum update

Для удобства администрирования, я всегда устанавливаю Midnight Commander, или просто mc:

# yum install mc

Начальная настройка Centos - установка MC

И сразу же для него включаю подсветку синтаксиса всех файлов, которые не обозначены явно в файле /usr/share/mc/syntax/Syntax синтаксисом для sh и bash скриптов. Этот универсальный синтаксис нормально подходит для конфигурационных файлов, с которыми чаще всего приходится работать на сервере. Перезаписываем файл unknown.syntax. Именно этот шаблон будет применяться к .conf и .cf файлам, так как к ним явно не привязано никакого синтаксиса.

# cp /usr/share/mc/syntax/sh.syntax /usr/share/mc/syntax/unknown.syntax

Дальше нам пригодятся сетевые утилиты. В зависимости от набора начальных пакетов, которые вы выбираете при установке системы, у вас будет тот или иной набор сетевых утилит. Вот список тех, к которым привык лично я — ifconfig, netstat, nslookup и некоторые другие. Если она вам нужны, так же как и мне, то предлагаю их установить отдельно, если они еще не стоят. Если вам они особо не нужны и вы ими не пользуетесь, то можете пропустить их установку. Проверим, что у нас имеется в системе на текущий момент

# ifconfig

Если увидите ответ:

-bash: ifconfig: command not found

Значит утилита не установлена. Вместо ifconfig в CentOS теперь утилита ip. Это относится не только к центос. Такая картина почти во всех популярных современных дистрибутивах Linux. Я с давних времен привык к ifconfig, хотя последнее время практически не пользуюсь. Мне всегда нравилось, что в различных дистрибутивах линукс все примерно одинаковое. С помощью ifconfig можно настроить сеть не только в linux, но и в freebsd. Это удобно. А когда в каждом дистрибутиве свой инструмент это не удобно. Хотя сейчас это уже не очень актуально, так как с Freebsd больше не работаю, а утилита ip есть во всех дистрибутивах linux. Тем не менее, если вам нужен ifconfig, то можете установить пакет net-tools, в который она входит:

# yum install net-tools

Чтобы у нас работали команды nslookup или, к примеру, host необходимо установить пакет bind-utils. Если этого не сделать, то на команду:

# nslookup

Будет вывод:

-bash: nslookup: command not found

Так что устанавливаем bind-utils:

# yum install bind-utils

Отключить SELinux

Отключаем SELinux. Его использование и настройка отдельный разговор. Сейчас я не буду этим заниматься. Так что отключаем:

# mcedit /etc/sysconfig/selinux

меняем значение

SELINUX=disabled

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

# reboot

А если хотите без перезагрузки применить отключение SELinux, то выполните команду:

# setenforce 0

Постоянно получаю очень много критики на тему отключения SELinux. Я знаю, как он работает, умею его настраивать. Это реально не очень сложно и освоить не трудно. Это мой осознанный выбор, хотя иногда я его настраиваю. Мой формат работы с системой таков, что SELinux мне чаще всего не нужен, поэтому я не трачу на него время и в базовой настройке centos отключаю. Безопасность системы — комплексная работа, особенно в современном мире web разработки, где правят бал микросервисы и контейнеры. SELinux нишевый инструмент, которые нужен не всегда и не везде. Поэтому в данном статье ему не место. Кому нужно, будет отдельно включать SELinux и настраивать.

Указываем сетевые параметры

Продолжаем базовую настройку centos после установки. Теперь произведем настройку сети, если по какой-то причине не сделали это во время установки, либо если вам надо их изменить. В общем случае, сеть в Centos настраивается с помощью NetworkManager и его консольной утилиты nmtui. Она идет в базовой устновке системы. Там простой и понятный графический интерфейс, так что рассказывать нечего. Я больше привык настраивать сеть через конфигурационные файлы network-scripts. В centos 7-й версии они есть из коробки, в 8-й версии их убрали. Чтобы воспользоваться ими для настройки сети, надо отдельно установить пакет network-scripts.

# yum install network-scripts

Теперь можно выполнить настройку сети. Для этого открываем файл /etc/sysconfig/network-scripts/ifcfg-eth0

# mcedit /etc/sysconfig/network-scripts/ifcfg-eth0

Если вы получаете сетевые настройки по dhcp, то минимальный набор настроек в конфигурационном файле будет такой.

Настройка сети

TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"

Для настройки статического ip адреса настройки будут следующие.

TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR=192.168.167.117
DNS1=192.168.167.113
PREFIX=28
GATEWAY=192.168.167.113

В поле IPADDR вводим свой адрес, в PREFIX маску сети, в GATEWAY шлюз, DNS адрес днс сервера. Сохраняем файл и перезапускаем сеть для применения настроек:

# systemctl restart network

Настраиваем firewall

Очень подробно вопрос настройки iptables в CentOS я рассмотрел отдельно. Сейчас мы быстро и просто настроим firewall. В CentOS 7 в качестве базового фаервола выступает iptables. По-умолчанию он запущен. Чтобы посмотреть текущие правила, нужно ввести команду:

# iptables -L -v -n

В Centos 8 вместо iptables используется nftables. Сразу скажу, что я с ним еще не разбирался и не знаю, буду ли. Реально, меня полностью устраивают iptables. Я ни разу не сталкивался с тем, что что-то не получалось или было невозможно настроить с их помощью. У меня написана куча конфигов к ним, настроены роли ansible с шаблонами правил. Я не понимаю, зачем мне все это переводить в nftables и какую выгоду я с этого получу. Поэтому пока я продолжаю использовать iptables.

Начиная с 7-й версии CentOS для настройки firewall разработан новый инструмент под названием firewalld и все управление производится через него. Он же используется и в Centos 8, только управляет при этом nftables, но сами правила для firewalld одинаковые в обоих версиях. Я не понял зачем в принципе придумали firewalld и не могу сказать, удобнее с ним стало или нет. По мне, так удобнее использовать одни и те же наработки по iptables. Мигрируя от сервера к серверу и от дистрибутива к дистрибутиву, я просто редактирую скрипт настроек фаервола либо шаблон ansible с правилами.

На тему отключения firewalld я тоже время от времени получаю критику, типа надо изучать новое и не цепляться за старое. Так вот, firewalld я изучил и пользуюсь относительно регулярно. Он долгое время использовался в Bitrixenv, с которым я работаю давно и плотно. Кстати, в последних версиях этого окружения bitrix отказался от firewalld. Удивился, когда это заметил. В связи с этим, firewalld мне приходится знать и использовать. И мне он нравится меньше, чем нативные правила в iptables и мои скрипты для управления ими.

Свое мнение не навязываю и убеждать никого не хочу. Делюсь в статье про настройку centos тем, что использую сам. А вы выбирайте тот инструмент, что вам больше подходит. Я привык управлять iptables через самописный скрипт, который переношу от сервера к серверу и редактирую под конкретные потребности. Этим скриптом я и поделюсь. Так что для начала остановим и отключим firewalld.

Сразу хочу предупредить, что не имея доступа к консоли сервера, настраивать firewall плохая идея. Даже если вы очень хорошо понимаете что делаете и проделывали подобное много раз, все равно есть шанс остаться без доступа к серверу. Так что первым делом перед настройкой iptables проверяем доступ к консоли сервера.
# systemctl stop firewalld
# systemctl disable firewalld
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'

Установим утилиты для iptables:

# yum install iptables-services

Включим автозапуск iptables:

# systemctl enable iptables

Теперь создадим файл /etc/iptables.sh следующего содержания:

#!/bin/bash
#
# Объявление переменных
export IPT="iptables"

# Интерфейс который смотрит в интернет
export WAN=eth0
export WAN_IP=147.15.218.72

# Очистка всех цепочек iptables
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Установим политики по умолчанию для трафика, не соответствующего ни одному из правил
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

# разрешаем локальный траффик для loopback
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT

# Разрешаем исходящие соединения самого сервера
$IPT -A OUTPUT -o $WAN -j ACCEPT

# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
# Пропускать все уже инициированные соединения, а также дочерние от них
$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Пропускать новые, а так же уже инициированные и их дочерние соединения
$IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Разрешить форвардинг для уже инициированных и их дочерних соединений
$IPT -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

# Включаем фрагментацию пакетов. Необходимо из за разных значений MTU
$IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Отбрасывать все пакеты, которые не могут быть идентифицированы
# и поэтому не могут иметь определенного статуса.
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP

# Приводит к связыванию системных ресурсов, так что реальный
# обмен данными становится не возможным, обрубаем
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

# Рзрешаем пинги
$IPT -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

# Открываем порт для ssh
$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT
# Открываем порт для http
$IPT -A INPUT -i $WAN -p tcp --dport 80 -j ACCEPT
# Открываем порт для https
$IPT -A INPUT -i $WAN -p tcp --dport 443 -j ACCEPT

# Логирование
# Все что не разрешено, но ломится отправим в цепочку undef

$IPT -N undef_in
$IPT -N undef_out
$IPT -N undef_fw
$IPT -A INPUT -j undef_in
$IPT -A OUTPUT -j undef_out
$IPT -A FORWARD -j undef_fw

# Логируем все из undef

$IPT -A undef_in -j LOG --log-level info --log-prefix "-- IN -- DROP "
$IPT -A undef_in -j DROP
$IPT -A undef_out -j LOG --log-level info --log-prefix "-- OUT -- DROP "
$IPT -A undef_out -j DROP
$IPT -A undef_fw -j LOG --log-level info --log-prefix "-- FW -- DROP "
$IPT -A undef_fw -j DROP

# Записываем правила
/sbin/iptables-save  > /etc/sysconfig/iptables

В принципе, добавить нечего, в файле даны все комментарии. В таком виде, логи всего заблокированного будут писаться в файл /var/log/messages и записей там будет очень много. Так что в обычной работе эти строки нужно закомментировать, и использовать только во время отладки. Более подробное описание правил и примеры настроек firewall смотрите в отдельной статье, ссылку на которую я уже приводил в самом начале раздела.

Делаем файл c правилами исполняемым и запускаем:

# chmod 0740 /etc/iptables.sh
# /etc/iptables.sh

Проверяем, применились ли правила:

# iptables -L -v -n

При каждом запуске файла с правилами iptables, все изменения записываются в файл /etc/sysconfig/iptables и применяются при загрузке системы.

Настройка SSH в CentOS

Продолжаем настраивать centos. Внесем некоторые изменения в работу ssh для небольшого увеличения безопасности. Хотя речь стоит вести больше не о безопасности, а об удобстве и эффективности. По-умолчанию, сервис ssh работает на 22 порту и если все оставить как есть, то мы получим огромное количество попыток авторизоваться. Боты сканят непрерывно интернет и подбирают пароли к ssh. Это не доставляет в реальности каких-то серьезных хлопот и тем не менее, подобные запросы забивают лог secure и трятят некоторые ресурсы сервера как миниум на установку соединения и рукопожатия (handshake).

Чтобы немного закрыть себя от сканов простых ботов, изменим порт, на котором работает ssh. Можно выбрать любой пятизначный номер, это не принципиально. От автоматического сканирования это защитит. Повесим демон ssh на 25333 порт. Для этого редактируем файл /etc/ssh/sshd_config.

# mcedit /etc/ssh/sshd_config

Раскомментируем строку Port 22 и заменим значение 22 на 25333.

Port 25333

Так же я обычно разрешаю подключаться по ssh пользователю root. Мне так удобнее. Проблем с этим у меня никогда не возникало. Если вы считаете, что это не безопасно, не трогайте эту настройку. Чтобы разрешить пользователю root подключаться по ssh, раскомментируйте строку

PermitRootLogin yes.

Сохраняем файл. Теперь обязательно изменяем настройки iptables, добавляем в разрешенные подключения вместо 22 порта 25333. Если этого не сделать, то после перезапуска sshd мы потеряем удаленный доступ к серверу. Итак, открываем /etc/iptables.sh и меняем в строке

$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT

22 на 25333 и исполняем файл. Наше текущее соединение не оборвется, так как оно уже установлено, но заново подключиться по ssh к 22 порту уже не получится.

Перезапускаем sshd:

# systemctl restart sshd

Кстати, если вы не отключили SELinux, то просто так не сможете сменить порт ssh. Получите ошибку при перезапуске.

SELinux is preventing /usr/sbin/sshd from name_bind access on the tcp_socket port 25333.

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

Проверяем какой порт слушает sshd:

# netstat -tulpn | grep sshd
tcp        0      0 0.0.0.0:25333           0.0.0.0:*               LISTEN      1799/sshd
tcp6       0      0 :::25333                :::*                    LISTEN      1799/sshd

Если вывод такой же как у меня, то все в порядке, теперь к ssh можно подключаться по 25333 порту.

Добавим еще одну небольшую настройку. Иногда, когда возникают проблемы с dns сервером, логин по ssh подвисает на 30-60 секунд. Вы просто ждете после ввода логина, когда появится возможность ввести пароль. Чтобы избежать этого замедления, укажем ssh не использовать dns в своей работе. Для этого в конфиге раскомментируем строку с параметром UseDNS и отключим его. По-умолчанию он включен.

UseDNS no

Для применения изменений нужно перезапустить ssh службу, как мы уже делали ранее. Настройку службы sshd в centos закончили, двигаемся дальше.

Настраиваем время

Узнать, какое время настроено на сервере centos можно с помощью команды date:

# date

Чтобы сменить часовой пояс, можете воспользоваться специальной утилитой, которая входит в состав systemd.

# timedatectl set-timezone Europe/Moscow

По факту, эта утилита меняет символьную ссылку. Рассказываю, чтобы вы понимали, как реально меняется часовой пояс.

# ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

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

Теперь проверим статус службы по обновлению времени через интернет. Для этого можно использовать указанную выше команду timedatectl без параметров.

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

В CentOS есть утилита для синхронизации времени chrony. В стандартной установке она должна быть установлена в системе, в минимальной ее нет. Если у вас она не стоит, как и у меня, что видно по скриншоту, то устанровим и настроим вручную:

# yum install chrony

Запускаем chrony и добавляем в автозагрузку:

# systemctl start chronyd
# systemctl enable chronyd

Проверяем, нормально ли запустился:

# systemctl status chronyd

Синхронизация времени в Centos

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

Более подробно об этой теме написано отдельно в моем материале — установка, настройка и синхронизация времени в CentOS.

Добавление репозиториев

При настройке centos частенько нужен софт, которого нет в стандартной репе. Для инсталляции дополнительных пакетов необходимо подключить репозитории в CentOS. Наиболее популярный это EPEL. Раньше был rpmforge, но уже как несколько лет закрыт. Про него все позабыли. Подключаем репозиторий EPEL. С ним все просто, он добавляется из стандартной репы:

# yum install epel-release

Так же для CentOS 7 крайне полезен репозиторий REMI, который позволяет установить больее свежие версии php, в отличие от тех, что есть в стандартном репозитории. Напомню, что это версия php 5.4, которая уже никуда не годится и снята с поддержки.

# rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Для Centos 8 remi пока не актуален, но думаю, что это временно. В принципе, мне этих двух репозиториев в centos обычно хватает в общем случае. Другие подключаются уже под конкретные нужды для установки различного софта.

Настройка хранения истории в bash_history

Двигаемся дальше по настройке системы centos на сервере. Полезным будет внести некоторые изменения в стандартный механизм сохранения истории команд. Он часто выручает, когда надо вспомнить одну из ранее введенных команд. Стандартные настройки имеют некоторые ограничения, которые неудобны. Вот их список:

  1. По-умолчанию, сохраняются только последние 1000 команд. Если их будет больше, то более старые будут удаляться и заменяться новыми.
  2. Не указаны даты выполнения команд, только их список в порядке выполнения.
  3. Файл со списком команд обновляется после завершения сессии. При параллельных сессиях часть команд может быть утеряна.
  4. Сохраняются абсолютно все команды, хотя в хранении некоторых нет никакого смысла.

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

# history

и увидеть пронумерованный список. Быстро найти конкретную команду, можно с помощью фильтрации только нужных строк, например вот так:

# history | grep yum

Так мы увидим все варианты запуска команды yum, которые хранятся в истории. Исправим перечисленные недостатки стандартных настроек хранения истории команд в CentOS. Для этого нужно отредактировать файл .bashrc, который находится в том же каталоге, что и файл с историей. Добавляем в него следующие строки:

export HISTSIZE=10000
export HISTTIMEFORMAT="%h %d %H:%M:%S "
PROMPT_COMMAND='history -a'
export HISTIGNORE="ls:ll:history:w:htop"

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

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

# source ~/.bashrc

По настройке хранения истории команд все. В файле .bashrc можно много чего настроить интересного. Я одно время увлекался и экспериментировал, но потом все забросил, так как не имеет смысла. Работая с серверами заказчиков я чаще всего вижу дефолтный bash, поэтому лучше привыкать и работать именно в нем. А отдельные настройки и украшательства это удел личных компьютеров и серверов. Не рабочих. Так что больше я ничего не настраивать по стандарту в centos сервере в этом плане.

Автоматическое обновление системы

Для поддержания безопасности сервера на должном уровне необходимо как минимум своевременно его обновлять — как само ядро с системными утилитами, так и остальные пакеты. Можно делать это вручную, но для более эффективной работы лучше настроить автоматическое выполнение. Не обязательно именно устанавливать обновления автоматически, но как минимум проверять их появление. Я обычно придерживаюсь такой стратегии.

Yum-cron

Для автоматической проверки обновлений в Centos 7 нам поможет утилита yum-cron. Ставится она традиционно через yum из стандартного репозитория.

# yum install yum-cron

После установки yum-cron создается автоматическое задание на выполнение утилиты в /etc/cron.daily и /etc/cron.hourly. По-умолчанию, утилита скачивает найденные обновления, но не применяет их. Вместо этого, администратору на локальный почтовый ящик root отправляется уведомление об обновлениях. Дальше вы уже в ручном режиме заходите и решаете, устанавливать обновления или нет в удобное для вас время. Мне такой режим работы видится наиболее удобным, поэтому я не меняю эти настройки.

Настраивать yum-cron можно через, конфигурационные файлы, которые находятся по адресу /etc/yum/yum-cron.conf и yum-cron-hourly.conf. Они неплохо прокомментированы, так что в подробных разъяснениях не нуждаются. Обращаю внимание на раздел [email], где можно указать параметры отправки сообщений. По-умолчанию стоит отправка почты через локальный хост. Можно тут изменить параметры и отправлять сообщения через сторонний почтовый сервер. Но вместо этого лично я предпочитаю глобально для всего сервера настроить пересылку локальной почты root на внешний почтовый ящик через авторизацию на другом smtp сервере.

Dnf-automatic

Как я уже говорил ранее, в Centos 8 используется другой пакетный менеджер — dnf. Настройка обновления пакетов там выполняется через утилиту dnf-automatic. Поставим ее и настроим.

# yum install dnf-automatic

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

# systemctl list-timers *dnf-*

Если там нет ни одного задания, то добавить таймер можно вручную:

# systemctl enable --now dnf-automatic.timer

Дефолтный таймер настроен на запуск dnf-automatic через час после загрузки сервера и ежедневное повторение. Конфиг таймера живет тут — /etc/systemd/system/multi-user.target.wants/dnf-automatic.timer.

Таймер автоматического обновления centos

Конфиг для dnf-automatic живет в /etc/dnf/automatic.conf. По-умолчанию он только скачивает обновления, но не применят их. Конфиг хорошо прокомментирован, так что можете его настроить так, как пожелаете. Отдельных пояснений не требуется. Настраивайте обновление пакетов системы на свое усмотрение. Как я уже сказал, автоматически только качаю их. Установку всегда держу под контролем с ручным управлением.

Отключаем флуд сообщений в /var/log/messages

Продолжая настройку centos, исправим одно небольшое неудобство. В дефолтной установке системы 7-й версии, весь ваш системный лог /var/log/messages через некоторое время работы сервера будет забит следующими записями.

Oct 16 14:01:01 xs-files systemd: Created slice user-0.slice.
Oct 16 14:01:01 xs-files systemd: Starting user-0.slice.
Oct 16 14:01:01 xs-files systemd: Started Session 14440 of user root.
Oct 16 14:01:01 xs-files systemd: Starting Session 14440 of user root.
Oct 16 14:01:01 xs-files systemd: Removed slice user-0.slice.
Oct 16 14:01:01 xs-files systemd: Stopping user-0.slice.
Oct 16 15:01:01 xs-files systemd: Created slice user-0.slice.
Oct 16 15:01:01 xs-files systemd: Starting user-0.slice.
Oct 16 15:01:01 xs-files systemd: Started Session 14441 of user root.
Oct 16 15:01:01 xs-files systemd: Starting Session 14441 of user root.
Oct 16 15:01:01 xs-files systemd: Started Session 14442 of user root.
Oct 16 15:01:01 xs-files systemd: Starting Session 14442 of user root.
Oct 16 15:01:01 xs-files systemd: Removed slice user-0.slice.
Oct 16 15:01:01 xs-files systemd: Stopping user-0.slice.
Oct 16 16:01:01 xs-files systemd: Created slice user-0.slice.
Oct 16 16:01:01 xs-files systemd: Starting user-0.slice.
Oct 16 16:01:01 xs-files systemd: Started Session 14443 of user root.
Oct 16 16:01:01 xs-files systemd: Starting Session 14443 of user root.
Oct 16 16:01:01 xs-files systemd: Removed slice user-0.slice.

В Centos 8 я их не заметил, поэтому там ничего делать не надо. Никакой практической пользы сообщения не несут, поэтому отключим их. Для этого создадим отдельное правило для rsyslog, где перечислим все шаблоны сообщений, которые будем вырезать. Разместим это правило в отдельном файле /etc/rsyslog.d/ignore-systemd-session-slice.conf.

# cd /etc/rsyslog.d && mcedit ignore-systemd-session-slice.conf
if $programname == "systemd" and ($msg contains "Starting Session" or $msg contains "Started Session" or $msg contains "Created slice" or $msg contains "Starting user-" or $msg contains "Starting User Slice of" or $msg contains "Removed session" or $msg contains "Removed slice User Slice of" or $msg contains "Stopping User Slice of") then stop

Сохраняем файл и перезапускаем rsyslog для применения настроек.

# systemctl restart rsyslog

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

Установка iftop, atop, htop, lsof на CentOS

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

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

# yum install iftop

И два интересных диспетчера задач, я чаще всего пользуюсь htop, но иногда пригодится и atop. Ставим оба, сами посмотрите, разберетесь, что вам больше нравится, подходит:

# yum install htop
# yum install atop

Вот как выглядит htop:

CentOS установка htop

Для вывода информации о том, какие файлы используются теми или иными процессами, советую поставить утилиту lsof. Она скорее всего рано или поздно пригодится, когда будете диагностировать работу сервера.

# yum install lsof

Рекомендую еще установить несколько нужных и полезных программ, которые часто необходимы, но отсутствуют в минимальной установке — wgetbzip2, traceroute, gdisk.

# yum install wget bzip2 traceroute gdisk

На этом у меня все. Базовая настройка CentOS закончена, можно приступать к установке и настройке основного функционала.

Настройка системной почты

В завершение настройки сервера CentOS сделаем так, что бы почта, адресованная локальному root, отправлялась через внешний почтовый сервер на выбранный почтовый ящик. Если этого не сделать, то она будет локально складываться в файл /var/spool/mail/root. А там может быть важная и полезная информация. Настроим ее отправку в ящик системного администратора.

Подробно об этом я рассказал в отдельной статье — Отправка почты через консоль с авторизацией в linux. Здесь кратко только команды и быстрая настройка. Ставим необходимые пакеты:

# yum install mailx cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain postfix

Рисуем примерно такой конфиг для postfix.

cat /etc/postfix/main.cf
## DEFAULT CONFIG BEGIN ######################
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
inet_interfaces = localhost
inet_protocols = all
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

debug_peer_level = 2
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.10.1/samples
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
## DEFAULT CONFIG END ######################

# Имя сервера, которое выводит команда hostname
myhostname = centos-test.xs.local
# Здесь по логике нужно оставлять только домен, но в данном случае лучше оставить полное имя сервера, чтобы в поле отправитель 
# фигурировало полное имя сервера, так удобнее разбирать служебные сообщения
mydomain = centos-test.xs.local
mydestination = $myhostname
myorigin = $mydomain
# Адрес сервера, через который будем отправлять почту
relayhost = mailsrv.mymail.ru:25
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may

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

# mcedit /etc/postfix/sasl_passwd
mailsrv.mymail.ru:25 admin@mymail.ru:password

Создаем db файл.

# postmap /etc/postfix/sasl_passwd

Теперь можно перезапустить postfix и проверить работу.

# systemctl restart postfix

К стандартному алиасу для root в /etc/aliases, добавьте внешний адрес, куда будет дублироваться почта, адресованная root. Для этого редактируем указанный файл, изменяя последнюю строку.

Было:

#root: marc

Стало

root: root,admin@mymail.ru

Обновляем базу сертификатов:

# newaliases

Отправим письмо через консоль локальному руту:

# df -h | mail -s "Disk usage" root

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

relay=smtp.yandex.ru[77.88.21.158]:25, delay=0.25, delays=0/0/0.24/0.01, dsn=5.7.1, status=bounced (host smtp.yandex.ru[77.88.21.158] said: 553 5.7.1 Sender address rejected: not owned by auth user. (in reply to MAIL FROM command))

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

На этом настройка локальной почты закончена. Теперь все письма, адресованные локальному root, например, отчеты от cron, будут дублироваться на внешний почтовый ящик, причем с отправкой через полноценный почтовый сервер. Так что письма будут нормально доставляться, не попадая в спам (хотя не обязательно, есть еще эвристические фильтры).

Заключение

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

Мы выполнили некоторые начальные шаги по настройке сервера CentOS, которые я обычно делаю при подготовке сервера сразу после установки. Я не претендую на абсолютную истину, возможно что-то упускаю или делаю не совсем верно. Буду рад разумным и осмысленным комментариям и замечаниям с предложениями.

Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.

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

  1. Пример настройки сервера мониторинга zabbix, либо только подключение centos к мониторингу путем установки на него агента.
  2. В отдельной рубрике zabbix есть много примеров для мониторинга различных полезных метрик.

Из наиболее популярных и масштабных статей по настройке различного функционала на базе сервера centos хочу отметить следующие:

И никогда не забывайте про бэкап и его проверку — бэкап или перенос linux сервера.

Видео по настройке CentOS

Онлайн курсы по Mikrotik

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курсы по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Помимо официальной программы, в курсах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте . Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области. Особенности курсов:
  • Знания, ориентированные на практику;
  • Реальные ситуации и задачи;
  • Лучшее из международных программ.

Помогла статья? Есть возможность отблагодарить автора

Автор Zerox

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

227 комментариев

  1. Аватар

    Добрый день.
    подскажите пжл как прописать два ip адреса если оба wan

    # Интерфейс который смотрит в интернет
    export WAN=eth0
    export WAN_IP=147.15.218.72

    • Zerox

      Оба и прописывайте. У вас будет в 2 раза больше набора правил, под каждый WAN интерфейс.

      • Аватар

        я правильно понимаю если к примеру прописываю WAN1 и WAN2, все последующие правила дублирую дважды к примеру
        # Разрешаем исходящие соединения самого сервера
        $IPT -A OUTPUT -o $WAN1 -j ACCEPT
        # Разрешаем исходящие соединения самого сервера
        $IPT -A OUTPUT -o $WAN2 -j ACCEPT

        • Zerox

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

          • Аватар

            это равнозначные интерфейсы с разными ip, провайдер vds выдает их в таком формате
            eth0 1.1.1.1
            eth0.1 2.2.2.2

  2. Аватар

    Добрый день!
    Не всё еще успел просмотреть, а как можно найти ваши роли и плейбуки для ansible по настройке серверов, установки приложений, настройке firewall-ов. Был бы очень благодарен.:)

  3. Аватар

    Не нашел в 8 CentOS’е пакетов exim, 389-ds. Куда делись?

  4. Аватар

    Кто-нить в курсе как в vmware esxi 6.5 в веб морде изменить разрешение экрана В центос 8 забыли сделать горизонтальную прокрутку. у меня разрешение экрана 800×600 в гипервизоре отражает :(

  5. Аватар
    Николай

    Вот уже почти месяц, как решил почти все проблемы с домашним сервером, несколько необычно, но тривиально. Просто установил на сервер Rosa Fresh R11, перенёс все настройки из CentOS и всё заработало, доступ к ресурсам сервера совершенно не зависит от наличия и подключения к интернет, специально включал все компьютеры с отключенный интернет, специально отключал его во время работы, доступ к ресурсам не пропадает и не изменяется скорость доступа. Осталась одна проблема, связанная с сервером, но не на сервере, с рабочей станции под Linux свободный объём любого общего раздела не превышает 4,4 гигабайта, хотя я знаю, там гораздо больше. При обращении к этому же разделу из-под Windows, показывается истинный размер раздела. Как следствие, из Linux (Fedora и Rosa Fresh) я не могу записать на сервер файл, больший, чем 4,4 GB. Кстати, эта же проблема была и когда на сервере стояла CentOS, просто на неё, как-то не обращал внимания.

  6. Аватар
    Александр

    может кому полезно будет
    Я конфиги не чищу от комментов, а чтобы посмотреть только имеющиеся параметры сделал алиас и закинул в .bashrc
    alias clrconf=»grep -ve ‘^[[:space:]]*\(#\|$\|;\)'»
    использую через конвеер cat file|clrconf

    • Zerox

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

      • Аватар
        Александр

        А у вас какая конструкция в sed? А то у меня через него не получилось или получилась громоздкая (не помню уже), потому пособрал из найденного в интернете такую конструкцию.

        • Zerox

          Там достаточно просто.

          Удаление комментариев, где знак комментария ; стоит в начале строки:
          sed ‘/^;/d’ sip.conf

          Удалить пустые строки:
          sed ‘/^$/d’ sip.conf

          Удалить все пробелы и символы табуляции в начале каждой строки:
          sed ‘s/^[ \t]*//’ sip.conf

          • Аватар
            Александр

            А-а-а
            такое я видел, да. Просто думал, что оформлено однострочником.
            Спасибо.
            И за статью кстати тоже спасибо. С восьмой центосью пока не сталкивался, так что статьи по ней — любопытно и интересно.

            • Zerox

              Так однострочник можно просто последовательно выполняя команды делать, передавая вывод. Сейчас конфиги все разные, я не стремился сделать универсальную конструкцию под все. Не так уж часто нужно. Просто убрать # или ; помню и так.

          • Аватар

            На тему просмотра удаления лишнего из логов, конфигов и скриптов. По умолчанию пользую `Vim` в качестве редактора (как минимум `Vi` есть везде), и если нужно очистить файл от мусора — удобно делать так:

            `:%s/\s\+$//e` — удалить лишние пробелы в конце строк
            `:g/#/d` — удалить все строки с `^#`
            `:v/./d` — удалить все пустые строки

            Можно забить макросом, на горячие клавиши в `.vimrc`, что бы не набивать эту «магию» заново.

            Работа со скриптами и конфигами после этого сильно упрощается, а логи смотреть входит удобнее из-за того, что на «больших» логах `mc` будет тормозить, да и контекстный поиск + постановка меток позволяют анализировать лог быстрее и проще.

            • Zerox

              Я много раз пробовал vim. Мне не заходит никак. Предпочитаю mcedit. Описанные фильтры 1 в 1 из sed, поэтому не принципиально.

  7. Аватар

    Вопрос: а есть смысл менять стоковый порт SSH? Ведь всегда можно просканить nmap`ом сервант. Даже если долбёжки ботов будут реджектиться по 22, так они найдут другой порт)

    • Zerox

      Так я же пояснил этот момент в статье. Я всегда меняю и не вижу смысла этого не делать. Я почти всегда подключения по ssh логирую. Нафиг мне спам ботов на 22-й порт тащить в мониторинг. Меняешь порт на отличный от 22 и у тебя в 100 раз меньше лог secure. Это не вопрос безопасности, а удобства.

  8. Аватар

    Ochen poleznaya statiya

  9. Аватар

    Спасибо за статью. Очень понравилась. Как раз для того кто переходит с винды на линукс.

  10. Аватар
    Алексей

    Добрый день!
    Владимир, прошу прощения за тупой вопрос, плохо еще Linux знаю. По вашему скрипту для iptables вопрос.
    Если моя машина стоит на вертуалке за NAT-ом то в строке

    export WAN_IP=149.154.71.205

    мне указать мой внешний IP или внутренний, присваиваемый DHCP? (этот IP был мною закреплен за машинкой по MAC-у)

    Заранее спасибо!

    • Zerox

      Нужно использовать внутренний ip конкретного сервера, на котором настраиваете фаервол. Но этот адрес должен быть на 100% статичный. Если он изменится, то вы потеряете доступ к серверу, так как в правилах много завязок на этот адрес. Для динамического адреса по dhcp нужно по-другому строить набор правил. Но если вы говорите, что настроена привязка и адрес меняться не будет, то можно считать, что ip статический.

  11. Аватар
    Николай

    Подскажите, пожалуйста, какие порты необходимо открыть на сервере CentOS 7 для Samba? В разных источниках разные сведения.
    У меня открыты: 80/tcp, 137/tcp, 138/tcp, 139/tcp, 443/tcp, 445/tcp. Однако, в некоторых источниках указаны необходимые порты: 137/udp, 138/udp, 139/tcp, 443/tcp, 445/tcp. Как будет правильно, нигде не нашёл.

    • Zerox

      139 и 445 tcp. Специально только что поверил на сервере с работающей Samba. Служба smbd слушает 2 этих порта.

      • Аватар
        Николай

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

      • Аватар
        Николай

        Добрый день! И он действительно добрый! Сегодня нашёл причину странной работы Samba сервера, она всё-таки, оказалась в роутере Huawei B310. Утром запустил сервер, а Samba сервер снова «хулиганит», зашёл в настройки роутера и перезапустил его. После этого Samba сервер моментально заработал. Получается, что от настройки bind уже никак не «отвертеться». Буду искать как его настроить с одной сетевой картой, везде почему-то рассматривается с двумя, одна смотрит во внутреннюю сеть, другая во внешнюю, а мне такой «огород городить» нет смысла, делиться трафиком не с кем и соединение с роутером проводное, через IP. И с точки зрения безопасности, у меня получается тройная защита — брандмауэр роутера, Firewalld и SELinux в CentOS.

  12. Аватар
    Николай

    Факир был пьян и фокус не удался. Сервер на RHEL 8 нормально отработал два дня и появилась та же проблема. Возможно проблема связана с тем, что в качестве адреса DNS сервера я указываю адрес DNS сервера роутера Huawei B310, он имеет встроенный DNS сервер и DHCP сервер. DHCP я не использую, использую статические адреса но DNS и DHCP в роутере не отключены. Может быть имеет смысл их отключить? Поделитесь опытом, кто владеет ситуацией. И ещё, я изменил порт на SSH сервере на альтернативный и сразу после принятия изменений, проблемы пропали, это совпадение? Думаю во всяком случае, время покажет.

  13. Аватар

    Всем доброго времени суток.
    Спасибо автору за статью.
    Я не отключал selinux и с отправкой почты возникли некоторые сложности.
    А именно SELinux запрещает /usr/libexec/postfix/tlsmgr методы доступа ‘read, write’ к файл prng_exch.
    Я понимаю, что автор не рассматривает настройку SELinux в этой статье.
    Но на всякий случай дополню статью. Может это и не совсем верный способ, но все же.
    При поиске проблемы использовал комманду
    sealert -a /var/log/audit/audit.log
    Которая и подсказала, что именно не так и способы устранения проблемы.
    Выполнив
    ls -lZ /var/lib/postfix/prng_exch
    Мы получим
    -rw——-. postfix postfix system_u:object_r:unlabeled_t:s0 /var/lib/postfix/prng_exch
    Обратим внимание на тип unlabeled_t, именно из-за него postfix не может работать как положено
    Изменим тип. Я брал тип из какого то мануала особо не вдавался в подробности правильный ли он. Надеюсь автор меня поправит, если это неправильно)) Выполним команды
    # semanage fcontext -a -t postfix_prng_t ‘/var/lib/postfix/prng_exch’
    # restorecon -v ‘/var/lib/postfix/prng_exch’
    после этого повалились ранее отправленные письма))

  14. Аватар
    Николай

    Господа! Меня можно поздравить, запустил сервер на RHEL 8. Всё заработало буквально «с разбегу». Правда, не решил пока пару задач, установка Transmission-daemon и поддержку NTFS. Понаблюдаю с месяц и, если за это время не найду способа добавить поддержку NTFS, придётся конвертировать диски в Ext.

  15. Аватар
    Николай

    Первые впечатления от RHEL 8. Пока система работает с USB_HDD, вполне доволен. Удалось настроить Samba, примонтировать и предоставить в общий доступ диск, размеченный в Ext3. остальное потом, слишком много вопросов, найду ответы, сообщу. Не могу решиться на подключение платных репозиториев, всё-таки сервер домашний, дороговато для пенсионера. Хотя, может быть, оно того стоит. В общем, буду экспериментировать, понаблюдаю за работой и, возможно, снова конвертирую диски сервера в Ext, это же RedHat, к тому же, это первая Linux система, с которой я столкнулся.
    PS: И всё-таки, с нетерпением жду CentOS 8, хотя с таким же нетерпением ждал Debian 10, но сильно в нём разочаровался, остаюсь на платорме Red Hat.

  16. Аватар
    Николай

    Сервер на CentOS 7 работает скоро месяц, ничего не делаю, просто наблюдаю и ежедневно регистрирую работу. Проблемы начали появляться, через неделю, после запуска. Без каких-то причин снова начала глючить Samba, день работает, затем пару дней глючит, затем снова всё повторяется. Заметил ещё одну проблему, когда глючит Samba, невозможно записать на сервер из Linux большие (несколько гигабайт) файлы, выводится сообщение о том, что не хватает места на диске, хотя места на диске более, чем достаточно, небольшие файлы записываются нормально. Из Windows, как ни странно, большие файлы записываются без проблем. Таким образои имею три проблемы: 1. Периодически пропадает доступ, через Samba к серверу из Linux, доступ по SSH замедляется примерно в 40 раз, доступ из Windows замедляется примерно в 20 раз, но остаётся. 2. Периодически, но гораздо реже, один, или несколько примонтированных разделов переводятся в режим «Только чтение», затем, спустя несколько дней, восстанавливается. 3. Проблемы с записью больших файлов. С нетерпением жду выхода CentOS 8. Зарегистрировался на Red Hat и скачал RHEL 8, установил на USB_HDD. Система прекрасная, но пока не могу подключить ни одного репозитория, очень хотелось бы, перед тем, как платить за поддержку, попробовать, как она будет в работе.

  17. Аватар
    Николай

    Поразительно!!! зарегистрироваться ни на одном форуме CentOS абсолютно невозможно, хотя думаю, что это абсолютно бессмысленно. Задавал вопрос производителю системной платы, получил ответ, кампания Asus гарантирует работу системных плат только под Windows, по этим вопросам обращайтесь к разработчику ОС, задать вопрос разработчику CentOS невозможно, как впрочем и любой другой Linux. Задавал вопрос блоггерам, ни один не владеет этой ситуацией. Создаётся впечатление, что кроме разработчика, никто не знает ни одну Linux систему, а просто, что называется, «гнут пальцы», пускают пыль в глаза. На многочисленных форумах не смог решить ни одной проблемы. Более 15 лет стараюсь изучить Linux, но учебников по ней нет, а которые есть, рассчитаны на подготовленного программиста с университетским образованием. Поразительно!!! С таким отношением к энтузиастам, Linux навсегда останется на 1% компьютеров. Короче, заканчиваю это безнадёжное дело, дальше буду тыкаться сам. Короче complete failure.

    • Zerox

      У вас какая-то локальная проблема, которую никто не собирается для вас решать. Linux используется на большей части серверов в мире, так что про 1% это вы в корне неверно мыслите. Да, у пользователей будет 1%, потому что это система не для них.

      • Аватар
        Николай

        Спасибо. Я в этом уже не сомневаюсь. В крайнем случае перейду на Ubuntu server, как ни странно работает просто великолепно. Не каждую проблему возможно решить.

  18. Аватар
    Николай

    Установил CentOS 7.6 при помощи netinst образа. Установку производил с зеркала «mirror.yandex.ru/centos/7/os/x86_64». После установки настроил систему исключительно, как файловый сервер Samba, ни каких излишеств. Работает всё, однако имеются проблемы 1. Соединение с сервером, через Putty устанавливается очень долго, 40 секунд до предложения ввести логин и пароль. 2. Запуск Midnight Commander происходит за 40 секунд. 3. Первое соединение с сервером, через SSH из Dolphin происходит, через 40 секунд, последующие практически моментально. 4. Соединиться с ресурсом сервера, через Samba из Dolphin, через добавление сетевой папки, не удаётся, выводится сообщение «Невозможно подключиться к серверу. Проверьте параметры и повторите попытку.», если ресурс сервера предварительно примонтирован, через fstab, он доступен из окна Dolphin «Точки входа» из списка примонтированных сетевых ресурсов, причём доступ практически моментальный.
    Перезагружаю сервер под Ubuntu 18.04.2 server с другого диска, все эти проблемы пропадают, из Putty сервер откликается за доли секунды, Midnight Commander также запускается за доли секунды, сетевые диски подключаются и через Dolphin и через fstab, причём практически моментально.
    Проблема со 100% вероятностью в CentOS. Если кто владеет ситуацией, помогите разобраться, все необходимые данные пришлю, только скажите, какие. Николай.

  19. Аватар
    Николай

    Пилиюнул на всё, снёс CentOS, скачал с официального сайта Ubuntu 18.04.2 server, установил и настроил. Пока всё работает и даже Transmission-daemon пошёл «с разбегу» и в отличие от CentOS запускает торренты автоматом из указанной папки. Настройки просто тупо перенёс из CentOS. Сложность была только с необходимостью вспоминать, как настроить iptables, пока «колупался» с CentOS успел привыкнуть к Firewall. Однго только понять не могу, почему не пошёл Debian 9, ведь Ubuntu разработана на его базе, пять попыток установки закончились обломом, при старте Debian ищет несуществующий раздел, например /dev/sdi5 (девятый по счёту), причём, каждую перезагрузку раз разный (но у меня всего три диска!) и наглухо виснет, дело не доходит даже до ввода логина. Пока понаблюдаю за Убунтой, с месяц буду стартовать с USB_HDD, а на SATA оставлю Windows. Если не будет сбоев, переведу её на SATA, а Windows сверну в образ, на всякий случай.

  20. Аватар
    Николай

    Снова утром включил сервер и снова Самба не работает. Зае&ался.

  21. Аватар
    Николай

    Не помню где, возможно на одном из англоязычных сайтов, я нашёл информацию, что на сервере необходимо отключить Network Manager, и если не используется протокол ipv6, отключить и его. Остановил и отключил Network Manager, командами, «# systemctl stop Network Manager» и «# systemctl disable Network Manager», затем отключил протокол ipv6, командами, «echo net.ipv6.conf.all.disable_ipv6 = 1 >> /etc/sysctl.conf» и «echo net.ipv6.conf.default.disable_ipv6 = 1 >> /etc/sysctl.conf». Также отключил и dhcpv6-client, командой, «# firewall-cmd —permanent —remove-service=dhcpv6-client». Сделал в соответствии с рекомендациями, пусть пройдёт парочка обновлений, понаблюдаю. Ранее встречал рекомендацию, отключить сервер DNS, пробовал, затем включил так, как не увидел ни каких изменений в работе.

    • Аватар

      Небольшая поправка, netfilter фаервол. iptables и firewalld утилиты для управления.

      • Аватар
        Николай

        А чем же они управляют?
        Firewall, дословно из википедии, «Межсетево́й экра́н, сетево́й экра́н — программный или программно-аппаратный элемент компьютерной сети, осуществляющий контроль и фильтрацию проходящего через него сетевого трафика в соответствии с заданными правилами».
        «IPTables — утилита командной строки, является стандартным интерфейсом управления работой межсетевого экрана.».
        «Netfilter — межсетевой экран (брандмауэр), встроен в ядро Linux с версии 2.4.» — оттуда же.
        И кстати, об Ubuntu, за две недели работы Ubuntu 18.04.2 server не произошло ни одного сбоя, даже самого мелкого, или незначительного, хотя все настройки сервера просто тупо перенёс из системы CentOS. Получается дело не в компьютере и не в руках, а всё-таки, в CentOS. Очень хотелось бы понять, что именно.

  22. Аватар
    Николай

    Отключили электроэнергию на 3 часа. После включения электричества, включил сервер и, с какого-то перепугу, всё заработало. НИЧЕГО НЕ ДЕЛАЛ!!!!!!!!!!! Это 3,14здец!!!!! За более, чем четвертьвековую работу сисадмином такого геморроя не было никогда.

  23. Аватар
    Николай

    Прошу прощения, добавлю. Я на 100% уверен, что Fedora 29 на рабочей станции тут ни причём, я свободно присоединяюсь к любому ресурсу Windows домашнего кинотеатра из рабочей станции под Fedora, более того, подсоединившись к рабочему столу домашнего кинотеатра, через Teamviewer, я свободно присоединяюсь к серверу и из Windows домашнего кинотеатра удалённо, находясь на рабочей станции под Fedora. Иными словами, проблема с Самбой локализована на сервере и действует ТОЛЬКО НА РАБОЧИЕ СТАНЦИИ ПОД LINUX. Этого я понять не могу. Если кто-то знает в чём дело, помогите, пожалуйста!

  24. Аватар
    Николай

    Я припоминаю, когда на сервере был установлен Debian 7 были такие же проблемы, но я это связывал с нестабильной работой графического окружения Xfce на рабочей станции, ресурсы сервера открывались до нескольких минут. С переходом на графическое окружение Plasma, как будто всё выправилось, однако проблемы периодически появляются вот уже второй год. Не думаю, что это связано с железом. За это время поменял три концентратора Switch и два раза системную плату Asus P7H55-M > Asus P8H61M-K > Gigabbyte H61M-S2PV две последние абсолютно новые, обе на гарантии, однако проблемы остались При перезагрузке сервера с другого диска под Windpws, все проблемы исчезают.

  25. Аватар
    Николай

    Сегодня утром, после включения снова не работает сервер Самба для рабочей станции под Linux Fedora 29 Plasma, Putty так же, как и в прошлый раз откликается за 20 секунд, по SSH из Dolphin ресурсы сервера открываются, но вместо 0,5 секунды 20 секунд, из Windows доступ к серверу есть. Далее отчёты.

    Отчёт по Firewall (команда # firewall-cmd —list-all)
    public (active)
    target: default
    icmp-block-inversion: no
    interfaces: enp2s0
    sources:
    services: dhcpv6-client ssh samba
    ports: 22/tcp 80/tcp 137/tcp 138/tcp 139/tcp 443/tcp 445/tcp 9091/tcp
    protocols:
    masquerade: no
    forward-ports:
    source-ports:
    icmp-blocks:
    rich rules:

    Отчёт SELinux, по Samba (команда # getsebool -a | grep -E «smb|samba»)
    samba_create_home_dirs —> off
    samba_domain_controller —> off
    samba_enable_home_dirs —> on
    samba_export_all_ro —> on
    samba_export_all_rw —> on
    samba_load_libgfapi —> off
    samba_portmapper —> off
    samba_run_unconfined —> off
    samba_share_fusefs —> on
    samba_share_nfs —> off
    sanlock_use_samba —> off
    smbd_anon_write —> on
    tmpreaper_use_samba —> off
    use_samba_home_dirs —> on
    virt_use_samba —> on

    Отчёт SELinux, по SSH (команда # getsebool -a | grep -E «ssh»)
    fenced_can_ssh —> on
    selinuxuser_use_ssh_chroot —> on
    ssh_chroot_rw_homedirs —> on
    ssh_keysign —> on
    ssh_sysadm_login —> on

    Состояние smb и nmb (команда # systemctl status smb nmb)
    ● smb.service — Samba SMB Daemon
    Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled)
    Active: active (running) since Пн 2019-07-01 07:48:08 +04; 14min ago
    Docs: man:smbd(8)
    man:samba(7)
    man:smb.conf(5)
    Main PID: 4830 (smbd)
    Status: «smbd: ready to serve connections…»
    CGroup: /system.slice/smb.service
    ├─4830 /usr/sbin/smbd —foreground —no-process-group
    ├─4872 /usr/sbin/smbd —foreground —no-process-group
    ├─4873 /usr/sbin/smbd —foreground —no-process-group
    ├─4876 /usr/sbin/smbd —foreground —no-process-group
    └─5662 /usr/sbin/smbd —foreground —no-process-group

    июл 01 07:48:08 nikiv64 systemd[1]: Starting Samba SMB Daemon…
    июл 01 07:48:08 nikiv64 smbd[4830]: [2019/07/01 07:48:08.881656, 0] ../lib/util/become_daemon.c:138(daemon_ready)
    июл 01 07:48:08 nikiv64 systemd[1]: Started Samba SMB Daemon.
    июл 01 07:48:08 nikiv64 smbd[4830]: daemon_ready: STATUS=daemon ‘smbd’ finished starting up and ready to serve connections

    ● nmb.service — Samba NMB Daemon
    Loaded: loaded (/usr/lib/systemd/system/nmb.service; enabled; vendor preset: disabled)
    Active: active (running) since Пн 2019-07-01 07:48:08 +04; 14min ago
    Docs: man:nmbd(8)
    man:samba(7)
    man:smb.conf(5)
    Main PID: 4761 (nmbd)
    Status: «nmbd: ready to serve connections…»
    CGroup: /system.slice/nmb.service
    └─4761 /usr/sbin/nmbd —foreground —no-process-group

    июл 01 07:48:08 nikiv64 systemd[1]: Starting Samba NMB Daemon…
    июл 01 07:48:08 nikiv64 nmbd[4761]: [2019/07/01 07:48:08.707048, 0] ../lib/util/become_daemon.c:138(daemon_ready)
    июл 01 07:48:08 nikiv64 systemd[1]: Started Samba NMB Daemon.
    июл 01 07:48:08 nikiv64 nmbd[4761]: daemon_ready: STATUS=daemon ‘nmbd’ finished starting up and ready to serve connections
    июл 01 07:53:25 nikiv64 nmbd[4761]: [2019/07/01 07:53:25.019762, 0] ../source3/nmbd/nmbd_namequery.c:109(query_name_response)
    июл 01 07:53:25 nikiv64 nmbd[4761]: query_name_response: Multiple (2) responses received for a query on subnet 192.168.8.3 for name WORKGROUP.
    июл 01 07:53:25 nikiv64 nmbd[4761]: This response was from IP 192.168.8.11, reporting an IP address of 192.168.8.11.
    июл 01 07:58:17 nikiv64 nmbd[4761]: [2019/07/01 07:58:17.629866, 0] ../source3/nmbd/nmbd_namequery.c:109(query_name_response)
    июл 01 07:58:17 nikiv64 nmbd[4761]: query_name_response: Multiple (2) responses received for a query on subnet 192.168.8.3 for name WORKGROUP.
    июл 01 07:58:17 nikiv64 nmbd[4761]: This response was from IP 192.168.8.11, reporting an IP address of 192.168.8.11.

    Отчёт по статусу smb и nmb отличается от предыдущего потому, что я его делал во время попытки присоединения к серверу, через Samba.

  26. Аватар
    Николай

    Заметил ещё одну интересную особенность этой проблемы. Когда с рабочей станции из Linux невозможно соединиться с ресурсами Samba сервера, даже из Windows невозможно запустить проигрывание аудио или видео файла при помощи плеера VLC, однако, при помощи Pot Player из Windows, как ни странно, медиафайлы с сервера воспроизводятся и даже пакетом.

  27. Аватар
    Николай

    Сегодня произошло совсем непонятное, включил сервер и доступ, через Самбу появился. Единственное моё действие — вечером выключил, утром включил. Просто фантастическая нестабильность. Всё, «Тупик нечистой силы, дом 13».

  28. Аватар
    Алексей

    Zerox, а вы используете какой-нибудь хелпдеск? Например OTRS? ;) Если да, то планируете написать статью по установке и настройке? Если нет, то почему? Нет надобности или есть какие-нибудь альтернативы беззаморочные?

    • Zerox

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

      • Аватар
        Алексей

        А жаль. Было бы очень интересно прочесть. Как раз сейчас установил и разбираюсь с настройками. Надеюсь, напишите как-нибудь.

  29. Аватар
    Николай

    Господа! Вы будете смеяться, но, cегодня, на четвёртый день работы сервера на CentOS 7.5 через 7 часов после включения сервера утром пропало соединение с сервером, через Samba из рабочей станции под Fedora 29, перезагрузился с USB_HDD в OpenSUSE 15.1 — соединения, через Samba нет. Из Windows соединение с сервером есть, но с задержкой около 5 секунд, соединение, через SSH есть с нормальной скоростью, 0,5 секунды, уже что-то новенькое, ранее соединение устанавливалось около 20 секунд. Выполнил те же команды тестирования Samba и SSH, всё совпадает на 100%, кроме времени создания отчёта. Пока писал сообщение, время соединения с сервером по SSH увеличилось до 18 секунд. Странно всё это. Ранее на сервере стояла плата Asus P8H61M (новая), из-за этих проблем купил и установил плату Gigabyte H61M-S2PV, проблемы остались. Я уже на 100% уверен, что дело в сервере, устанавливал на сервер Fedora 28 server, пару месяцев было всё нормально, а потом начались аналогичные проблемы. Пару лет назад поменял на сервере Debian 7, который прекрасно работал до этого 5 лет, причина — из-за сильнейшей грозы вышла из строя системная плата Asus P7H55-Pro, ни новую, ни б/у найти не удалось, заменил на более современную P8 H61M, Debian 7 на ней не пошёл, просто отказался загружаться, версии 8 и 9 тоже, пришлось переходить на платформу Red Hat, пока неудачно. До пенсии более 25 лет работал сисадмином, преподавал операционные системы, базы данных и программирование на ЯВУ, такой чудовищной нестабильности работы ОС на сервере не видел. Попробую установить на сервер Free BSD, может быть хотя бы она будет работать стабильно. На этом же сервере прекрасно работает Windows 2008 R2 server, но «крякнутая», а это немного напрягает, ибо в любой момент может произойти «кирдык», хотя пока не «кирдыкнулась», вот и держу на сервере на двух физических дисках две системы. Рад бы не «пиратствовать», но пока не получается. PS: О себе, на пенсии, сисадмин с 1994 года, начинал (не считая MS DOS) с Windows 3.11 с двумя IBM PC 386, закончил Windows 2008 R2 server с 165 рабочими станциями, но такой чудовищной нестабильности работы не видел. Может быть я что-то не понимаю. подскажите, пожалуйста!

  30. Аватар
    Николай

    На четвёртый день сразу, после включения сервера соединение с ним, через Samba произошло нормально, примерно за 0,5 секунды. Через полчаса работы соединиться с сервером получилось, через 15 секунд. Через SSH в Pyutty соединение затянулось до 10 секунд. Чувствую, что, через пару часов работы Samba сервер совсем перестанет работать.

  31. Аватар
    Алексей

    Добрый день.
    Хотелось бы комментарий по скрипту. Там в начали написан интерфейс и ip , смотрящие в интернет. С интерфейсом все понятно. А вот какой вписывать IP не не понятно. У меня в сети перед серваком стоит маршрутизатор Микрот, на нем, плюс ко всему вдобавок настроен свой firewall. Маршрутизатор принимает инет от провайдера по выделенному IP и через NAT предоставляет по локалке.
    Так вот, в чем собственно вопрос: IPкакой в скрипт вписывать — провайдера (внешний) или внутренний локальный??
    Новичек Йа. Только разбираться начал с Linux-ом.
    Спасибо.

    • Zerox

      А зачем вам firewall на сервере, который не смотрит напрямую в интернет? Какие ограничения доступа вы хотите настроить?

      • Аватар
        Алексей

        Он там нужен только для моего самообразования))) Так-то firewall на нем уже отключен.
        А, допустим, сервер будет стоять после роутера и NAT, но будет исполнять роль firewall. Тогда прописываем IP который ему выдает NAT (IP закреплен за MAC-ом)? Или из скрипта вовсе убрать эти 2 строчки?
        Спасибо.

        Может быть все это глупости, но черт возьми, как любопытно)))

        • Zerox

          Указывать надо тот адрес и интерфейс, который фактически используется для подключения сервера к сети. В данном случае локальный адрес.

      • Аватар
        Николай

        Сервер подключен к интернет, через роутер, при помощи сервера я скачиваю из интернет большие файлы, или группы файлов, а потом раздаю их по локальной сети на десктоп и домашний кинотеатр под Windows. Устанавливал Linux на домашний кинотеатр, но не получается воспроизводить аудио и видео файлы по сети с сервера, поэтому пришлось установить Windows, с ней проблем нет. Что самое интересное, три дня назад я развернул образ CentOS на сервер, больше ничего не делал, пока три дня отработал нормально. Всё получается, как и в прошлый раз, разворачиваю систему с образа, она работает от нескольких дней до месяца, а затем без всякой причины пропадает доступ к серверу, через Самбу.

  32. Аватар
    Николай

    Не понимаю, почему сервер на CentOS 7.5 после первого включения работает нормально, доступ к его ресурсам, через Samba, есть. Поработав сутки — другие, после очередной перезагрузки перестаёт работать сервер Samba.
    Привожу отчёты по состоянию сети:
    Отчёт по Firewall (команда # firewall-cmd —list-all)
    public (active)
    target: default
    icmp-block-inversion: no
    interfaces: enp2s0
    sources:
    services: dhcpv6-client ssh samba
    ports: 22/tcp 80/tcp 137/tcp 138/tcp 139/tcp 443/tcp 445/tcp 9091/tcp
    protocols:
    masquerade: no
    forward-ports:
    source-ports:
    icmp-blocks:
    rich rules:

    Отчёт SELinux, по Samba (команда # getsebool -a | grep -E «smb|samba»)
    samba_create_home_dirs —> off
    samba_domain_controller —> off
    samba_enable_home_dirs —> on
    samba_export_all_ro —> on
    samba_export_all_rw —> on
    samba_load_libgfapi —> off
    samba_portmapper —> off
    samba_run_unconfined —> off
    samba_share_fusefs —> on
    samba_share_nfs —> off
    sanlock_use_samba —> off
    smbd_anon_write —> on
    tmpreaper_use_samba —> off
    use_samba_home_dirs —> on
    virt_use_samba —> on

    Отчёт SELinux, по SSH (команда # getsebool -a | grep -E «ssh»)
    fenced_can_ssh —> on
    selinuxuser_use_ssh_chroot —> on
    ssh_chroot_rw_homedirs —> on
    ssh_keysign —> on
    ssh_sysadm_login —> on

    Состояние smb и nmb (команда # systemctl status smb nmb)
    ● smb.service — Samba SMB Daemon
    Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled)
    Active: active (running) since Ср 2019-06-26 09:34:31 +04; 28min ago
    Docs: man:smbd(8)
    man:samba(7)
    man:smb.conf(5)
    Main PID: 4834 (smbd)
    Status: «smbd: ready to serve connections…»
    CGroup: /system.slice/smb.service
    ├─ 4834 /usr/sbin/smbd —foreground —no-process-group
    ├─ 4862 /usr/sbin/smbd —foreground —no-process-group
    ├─ 4863 /usr/sbin/smbd —foreground —no-process-group
    ├─ 4978 /usr/sbin/smbd —foreground —no-process-group
    └─13069 /usr/sbin/smbd —foreground —no-process-group

    июн 26 09:34:30 nikiv64 systemd[1]: Starting Samba SMB Daemon…
    июн 26 09:34:31 nikiv64 smbd[4834]: [2019/06/26 09:34:31.241082, 0] ../lib/util/become_daemon.c:138(daemon_ready)
    июн 26 09:34:31 nikiv64 smbd[4834]: daemon_ready: STATUS=daemon ‘smbd’ finished starting up and ready to serve connections
    июн 26 09:34:31 nikiv64 systemd[1]: Started Samba SMB Daemon.

    ● nmb.service — Samba NMB Daemon
    Loaded: loaded (/usr/lib/systemd/system/nmb.service; enabled; vendor preset: disabled)
    Active: active (running) since Ср 2019-06-26 09:34:30 +04; 28min ago
    Docs: man:nmbd(8)
    man:samba(7)
    man:smb.conf(5)
    Main PID: 4753 (nmbd)
    Status: «nmbd: ready to serve connections…»
    CGroup: /system.slice/nmb.service
    └─4753 /usr/sbin/nmbd —foreground —no-process-group

    июн 26 09:34:29 nikiv64 systemd[1]: Starting Samba NMB Daemon…
    июн 26 09:34:30 nikiv64 nmbd[4753]: [2019/06/26 09:34:30.126026, 0] ../lib/util/become_daemon.c:138(daemon_ready)
    июн 26 09:34:30 nikiv64 systemd[1]: Started Samba NMB Daemon.
    июн 26 09:34:30 nikiv64 nmbd[4753]: daemon_ready: STATUS=daemon ‘nmbd’ finished starting up and ready to serve connections
    июн 26 09:37:12 nikiv64 nmbd[4753]: [2019/06/26 09:37:12.631918, 0] ../source3/nmbd/nmbd_become_lmb.c:397(become_local_master_stage2)
    июн 26 09:37:12 nikiv64 nmbd[4753]: *****
    июн 26 09:37:12 nikiv64 nmbd[4753]: [2B blob data]
    июн 26 09:37:12 nikiv64 nmbd[4753]: Samba name server NIKIV64 is now a local master browser for workgroup WORKGROUP on subnet 192.168.8.3
    июн 26 09:37:12 nikiv64 nmbd[4753]: [2B blob data]
    июн 26 09:37:12 nikiv64 nmbd[4753]: *****

    Состав файла smb.conf
    [global]
    workgroup = WORKGROUP
    server string = File Server
    netbios name = nikiv64
    security = user

    passdb backend = tdbsam

    printing = cups
    printcap name = cups
    load printers = yes
    cups options = raw
    log file = /var/log/samba/log.%m
    max log size = 50

    encrypt passwords = yes
    map to guest = bad user
    security = user
    dns proxy = no
    case sensitive = auto
    dos charset = 866
    unix charset = UTF-8
    passdb backend = tdbsam

    client ntlmv2 auth = yes

    [homes]
    comment = Home Directories
    valid users = %S, %D%w%S
    browseable = No
    read only = No
    inherit acls = Yes

    [home]
    comment = My Files
    path = /home/user
    force user = user
    force group = user
    writable = yes
    guest ok = yes
    create mask = 0775
    directory mask = 0775

    После того, как сервер Samba перестаёт работать, причём только для рабочих станций под Linux, с рабочих станций под Windows доступ к ресурсам сервера есть, хотя немного затянутый, снова проверяю файлы конфигурации и делаю такие же отчёты, они один в один соответствуют предыдущим! После появления проблемы время отклика сервера по SSH (подключение, через Putty) увеличивается с 0,5 секунды до 30 секунд.

  33. Аватар

    Сайт не пропускает ссылки на DropBox. Куда можно отправить\выложить лог? Спасибо.

  34. Аватар

    Нет. То же самое, No mail for tariel

    • Zerox

      Смотрите лог /var/log/maillog Возможно там будет видна какая-то ошибка отправки. Еще как вирант, попробуйте в aliases отдельной строкой обозначить отправку рутовской почты tariel
      root: root,ИМЯ@gmail.com
      root: tariel

      И проверьте еще раз внимательно, нет ли где-нибудь ошибки в написании имени.

      • Аватар

        Сделал отдельной строкой, ничего не поменялось. Вот что упало в лог
        Apr 19 07:10:33 tariel postfix/pickup[31231]: BF7C88016E6: uid=1001 from=
        Apr 19 07:10:33 tariel postfix/cleanup[31606]: BF7C88016E6: message-id=
        Apr 19 07:10:33 tariel postfix/qmgr[3187]: BF7C88016E6: from=, size=786, nrcpt=1 (queue active)
        Apr 19 07:10:33 tariel postfix/local[31608]: BF7C88016E6: to=, orig_to=, relay=local, delay=0.03, delays=0.02/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
        Apr 19 07:10:33 tariel postfix/cleanup[31606]: C405B804DC7: message-id=
        Apr 19 07:10:33 tariel postfix/qmgr[3187]: C405B804DC7: from=, size=908, nrcpt=1 (queue active)
        Apr 19 07:10:33 tariel postfix/local[31608]: BF7C88016E6: to=, orig_to=, relay=local, delay=0.03, delays=0.02/0.01/0/0, dsn=2.0.0, status=sent (forwarded as C405B804DC7)
        Apr 19 07:10:33 tariel postfix/qmgr[3187]: BF7C88016E6: removed
        Apr 19 07:10:34 tariel postfix/smtp[31609]: connect to gmail-smtp-in.l.google.com[2607:f8b0:4002:c03::1b]:25: Network is unreachable
        Apr 19 07:10:35 tariel postfix/smtp[31609]: C405B804DC7: to=, orig_to=, relay=gmail-smtp-in.l.google.com[173.194.219.27]:25, delay=1.3, delays=0/0.01/0.93/0.33, dsn=2.0.0, status=sent (250 2.0.0 OK 1555672235 a3si3398313ybb.292 — gsmtp)
        Apr 19 07:10:35 tariel postfix/qmgr[3187]: C405B804DC7: removed

        • Zerox

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

  35. Аватар

    Добрый день. Отредактировал файл /ets/aliases, строка
    # Person who should get root’s mail
    root: root,tariel,ИМЯ@gmail.com

    При отправке тестового письма на root, на ящик gmail оно приходит, а команда mail для пользователя tariel выводит
    tariel@tariel.vds|~| $ mail
    No mail for tariel

    В чем может быть причина?

    • Zerox

      Я не понял из сообщения, что вы отправляете для tariel? Судя по всему письмо получается без текста, поэтому и получаете соответствующее сообщение — нечего отправлять.

  36. Аватар

    А по какой причине один и тотже скрипт работает на дебиане, но не работает на центосе?
    Выяснил что скрипт получает соединение на рандомный порт.
    Не понимаю что на центе его блокирует.
    На дебиане нет нгинкса. На центе пробовал выключал его.

  37. Аватар
    Николай

    Хочу немного реабилитировать CentOS 7.5. Записал систему с образа на USB_HDD и запустил сервер с него. После этого обновил и почистил систему, через терминал (# yum -y update, # yum -y clean all). Вот уже две недели система нормально работает с USB_HDD. Пока на основном диске держу Fedora 28 server, с ней в течение нескольких месяцев никогда не было ни каких проблем, в том числе и с Transmission-daemon. В CentOS с ним есть небольшая проблема, торренты добавляются только вручную, Transmission-daemon в CentOS напрочь отказывается брать их из указанной папки. Однако сервер на CentOS даже с USB_HDD работает намного быстрее, чем на Fedora 28 server с SATA, заметно даже невооружённым глазом, во-первых, откликается примерно в два раза быстрее, а во-вторых, отсутствуют «подмерзания» при воспроизведении с него видеофайлов на домашнем кинотеатре, даже с максимальным разрешением. Прошу помощи, если кто-то решил аналогичную проблему с Transmission-daemon в CentOS 7.5.

  38. Аватар

    Может кто подсказать по тунелю. Он вроде качает файл, хотя если вбить адрес этот в урл то выдает ошибку. И при установке выдает такое.
    cd /opt && curl -O -L https://rpmfind.net/linux/fedora/linux/updates/25/x86_64/Packages/s/stunnel-5.41-1.fc25.x86_64.rpm
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 276 100 276 0 0 814 0 —:—:— —:—:— —:—:— 816
    rpm -ivh stunnel-5.41-1.fc25.x86_64.rpm
    error: open of failed: No such file or directory
    error: open of failed: No such file or directory
    error: open of 404 failed: No such file or directory
    error: open of Not failed: No such file or directory
    error: open of Found failed: No such file or directory
    error: open of failed: No such file or directory
    error: open of Not failed: No such file or directory
    error: open of Found failed: No such file or directory
    error: open of The failed: No such file or directory
    error: open of requested failed: No such file or directory
    error: open of URL failed: No such file or directory
    error: open of /linux/fedora/linux/updates/25/x86_64/Packages/s/stunnel-5.41-1.fc25.x86_64.rpm failed: No such file or directory
    error: open of was failed: No such file or directory
    error: open of not failed: No such file or directory
    error: open of found failed: No such file or directory
    error: open of on failed: No such file or directory
    error: open of this failed: No such file or directory
    error: open of server. failed: No such file or directory
    error: open of failed: No such file or directory

  39. Аватар
    Александр

    Статья отличная! У себя ещё настроил терминальный сервер. И при подключении через RDP или vnc не получается перевести раскладку на en, соответственно и войти не получается. Ибо пользователь на en и пароль тоже. Может вы можете что нибудь подсказать?

  40. Аватар
    Баба Зина

    Дратути!

    Откуда оно возьмёт заявленные в начале статьи обновления? Пишет:
    Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was 14: curl#6 — «Could not resolve host: mirrorlist.centos.org; Неизвестная ошибка»
    И дальше ещё несколько абзацев.

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

    Сердешно благодарствую.

  41. Аватар
    Станислав

    Может кто подсказать в чем проблема? Не могу зайти на измененый порт в sshd_config расскоментировал строчку порт и вписал свой.
    Делал и systemctl reload sshd и systemctl restart sshd. В iptables так же порты прописываю. пробовал разные порты ни как не работает. если закоментировать сточку порт то уходит на 22 и все норм работает.

    netstat -tulpn | grep sshd
    tcp 0 0 0.0.0.0:12222 0.0.0.0:* LISTEN 16027/sshd
    tcp6 0 0 :::12222 :::* LISTEN 16027/sshd

    systemctl status sshd
    Stopped OpenSSH server daemon.
    Starting OpenSSH server daemon…
    Server listening on 0.0.0.0 port 12222.
    Server listening on :: port 12222.
    Started OpenSSH server daemon.

    • Zerox

      Если нигде нет ошибки и фаервол настроен правильно, то блокировать работу sshd на нестандартном порту может SELinux.

  42. Аватар
    Николай

    Снова развернул с образа CentOS 7.5 server, отработал неплохо около недели и снова, теперь уже при скачивании файла из интернет «отвалился» примонтированный диск, на который я скачивал, система его просто перестала видеть. Перезагрузился и всё восстановилось, однако, через несколько часов, это повторилось. Ещё одна небольшая проблема, из-под CentOS, Transmission-daemon наотрез отказывается брать торрент файлы из указанной папки, но это не так важно, можно и вручную вставить. Исчезновение ресурса сервера намного важнее. Плюнул на всё, снёс CentOS и установил Fedora 28 Plasma, которую настроил, как сервер. Основное время система работает без GUI, а когда надо скачать из интернета что-нибудь по прямой ссылке, подключаюсь к серверу, через Teamviewer, запускаю Firefox и вперёд! И всё опять работает, как надо. В общем в Fedora 28 получилось всё, что задумал, даже больше, ПРЕКРАСНАЯ СИСТЕМА!!!

  43. Аватар
    Ярослав

    Добрый день. После отключения selinux и перезагрузки, ось перестала загружаться, выдает «failed to load selinux policy, freezing». Hyper-V 2008R2. Прошу подсказать, с чем может быть связанна такая ситуация?

    • Zerox

      100% ошибка в конфигурационном файле /etc/sysconfig/selinux Либо опечатались, либо отредактировали не то. Тут уже были подобные отзывы. Отключение selinux не может приводить к поломке машины.

      • Аватар
        Ярослав

        Да, Вы полностью правы, по указанному пути есть 2 строки, изменения необходимо было внести в первую, я внес во вторую, в результате чего был вызван сбой ос’и. Спасибо за проделанную работу!

  44. Аватар

    Здравствуйте,
    в пункте /etc/iptables_rules.sh export WAN_IP=149.154.71.205, у меня ipv4+ipv6, подскажите, как туда добавить ipv6?
    Спасибо.

  45. Аватар

    Время и т.д легко настраивать командой timedatectl.

  46. Аватар
    Станислав

    Добрый день! нужна помощь, есть vps сервер, centos 7.3 к нему нужен доступ через браузер, к примеру 81.213.233.21:20025 или 81.213.233.21:10223 , открытый 22 и 10223 порт, это прокси сервер, пытаюсь открыть порт командой sudo firewall-cmd —zone=public —permanent —add-port=20025/tcp, sudo firewall-cmd —zone=public —permanent —add-port=20025/udp, пишет что он есть в зоне public, но доступа к нему нет, что уже только не пробовал, может нужно как-то пробросить порты? но как? уже не знаю что делать

  47. Аватар
    Николай

    Недели две назад Transmission-daemon перестал запускать торренты из указанной папки, вручную запускаются нормально. Проверил всё, задавал вопросы на форумах, однако проблему решить не удалось и это вкупе с периодическими глюками файловой системы при записи файлов большого размера, заставляет меня отказаться от использования CentOS на сервере. К счастью у меня сохранился образ Ferdora 27 server, которой я разворачиваю на домашний сервер. Если он будет работать нормально, то проблема в CentOS, понаблюдаю и оставлю Fedora 27 на сервере. Диски проверил различными утилитами, ошибок нет. Только что развернул Fedora 27 server с образа, запустил, обе проблемы исчезли.

    • Zerox

      Это у вас явно какая-то локальная проблема. Я ничего подобного никогда не наблюдал. Centos используется на миллионах серверов в мире и считается одной из самых надежных и стабильных систем. Я бы на вашем месте остановился на том дистрибутиве, что работает без глюков и не тратил на это время, если нет любопытства разобраться.

      • Аватар
        Николай

        Fedora является обкаточным полигоном для новых разработок Red Hat и CentOS, стало быть они теоретически абсолютно совместимы. CentOS я устанавливал в разделы, подготовленные при установке Fedora, без каких бы то ни было изменений, настройку системы вел буквально по буквам подробнейшего руководства, которое составил при установке и настройке Fedora, конфигурационные файлы Transmission-daemon (settings.json, transmission-daemon, transmission-daemon.service) просто копировал в соответствующие каталоги, настраивал аналогично. Структура каталогов о обеих систем абсолютно идиентичная, поэтому сервер заработал сразу и без проблем. Но они появились немного позднее, сначала появилась проблема с копированием больших файлов. Замена винчестера не помогла, более того «глючный» винчестер прекрасно работает в Windows, а проблема осталась и с новым винчестером. Возможно проблема с Transmission-daemon связана с ним самим, много ранее, когда у меня на сервере 5 лет стоял Debian 7, Transmission тоже отказывался брать торрент файлы из указанного каталога (признавал их ошибочными) и приходилось добавлять их вручную.

      • Аватар
        Николай

        А разобраться-то очень хочется, тем более, что аналогичная проблема начала появляться на десктопе в ОС Fedora 29, поэтому в качестве основной на десктопе держу Fedora 28, а 29 версию тестирую на USB_HDD.

      • Аватар
        Николай

        Проблема пропала, когда я заменил системную плату Asus PRIME B250M-K на более старую Asus P8 H67-V. Как оказалось, причина в том, что компания Asus выпускает новые «материнки», «заточенные» под Windows 10 и не гарантирует работу с Linux и устаревшими версиями Windows. В случае с Windows XP и Windows 7 вообще даже не удалось начать установку XP-шка просто в начале установки срывается в «Экран синей смерти», а Windows 7 выводит сообщение «Не найден раздел для установки». Заказал системную плату Gigabyte, у неё немного другой чипсет, попробую на ней.

  48. Аватар

    Ошибся. Как установить Memcache?
    Можете помочь установить CentOS 7? Я добавил вас в скайп. Мой скайп traderfx777

  49. Аватар

    Как установить memesh?
    Спасибо

  50. Аватар
    Николай

    Проверил диски на наличие ошибок, ошибок нет. Загрузил систему с флешки и протестировал железо сервера, всё в норме. Снова восстановил систему с того же образа и система снова заработала. Надолго ли. Ничего не понимаю.

  51. Аватар
    Николай

    Сегодня снова попытался записать большой файл на сервер CentOS 7.5, теперь уже из Windows. Снова та же проблема, файл скопировался примерно на 40% и далее тормоз, всё застопорилось. Отменил копирование, зашёл, через Putty на сервер и попробовал удалить файл, не получилось, даже под root. Теперь я полностью уверен, что это проблема в CentOS. Ранее, когда на сервере стояла система Debian 7, за 5 лет интенсивной эксплуатации сервера не было ни одного сбоя. Видно придётся переходить на Debian, или совсем отказываться от Linux. Я более 25 лет работал сисадмином, начинал с Windows NT server, закончил Windows 2008 R2 server и за всё время не было ни каких проблем. Самое интересное, что после предыдущего раза ничего с системой не делал,только развернул её с образа и всё.

  52. Аватар
    Николай

    Развернул с образа Debian 9.5.0 Amd 64 вместо Fedora 28, произвёл полное обновление, обновился до версии 9.6.0. Перед заменой ОС попробовал скопировать и переместить большой файл из Федоры на сервер, снова появились обе ошибки. После замены системы на Debian и его обновления произвёл те же операции, ошибок нет. Получается, что проблема всё-таки в Федоре.

  53. Аватар
    Николай

    И снова здравствуйте! Сегодня мой сервер на CentOS 7.5 снова преподнёс «нежданчик». Копирование файла большого размера, около 2 GB после копирования половины файла, неожиданно завершилось сообщением, что копирование невозможно, диск защищён от записи. Скопированную часть файла даже не удалось удалить, зайдя на сервер с правами root. После нескольких перезагрузок сервера всё-таки удалось скопировать файл на сервер и то из-под Windows. Для этого файл сначала из-под Федоры переписал на раздел ntfs, а затем уже из-под Windows на сервер. Этот глюк CentOS у меня произошёл не в первый раз, в прошлый раз это было примерно 2 месяца назад. Систему на сервере не обновлял, вообще отключил обновление. Получается оно ни при чём. Ещё одна проблема и в Fedora 27(28) и в CentOS, в Dolphin, при перемещении файла из одной папки в другую, исходный файл не удаляется с выводом сообщения о невозможности удаления. Если я сначала копирую файл, а затем удаляю его вручную, всё происходит нормально. Буду благодарен за любую помощь по этим проблемам.
    PS: таких проблем у меня не было ни одного раза, ни в MS DOS, ни в любой, даже самой глючной Windows, даже в Millennium.

  54. Аватар

    Добрый день!
    Ситуация: был сервер FreeBSD, который после сбоя заменили на сервер CentOS 7
    на сервере два аппаратных RAID 0 (зеркало)
    на первом зеркале сейчас установлена ОС CentOS 7
    на втором зеркале всё, что ранее было на сервере FreeBSD
    оба зеркала в CentOS 7 видно, но зеркало от FreeBSD подмонтировать нельзя ввиду того, что там ufs

    /dev/mapper/centos-root: UUID=»5ee42aec-6c89-46d5-85d4-b4cf199fe4de» TYPE=»xfs»
    /dev/sda2: UUID=»7EdzoA-SvSU-laqn-f12e-pHsU-cni5-Td5RBj» TYPE=»LVM2_member»
    /dev/sda1: UUID=»be18db3a-6f99-48b4-97b3-e74a6b761c1e» TYPE=»xfs»
    /dev/mapper/centos-swap: UUID=»64b3f891-e9f2-4fb6-a500-66304e2b225d» TYPE=»swap»
    /dev/sdb1: UUID=»577f6498cc641d1c» TYPE=»ufs» PARTUUID=»c0f4b88b-44e5-11e6-b9ec-f4ce460f4d2f»
    /dev/mapper/centos-home: UUID=»5ce13c35-aeda-4970-a1f8-8521f3674286″ TYPE=»xfs»

    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda 8:0 0 931,5G 0 disk
    ├─sda1 8:1 0 1G 0 part /boot
    └─sda2 8:2 0 930,5G 0 part
    ├─centos-root 253:0 0 50G 0 lvm /
    ├─centos-swap 253:1 0 7,9G 0 lvm [SWAP]
    └─centos-home 253:2 0 872,6G 0 lvm /home
    sdb 8:16 0 931,5G 0 disk
    └─sdb1 8:17 0 931,5G 0 part

    после двухдневного путешествия по факту не найдено реальнодействующего способа подмонтировать это FreeBSD-шное зеркало к CentOS 7, чтобы забрать оттуда информацию.

    Есть вариант использовать для копирования информации другой BSD сервер, но хотелось бы решить эту задачу системно.
    Буду крайне признателен за совет/
    Спасибо.

    • Zerox

      Как мне кажется, проще всего загрузиться с какого-нибудь live cd с freebsd и перенести куда-нибудь данные. Я не помню, какие файловые системы поддерживает freebsd. Но можно что-то найти, что потом поймет и centos. Думаю, даже на fat32 будет проще всего, если freebsd не понимает ext4.

  55. Аватар

    большое спасибо за статью. Однозначно в личное how-to

  56. Аватар

    Добрый день. Не получается настроить отправку почты на внешний ящик MAIL.RU
    Вот мои настройки

    /etc/postfix/main.cf

    # Имя сервера, которое выводит команда hostname
    myhostname = corp.moloko.ru
    # Здесь по логике нужно оставлять только домен, но в данном случае лучше оставить полное имя сервера, чтобы в поле отправитель
    # фигурировало полное имя сервера, так удобнее разбирать служебные сообщения
    mydomain = corp.moloko.ru
    mydestination = $myhostname
    myorigin = $mydomain
    # Адрес сервера, через который будем отправлять почту
    relayhost = smtp.mail.ru:465
    smtp_use_tls = yes
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options = noanonymous
    smtp_tls_security_level = may

    /etc/postfix/sasl_passwd
    smtp.mail.ru:465 oleg@mail.ru:zxcasdzxc

  57. Аватар

    Привет!
    После того, как ставлю SELINUX=disabled
    Ребутаю, загрузка центоса останавливается на белой строке внизу, нажимаю вниз, там в нижней строке ошибка
    [!!!!!!!!!!!] Failed to load SElinux policy, freezing

    • Zerox

      Возможно какая-то ошибка в конфиге /etc/sysconfig/selinux

      • Аватар

        Но как войти в центос? он не загружается( Уже 2 раза переустанавливал и такая хрень вот(

        • Аватар

          ВСе, я тупанул, не туда дисабл ставил, ставил селинукстайп а не в селинукс)))

          • Аватар
            Николай

            Я SELinux не отключал, а всё-таки смог его настроить. Методом «научного тыка» включал политики для Samba и для SSH, в итоге всё получилось, сервер работает, доступ и из Windows и из Linux к серверу есть, разграничение доступа настроены. Хотелось бы найти описания политик для SELinux, хотя бы на английском языке, а то «метод тыка» слишком малопродуктивен.

            • Zerox

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

              • Аватар
                Николай

                Совершенно случайно набрёл на англоязычный сайт «httpd_selinux(8) — Linux man page», (https://linux.die.net/man/8/httpd_selinux). Похоже это то, что я искал, буду переводить и разбираться. Кому необходимо, используйте. Что же касается отключения SELinux, то с этим я немного не согласен, вещь, как будто бы хорошая, да и привычка у меня разбираться со всем непонятным. К тому же не просто так самая продвинутая компания SELinux разработала. А рекомендуют отключать скорее всего потому, что не знают, как настраивать и не хотят с этим заморачиваться.

                • Zerox

                  Не то, что не знают. Не всегда в этом есть смысл. Ну например, небольшая компания на 100 человек, сервер мониторинга внутренней инфраструктуры на zabbix. Зачем там SELinux? Или там же внутренний веб сервер с wiki.

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

                  • Аватар
                    Николай

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

  58. Аватар
    Николай

    Вот уже скоро месяц, как CentOS 7.5 работает нормально. Обновлений системы не делал, опасаюсь последствий. Понаблюдаю за системой пару месяцев, потом создам образ и снова обновлю. Может быть на этот раз повезёт.

  59. Аватар
    Николай

    Прошу прощения, что не ответил. Очень рад за Вас, что всё получилось. Был занят другими неотложными делами и на сайт не заходил. У меня на сервере в CentOS появился «нежданчик», при копировании больших файлов (около 1 GB), копируется примерно 80% файла, а затем копирование прерывается с выдачей сообщения, что копирование невозможно по причине, что диск назначения только для чтения. Несколько раз перезагрузил сервер, проверил все настройки, диски на предмет ошибок, ничего не нашёл. Восстановил с образа Fedora 27, проблема пропала. Снова развернул образ CentOS на USB_HDD, который создал перед последним обновлением, всё работает. Очевидно проблема появилась при неудачном обновлении системы. Понаблюдаю с недельку и верну CentOS на SCSI винчестер. Видно придётся отказываться от обновлений.

  60. Аватар

    приветствую)
    начал обучаться и что бы было понимание в centos 7.
    настроил по вашему расписанному примеру, все нормально, даже все отлично)
    Но до того момента пока не поменял порт с 22 на 25333, putty наотрез отказывается подключаться зараза…даже не могу понять в какую сторону копать…ниже приведу логирование из путти
    2018-09-16 03:03:30 Starting 4908 from user
    2018-09-16 03:03:32 Hyperlink patch: regex successfully compiled
    2018-09-16 03:03:32 Looking up host «IP»
    2018-09-16 03:03:32 Connecting to IP port 25333
    2018-09-16 03:03:32 We claim version: SSH-2.0-PuTTY_PuTTY
    2018-09-16 03:03:32 Hyperlink patch: regex successfully compiled
    2018-09-16 03:03:57 Failed to connect to ******: Ñåòåâàÿ îøèáêà: Âðåìÿ îæèäàíèÿ ñîåäèíåíèÿ èñòåêëî
    2018-09-16 03:03:57 Ñåòåâàÿ îøèáêà: Âðåìÿ îæèäàíèÿ ñîåäèíåíèÿ èñòåêëî
    2018-09-16 03:04:07 Lost connection, reconnecting…

    • Аватар

      2018-09-16 03:03:30 Starting 4908 from user
      2018-09-16 03:03:32 Hyperlink patch: regex successfully compiled
      2018-09-16 03:03:32 Looking up host «тут ip»
      2018-09-16 03:03:32 Connecting to тут ip port 25333
      2018-09-16 03:03:32 We claim version: SSH-2.0-PuTTY_PuTTY
      2018-09-16 03:03:32 Hyperlink patch: regex successfully compiled
      2018-09-16 03:03:57 Failed to connect to IP: Сетевая ошибка: Время ожидания соединения истекло
      2018-09-16 03:03:57 Сетевая ошибка: Время ожидания соединения истекло

      • Аватар

        физического доступа к серверу нет, только ssh или снести его и поставить заного…
        но, это не вариант ибо там настроение уже по вашим методичкам)))
        подскажите, куда капать что бы подключиться…эх
        заранее благодарю…)

    • Zerox

      Проблемы с подключением к SSH после смены порта могут быть по следующим причинам:
      1. В конфиге SSH была сделана какая-то ошибки и он после перезапуска не запустился.
      2. Не перенастроен firewall на открытие нового порта.
      3. Работает SELinux, в нем не изменен порт SSH, в итоге он не дал стартануть демону sshd.

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

      • Аватар

        Получилось достучаться до сервака
        вот лог что работает ssh на порту 25333, но подключиться нереально с новым сеансом через путти
        # systemctl status sshd.service
        ● sshd.service — OpenSSH server daemon
        Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
        Active: active (running) since Вс 2018-09-16 21:10:25 MSK; 19s ago
        Docs: man:sshd(8)
        man:sshd_config(5)
        Main PID: 1415 (sshd)
        CGroup: /system.slice/sshd.service
        └─1415 /usr/sbin/sshd -D

        сен 16 21:10:25 sib systemd[1]: Starting OpenSSH server daemon…
        сен 16 21:10:25 sib sshd[1415]: Server listening on 0.0.0.0 port 25333.
        сен 16 21:10:25 sib sshd[1415]: Server listening on :: port 25333.
        сен 16 21:10:25 sib systemd[1]: Started OpenSSH server daemon.

        SELinux * отключен совсем
        firewall — отключен тоже, работает iptables
        В конфиге SSH была сделана какая-то ошибки — нет ошибок вообще, взята ваша конфигурация скрипта и исправлен только пор 22 и ip

        • Аватар

          да логи ssh
          netstat -tulpn | grep sshd
          tcp 0 0 0.0.0.0:25333 0.0.0.0:* LISTEN 1361/sshd
          tcp6 0 0 :::25333 :::* LISTEN 1361/sshd

          • Аватар

            в конфигах нет ошибок, я вот прям в ступоре куда капать и где ошибка.
            сейчас подключение ssh по порту 25333 и оно не дает подключиться.

            • Аватар

              Все вопрос не актуальный…
              запустился доступ по ssh по порту 25333
              парадокс и фантастика…
              спасибо за советы и внимание к моей проблеме)
              данная ситуация разрешилась сама собой или как вариант из серии пользователей «оно само сломалось» и внезапно починилось)))

  61. Аватар
    Николай

    Я создал домашний сервер на основе CentOS 7, работает всё, кроме доступа к ресурсам сервера (дискам, папкам файлам) из Linux через SSH. Доступ возможен только при посредстве Samba как «Сетевой диск Microsoft Windows», причём и из Linux, и из Windows. Подсоединиться к серверу и управлять им, через SSH, используя Putty получается и из Linux и из Windows. Однако при попытке подсоединения ресурса сервера по SSH (Процедура добавления сетевой папки SSH в Dolphin) выдаётся сообщение: «Невозможно подключиться к серверу. Проверьте параметры и повторите попытку». Все настройки сервера делал аналогично, как и на ранее используемой ОС сервера Fedora 27, однако на Fedora всё работало. Firewall настроен, необходимые порты (20, 21, 22, 80, 137, 138, 139, 443, 445, 9091) открыты, последний используется для работы Transmission-daemon. SELinux настроен, пробовал его отключать, однако проблема этим не решается. Заменить Fedora на CentOS решил по причине нестабильности Fedora, в ней, для ликвидации «нежданчиков», приходилось создавать резервный образ системы перед каждым её обновлением.
    После перевода одного из англоязычных сайтов нашёл сведения о том, что для доступа по SSH надо установить на сервер приложение «NFS сервер». Может быть именно из-за его отсутствия по-умолчанию в CentOS 7 у меня и нет доступа к ресурсам по SSH? Как проверить его наличие, не знаю. Когда я ранее устанавливал Fedora 27 на сервер, то использовал серверную редакцию дистрибутива, в частности образ «Fedora-Server-dvd-x86_64-27-1.6.iso».

    • Zerox

      Вы что-то путаете. SSH и NFS совершенно разные вещи, никак друг с другом не связанные. Через SSH можно получить доступ к файлам, но чаще всего этот протокол используют для управления сервером. А вот NFS как раз используется для доступа к файлам. На сервере настраивается nfs сервер, а nfs клиент подключается и получает доступ к настроенным для удаленного доступа директориям и файлам.

      • Аватар
        Николай

        У меня с тех пор, когда на сервере стояла Fedora в остальной локальной сети абсолютно ничего не изменилось те же операционные системы и те же настройки, в Федору на сервере NFS-сервер не устанавливал, если только он в ней был предустановлен по-умолчанию. А вообще-то проблему я решил. немного изменив расположение папок, в которые монтируются общие ресурсы, переместил их в отдельную папку и дал к ней доступ, через Самбу. Единственное, что сейчас не могу сделать на сервере, это редактировать системные файлы, через Dolphin и приходится запускать Putty, ранее с Федорой на сервере, делал это запросто, подсоединив любой ресурс по SSH, а далее делал, что хотел. Хотя, может быть, это и к лучшему.

      • Аватар
        Николай

        Вернулся на Федору. Ни с того, ни с сего CentOS-овский сервер начал выкидывать «коленца», во время перемещения, или записи файлов на диск, копирует примерно 80% файла и выводит сообщение о невозможности копирования, или перемещения в виду того, что диск назначения доступен только для чтения. Копирование (перемещение) производил и из Windows (проводником и Total Commander) по сети и зайдя на сервер, через Putty при помощи mc, как пользователь, член группы и как root, результат один. Проверил диск назначения на наличие ошибок, ошибок нет. Пробовал установить для этого диска chmod 777, не помогло. Восстановил Fedora 27 с образа, сделал несколько перемещений файлов на этот же диск, всё нормально. Стало быть проблема в CentOS.

  62. Аватар

    Не знаю, возможно)
    Я не в претензии просто интересно почему так.
    sshd слушает порт, а входящие пакеты на него все равно дропаются…
    Может собака порылась где-то в DO

    • Zerox

      Вполне может быть. Там скорее всего подготовленные определенным образом шаблоны. Возможно, некоторые предустановки выполнены заранее, например сети или firewalld. И эти настройки конфликтуют с тем, что описано у меня. Надо внимательно смотреть. Сам я DO не использую. Особенно последнее время, когда куча их адресов в блоке роскомнадзора.

  63. Аватар

    Доброе утро!
    Скажите, а почему при применении правил iptables из файлика статьи все перестает работать? :-)
    Какие логи смотреть?

    Хостинг DigitalOcean, CentOS 7.5

    Просто плюется в консольку статистикой работы iptables:например, что дронуло подключение с такого-то ip)))

    • Zerox

      Можно локально в консоли набрать команду:
      iptables -L -v -n
      и посмотреть, какие правила реально применились. Скорее всего у вас где-то ошибка. Я по этой статье постоянно настраиваю свои серверы. Тут нет ошибок, если все делать правильно.

    • Аватар

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

      • Zerox

        Это да, самая частая ошибка. Сам иногда попадаюсь на нее.

        • Аватар

          Я вот сейчас поднимал сервер, не посмотрел и просто сохранил. После чего пинг не проходит просто на просто. Вернул всё в исходное и поправил eth* и ip. Всё заработало нормально.
          В статье всё гуд. Спасибо.
          Только у меня одна трудность насчет ssh
          по пути etc/ssh/ssh_config есть, а не sshd_config. Открывая существующий конфиг, нет пункта для доступа рута через ssh.

        • Аватар

          Всё, нашел проблему. Пакета openssh-server небыло, поставил. Всё заработало и с SSH

  64. Аватар

    Тоже удивился, когда обнаружил отсутствие ifconfig. Однако тут разжевали

    • Zerox

      Скоро будем удивляться отсутствием iptables. Его тоже выпиливают из дистрибутивов. Уже есть договоренность. На замену идет nftables. Опять переучиваться :( Там синтаксис другой.

      • Аватар

        Скажите, будущую версию ОС не смотрели (скажем, на примере Fedora)?
        Если смотрели, то какие бы ключевые изм.отметили бы?

        • Zerox

          А каким образом можно оценить и посмотреть будущую версию RHEL? Было бы интересно, но сомневаюсь, что на примере федоры можно сделать такую оценку.

          • Аватар

            Про RHEL:
            Насколько я помню, пользователи с активной подпиской на RHEL имеют возм.протестировать бета-версию новой RHEL. Правда, наск.мне известно, на данный момент RHEL 8 beta ещё не существует.
            (Многие коллеги сходятся в том, что основой RHEL 8 станет Fedora 27)

            Про nix:
            Из ваших статей, я заключаю, что из nix-like OS вы в основном работаете с 3-мя: FreeBSD, Debian & CentOS.
            Осмелюсь предположить, что вы начинали с FreeBSD и по-немногу дрейфовали в направлении Линукс. Это так?
            И, что касается Линукс… Как Debian & CentOS «уживаются» вместе? Здесь тоже имеет место ползучий дрейф от одной ОС к др.? Или они существуют в вашей жизни (работе) на в целом паритетных основаниях?

  65. Аватар
    Иоанн Борисов

    Добрый день! не могу найти решение ошибки. При заходи на сервер FreePBX в правом верхнем углу отображается красная надпись: Whoops\Exception\ErrorException Call to undefined method Error::singleton() File:/var/www/html/admin/modules/dashboard/classes/phpsysinfo/includes/output/class.Output.inc.php:40

    А в окне «System Overview» (У меня оно называется «Обзор системы») висит только надпись «There was an error asking for Overview. Check the error logs for more information.». Как можно это исправить?
    Я скачивал образ FreePBX с официального сайта.

  66. Аватар

    настроить сеть проще всего командой nmtui — это «графический» интерфейс в консоли.
    так же есть аналогичная программа для настройки фаервола: system-config-firewall-tui
    в гугле надо искать tui (text user interface) программы для centos

  67. Аватар

    Здравствуйте! Спасибо за полезные статьи.
    Подскажите в чем может быть проблема:
    настроил iptables как в статье, только ip изменил на свой. После применения правил, нет возможности установить что либо через yum, пишет неизвестная ошибка. Делаю stop iptables, yum начинает работать.
    И еще вопрос, если можно:
    Планирую использовать сервер как файлообменник, какие порты открыть для samba?

    • Zerox

      Скорее всего закрыли исходящий трафик для сервера, вот yum и не обновляется.
      Для samba нужно открыть tcp порты — 137,138,139,445.

  68. Аватар

    Добрый день. Я новичок в Linux системах. С CentOS знаком только два дня. На видео вы копипастили команды. Подскажите команду для вставке в консоль.

  69. Аватар
    Александр

    Все статьи отличные, но!
    Что такое WAN_IP=149.154.71.205 ? Что за ип сюда писать? Моего сервера?
    Запустил файл и остался без доступа по ssh. Почему? Как Вернуть и как надо было делать, что был доступ по ssh?
    Почему этот момент упущен? Да, было предупреждение, но не было сказано именно эти настройки сразу обрубят доступ
    и не сказано, что изменить, что бы доступ был.
    Дальше, ваша фраза «Так что в обычной работе эти строки нужно закомментировать». Что конкретно закоментировать?

    • Zerox

      Рекомендую сначала все проверять на тестовом сервере, если нет понимания, как работает firewall. К тому же есть отдельная подробная статья с описанием настройки iptables.

  70. Аватар

    добрый день, отключил selinux, а после перезагрузки failed to load selinux policy freezing, что делать? перед загрузкой нажал «Е» в конце строки «linux16»: добавлено selinux = 0? но это непомогло, система загрузилась с профилем dracut. помогите!!!

    • Аватар

      в общем помогло через загрузчик все исправить, вот только не в то место я вписывал selinux=0, нужно в строку «linux16 после слова quiet, да и на сайте где был скриншот селинукс был как с нижним подчеркиванием после нуля selinux=0_ , когда убрал подчеркивание, то сразу понял что это мигал курсор, а не нижний штрих, а я вот думал это обязательно перед следующим словом. запустилась ОС, потом зашел в конфиг selinux и увидел ошибку, я disabled прописал в строке selinuxtype, вот такая беда из-за невнимательности))

  71. Аватар
    Владимир

    Я использую Centos как рабочую систему на которой экспериментирую. Поэтому давно есть желание понять какой порт (или порты) открыть что бы заработал обозреватель ресурсов сети? На данный момент открыл 135-139,445 порты TCP и UDP но этого мало похоже. В то же время когда отключаю ipables он отрабатывает как надо. Help me please…

  72. Аватар

    Вот сбрасываю логи примерно перед выключением системника, странно что в messages эти строки последние, нет логов за 22 число после обеда и 23,24 число тоже отсутствуют, хотя после этого системник я перезагружал несколько раз.
    Jan 22 09:47:01 serverdsm dracut: *** creating initramfs image file ‘/boot/initramfs-3.10.0-693.11.6.el7. x86_64. img’ done ***

    Jan 22 09:47:21 serverdsm kernel: —IN—BLOCKIN=enp6sO 0UT= MAC=01:00:5e:00:00:01:f8:dl:11:71:a8:00:08:00 SRC=10.171.1.125 OST=224. 0. 0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PR0T0=2

    Jan 22 09:49:26 serverdsm kernel: —IN—BLOCKIN=enp6sO 0UT= MAC=01:00:5e:00:00:01:f8:dl:11:71:a8:00:08:00 SRC=10.171.1.125 OST=224. 0. 0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PR0T0=2

    Jan 22 09:51:31 serverdsm kernel: —IN—BLOCKIN=enp6sO 0UT= MAC=01:00:5e:00:00:01:f8:dl:11:71:a8:00:08:00 SRC=10.171.1.12 5 DST=224. 0. 0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PR0T0=2

    Jan 22 09:51:52 serverdsm systemd-logind: New session 2 of user root.

    Jan 22 09:51:52 serverdsm systemd: started session 2 of user root.

    Jan 22 09:51:52 serverdsm systemd: starting session 2 of user root.

    Jan 22 09:52:20 serverdsm yum[12363]: Installed: epel-release-7-9.noarch

    Jan 22 09:53:25 serverdsm yum[12375]: Installed: rpmforge-release-O. 5. 3-1. el7. rf. x86_64

    Jan 22 09:53:36 serverdsm kernel: —IN—BLOCKIN=enp6sO OUT= MAC=01:00:5e:00:00:01:f8:dl:11:71:a8:00:08:00 SRC=10.171.1.125 DST=224. 0. 0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PROTO=2

    Jan 22 09:55:41 serverdsm kernel: —IN—BLOCKIN=enp6sO 0UT= MAC=01:00:5e:00:00:01:f8:dl:11:71:a8:00:08:00 SRC=10.171.1.12 5 DST=224. 0. 0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PR0T0=2

    Jan 22 09:56:51 serverdsm systemd: Reloading.

    Jan 22 09:56:51 serverdsm systemd: [/usr/1ib/systemd/system/ip6tables.service:3] Failed to add dependency on syslog.target,iptables.service, ignoring: invalid argument Jan 22 09:56:51 serverdsm yum[12382]: Installed: yum-cron-3.4.3-154.el7.centos.noarch

    Jan 22 09:57:46 serverdsm kernel: —IN—BLOCKIN=enp6sO 0UT= MAC=01:00:5e:00:00:01:f8:dl:11:71:a8:00:08:00 SRC=10.171.1.12 5 DST=224. 0. 0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PR0T0=2

    Jan 22 09:58:15 serverdsm systemd: starting cleanup of Temporary Directories…

    Jan 22 09:58:15 serverdsm systemd: started cleanup of Temporary Directories.

    Jan 22 09:59:51 serverdsm kernel: —IN—BLOCKIN=enp6sO 0UT= MAC=01:00:5e:00:00:01:f8:dl:11:71:a8:00:08:00 SRC=10.171.1.12 5 DST=224. 0. 0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PR0T0=2

    Jan 22 10:01:02 serverdsm systemd: started session 3 of user root.

    Jan 22 10:01:02 serverdsm systemd: starting session 3 of user root.

    Jan 22 10:01:56 serverdsm kernel: —IN—BLOCKIN=enp6sO 0UT= MAC=01:00:5e:00:00:01:f8:dl:11:71:a8:00:08:00 SRC=10.171.1.125 DST=224.0.0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PR0T0=2

    Jan 22 10:04:01 serverdsm kernel: —IN—BLOCKIN=enp6sO 0UT= MAC=01:00:5e:00:00:01:f8:dl:11:71:a8:00:08:00 SRC=10.171.1.125 DST=224. 0. 0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PR0T0=2

    Jan 22 10:06:06 serverdsm kernel: —IN—BLOCKIN=enp6sO 0UT= MAC=01:00:5e:00:00:01:f8:dl:11:71:a8:00:08:00 SRC=10.171.1.125 DST=224. 0. 0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PR0T0=2

    Jan 22 10:08:11 serverdsm kernel: —IN—BLOCKIN=enp6sO 0UT= MAC=01:00:5e:00:00:01:f8:dl:11:71:a8:00:08:00 SRC=10.171.1.125 DST=224. 0. 0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PR0T0=2

    Jan 22 10:10:16 serverdsm kernel: —IN—BLOCKIN=enp6sO 0UT= MAC=01:00:5e:00:00:01:f8:dl:11:71:a8:00:08:00 SRC=10.171.1.125 DST=224. 0. 0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PR0T0=2

    Jan 22 10:12:21 serverdsm kernel: —IN—BLOCKIN=enp6sO 0UT= MAC=01:00:5e:00:00:01:f8:dl:11:71:a8:00:08:00 SRC=10.1781.1.12 5 DST=224. 0. 0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PR0T0=2

  73. Аватар

    А лог системы из var/log/messages? если что могу сделать скрин, с сервером ничего не делал, единственное что перед тем как запустить в качестве шлюза выполнил update, а потом по Вашей инструкции настроил оповещение про выход новых обновлений cron и добавил репозиторий epel, больше ничего не делал, после некоторого времени перестал раздавать интернет, я перезапустил службу сети и в итоге увидел то, что вчера Вам описывал, после перезагрузки системы интернет заработал, но эти ошибки остались «Failed to start LSB Bring up/down networking», «job for network.service failed because the control process exited with error code», где наткнулся на статью что в сетевом конфиге строка должна быть BOOTPROTO=none, а у меня было BOOTPROTO=static, после того как я поменял ничего не произошло, так же было написано что параметр IPV4_FAILURE_FATAL=no так же должен быть незакомментирован.

  74. Аватар

    А лог системы из var/log/messages? если что могу сделать скрин, с сервером ничего не делал, единственное что перед тем как зупастить в качестве шлюза выполнил update, а потом по Вашей

  75. Аватар

    Zerox, добрый день, подскажите вылетают вот такие ошибки:
    при рестарте службы сети:
    job for network.service failed because the control process exited with error code
    при status network.service
    (code=exited, status=1/FAILURE)
    Failed to start LSB Bring up/down networking
    при настройке эти действия выполнял
    # systemctl stop NetworkManager.service
    # systemctl disable NetworkManager.service
    статус NetworkManager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled)
    Active: inactive (dead)
    Docs: man:NetworkManager (8)

    • Zerox

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

  76. Аватар

    Здравствуйте, подскажите когда запускаю /etc/sysconfig/iptables_rules.sh , то выскакиевает ошибка
    Bad argument `ACCEPT’
    Try `iptables -h’ or ‘iptables —help’ for more information.
    Bad argument `ACCEPT’
    Try `iptables -h’ or ‘iptables —help’ for more information.

    • Zerox

      Может скопировалось не правильно? Иногда бывают такие проблемы, когда копируешь правила. Потом напишешь вручную, нормально срабатывает.

      • Аватар

        Может и да, я потом не поленился и все набрал вручную, далее вторую сетевую воткнул в системник, хочу что бы она тоже раздавала инет, вот что я прописывал в iptables.sh где фигурируют сетевые адаптеры локальной сети.
        #!/bin/bash

        export IPT=»iptables»

        # Внешний интерфейс
        export
        WAN=enp13s0
        export
        WAN_IP=10.171.1.126
        # Локальная сеть

        export LAN1=enp15s0

        export LAN1_IP_RANGE=192.168.1.0/24

        export LAN2=enp17s0

        export LAN2_IP_RANGE=192.168.2.0/24

        # Разрешаем localhost и локалку

        $IPT -A INPUT -i lo -j ACCEPT
        $IPT -A INPUT -i $LAN1 -j ACCEPT
        $IPT -A INPUT -i $LAN2 -j ACCEPT
        $IPT -A OUTPUT -o lo -j ACCEPT
        $IPT -A OUTPUT -o $LAN1 -j ACCEPT
        $IPT -A OUTPUT -o $LAN2 -j ACCEPT
        # Разрешаем доступ из локалки наружу

        $IPT -A FORWARD -i $LAN1 -o $WAN -j ACCEPT
        $IPT -A FORWARD -i $LAN2 -o $WAN -j ACCEPT

        # Закрываем доступ снаружи в локалку

        $IPT -A FORWARD -i $WAN -o $LAN1 -j REJECT
        $IPT -A FORWARD -i $WAN -o $LAN2 -j REJECT

        # Включаем NAT

        $IPT -t nat -A POSTROUTING -o $WAN -s $LAN1_IP_RANGE -j MASQUERADE
        $IPT -t nat -A POSTROUTING -o $WAN -s $LAN2_IP_RANGE -j MASQUERADE

        В итоге сетевая та что LAN1 enp15s0 работает на раздачу интернета, а LAN2 enp17s0 пишет непознанная сеть. В папке /etc/sysconfig/iptables кст ни слова о LAN2 enp17s0, хотя сохранял конфиг и перезапускал службу.

        • Аватар

          еще хотел добавить что при вводе команды Iptables -L -v -n нигде не фигурирует второй интерфейс локальной сети enp17s0, получается что iptables его игнорирует?или в чем причина? конфиги этих интерфейсов одинаковы (за исключением айпи). хотелось бы знать в чем секрет, может в одну строчку нужно прописывать в iptables LAN1 и LAN2…?

  77. Аватар
    Василий

    Отлично!!!! Спасибо!!!!!

  78. Аватар

    Добрый день, можете пожалуйста сбросить конфиги, если две сетевые смотрят в локальную сеть, что бы раздавать интернет, как именно прописывать в iptables? 1 сетевая раздает, а вторая нет, непознанная сеть на винде пишет. Заранее спасибо.

  79. Аватар

    Для начала, С Рождеством!!!
    в отключении флуда надо бы скобочки добавить

    • Zerox

      Спасибо. Не понял, куда именно добавить? Только вчера это правило добавлял именно в таком виде, как у меня представлено. Работает корректно.

  80. Аватар

    Здравствуйте, сделал всю настройку сервера, настроил шлюз, локальные интерфейсы, dnsmasq, все работало, две подсети раздавали интернет, были вот такие настройки сетевых:
    wan enp6s0 192.168.1.254/24 шлюз 192.168.1.1
    lan enp6s1 192.168.2.1/24
    lan enp6s2 192.168.3.1/24
    но как только я изменил локальные подсети на 2-ю на 5-ю и 3-ю на 6-ю, то сразу перестали подсети раздавать интернет, причем не по dhcp ни статикой. в чем может быть подвох?

  81. Аватар

    подскажите пожалуйста, я настраивал шлюз eth0 на который приходит инет от провайдера, eth1-локальная сеть и раздает интернет по dhcp через dnsmasq, все работает исправно, теперь мне нужно что бы появилась вторая локальная сеть, настроил я точно так же eth2 как и eth1, такие же сделал конфиги в iptables и dnsmasq, eth1 раздает инет и работает dhcp, а на eth2 не то, не другое, но интерфейс пингуется с другого системника через свитч. что нужно сделать?

    • Zerox

      Нужно аккуратно проверить все конфиги и правила iptables. Убедиться, что все везде корректно настроено, разрешено. Добавить еще один сетевой интерфейс это дело техники, ничего особенного делать не надо, поэтому какого-то конкретного совета я дать не могу. К тому же не понятно, в чем конкретно проблема. Могу предположить, что либо dnsmasq не обслуживает новый интерфейс, либо nat не настроен в iptables.

      • Аватар

        спасибо за ответ, буду пробовать, а конкретно проблема заключается в том что 2й интерфейс локальной сети не раздает интернет, да и если даже самому вбить айпи, всеравно в инет не пускает, пишет на винде неопределенная сеть. я так понял вот здесь может ошибка, у меня вот так:
        # Внешний интерфейс
        export
        WAN=enp6s0
        export
        WAN_IP=10.82.1.127

        # Локальная сеть

        export LAN1=enp6s1
        export LAN1_IP_RANGE=192.168.1.1/24

        export LAN2=enp6s2
        export LAN2_IP_RANGE=192.168.2.1/24

        NAT у меня вот так выглядит:

        # Включаем NAT

        $IPT -t nat -A POSTROUTING -o $WAN -s $LAN1_IP_RANGE -j MASQUERADE
        $IPT -t nat -A POSTROUTING -o $WAN -s $LAN2_IP_RANGE -j MASQUERADE

  82. Аватар

    Спасибо! Попробую) Я уже так привык, что по-умолчанию нельзя)

  83. Аватар

    Добрый день,
    а можно сделать в CentOS как во FreeBSD, чтобы root не мог напрямую логиниться по ssh, а только через другого пользователя по команде su?

    • Zerox

      Конечно можно. Это настраивается абсолютно так же, как во freebsd. В настройках ssh отключается возможность подключения пользователя root и создается другой пользователь для ssh, который уже использует команду su, или sudo.

    • Zerox

      Забыл добавить, что в Centos просто начальные настройки отличаются от настроек freebsd или debian/ubuntu. В последних нельзя руту подключаться по ssh, а в centos можно. Но это легко меняется.

  84. Аватар

    Спасибо! Хорошая статья. Очень бы хотел увидеть пост, об использовании этой утилиты: mondorescue.org для резервного копирования сервера на Centos 7.

  85. Аватар
    Александр

    у меня наверное особый centos :), опция «с завода» выключена

    • Zerox

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

  86. Аватар
    Александр

    не указана важная опция при настройки сети
    vi /etc/sysconfig/network-scripts/ifcfg-e*

    ONBOOT=yes

    без неё ничего никуда не работает.

    • Zerox

      Она там по-умолчанию всегда есть, специально добавлять не надо, если ранее не удаляли.

  87. Аватар

    Добрый вечер! Так же хотелось бы поблагодарить за профессиональные и подробные статьи. Установил несколько серверов, все отлично — хочу привести парк к «единому знаменателю». Но вот на очередном супермикровском серваке возник момент, когда установка останавливается на моменте ДО меню установки, тестирования и задания доп параметров инсталляции… Появляется одна строка с надписью «ISOLINUX 4. и т.д» и далее полное молчание. Образ рабочий: на других машинах с него влетает. Попробовал установку Debian, Ubuntu — все гуд. А вот Centos 7 х64 ну никак… На серваке железный RAID 1 под систему. Куда копнуть, чтобы найти причину? ))

  88. Аватар

    Я Ваш постоянный читатель. Спасибо за высокопрофессиональные публикации. Я, просто любитель. Случайно столкнулся с Centos. На VDS была предложена , как одна из систем, на выбор.

  89. Аватар

    >В CentOS 7 в качестве фаервола выступает iptables.

    Чего вдруг? Там дефолтно firewalld

    • Zerox

      А что такое firewalld? Это обвязка для управления iptables. Это просто скрипты управления. Фаервол там как и на большинстве линуксов — iptables.

  90. Аватар

    >>Теперь создадим файл /etc/iptables_rules.sh следующего содержания:

    nano /etc/iptables_rules.sh — в него кстати, вместо mcedit, можно копипастить в консоль, тыкаясь в виртуалку с разрешенными
    isolation.tools.copy.disable false
    isolation.tools.paste.disable false

  91. Аватар

    Добрый день и спасибо за статью!
    Прошу показать: CentOS не запускает второй сетевой интерфейс.
    enp0s25 — запущен и работает

    lspci -v показывает два контроллера:

    00:19.0 Ethernet controller: Intel Corporation 82566DM-2 Gigabit Network Connection (rev 02)
    Subsystem: Intel Corporation Device 0001
    Flags: bus master, fast devsel, latency 0, IRQ 29
    Memory at e0380000 (32-bit, non-prefetchable) [size=128K]
    Memory at e03a4000 (32-bit, non-prefetchable) [size=4K]
    I/O ports at 3400 [size=32]
    Capabilities:
    Kernel driver in use: e1000e
    Kernel modules: e1000e

    06:00.0 Ethernet controller: VIA Technologies, Inc. VT6105/VT6106S [Rhine-III] (rev 8b)
    Subsystem: D-Link System Inc DFE-520TX Fast Ethernet PCI Adapter
    Flags: bus master, stepping, medium devsel, latency 32, IRQ 11
    I/O ports at 1000 [size=256]
    Memory at e0000000 (32-bit, non-prefetchable) [size=256]
    Capabilities:
    Что не так со вторым интерфейсом?

  92. Аватар

    А ещё, вот на этом у меня всё виснет:

    # Установим политики по умолчанию для трафика, не соответствующего ни одному из правил
    $IPT -P INPUT DROP
    $IPT -P OUTPUT DROP
    $IPT -P FORWARD DROP

    …и Putty говорит «Connection Abort» Рестарт сессии приводит к отказу по таймауту. И это во второй раз, на том же месте. Digitalocean, если что.

    Что там может быть?

  93. Аватар

    rm ‘/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service’
    rm ‘/etc/systemd/system/basic.target.wants/firewalld.service’

    На это, консоль мне отвечает «No such file or directory». Предыдущие шаги выполнены. Что-то не так или можно продолжать?

  94. Аватар

    Команда ip как раз есть во всех unix-like дистрибутивах в отличии от ifconfig.

    • Zerox

      В freebsd нет. Я раньше много freebsd админил.

      • Аватар

        Странно, всегда думал наоборот. В любом случаем ifconfig уже устарел и менее информативен. Рекомендую почитать https://habrahabr.ru/post/320278/

        • Zerox

          Я все это знаю и сам почти всегда использую ip. Но на самом деле новое не кажется мне более удобным. Например, смотрим маршруты двумя командами:
          ip ro
          netstat -nr
          Или открытые порты:
          ss -tulnp
          netstat -tulnp
          Предлагаю сравнить самим, где вывод будет более информативен и удобен. По-моему, ответ чем пользоваться очевиден.

          • Аватар

            Не подскажите почему может отваливаться доступ к SSH (22порт)? После 7 первых выполненных пунктов. Так три раза пробовал, спасает только полный снос системы

  95. Аватар
    Алексей

    Доброго времени суток. Вопрос может показаться дурацким и глупым, но всё таки…Есть задача развернуть Zabbix в корпоративной сети(без доступа к интернету), на WMvare поставил CentOS и приступил к настройке, естественно с самого начала столкнулся с проблемами: yum update…НЕ подскажите, есть ли какая то возможность настроить сервер по вашей статье Оффлайн?Доступ в глобальную сеть невозможен, по причине корпоративной политики информационной безопасности.

    • Zerox

      Честно говоря, даже не знаю, что посоветовать. Не сталкивался с такой ситуацией. Уверен, что все можно настроить, нужно будет пакеты вручную качать и ставить. Практически не знаю, как это правильно сделать, так как ни разу не делал. Я бы поступил по-другому. Настроил где-то в другом месте образ и принес его в нужное место. И больше уже не обновлял без особой надобности. Разницы в том, скачаешь ты пакет из интернета и дашь его машине в режиме оффлайн ничем не отличается о того, что ты в другом месте все установишь автоматически из интернета и принесешь настроенный образ.

    • Аватар

      Ставите на виртуалке подключенной в инет, все обновляете, сливаете образ в файл / ovf template, разворачиваете на варе на месте.

  96. Аватар

    Доброго времени!
    Подскажите пожалуйста в чем может быть дело?
    Выполнив команды:
    ——————————-
    # systemctl stop firewalld
    # systemctl disable firewalld
    ——————————-
    не могу удалить эти файлы:
    ———————————————————————————
    rm ‘/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service’
    rm ‘/etc/systemd/system/basic.target.wants/firewalld.service’
    ———————————————————————————
    т.к их там просто нет.
    Если проигнорировать то что этих файлов нет то iptables не устанавливается.
    Вот что пишет:
    ==========================================================================================
    [root@centos-test ~]# yum -y install iptables-services
    Загружены модули: fastestmirror
    http://mirror.awanti.com/centos/7.3.1611/os/x86_64/repodata/repomd.xml: [Errno 14] curl#7 — «Failed to connect to 91.190.113.114: Сеть недоступна»
    Пробуем другое зеркало.
    http://centos-mirror.rbc.ru/pub/centos/7.3.1611/os/x86_64/repodata/repomd.xml: [Errno 14] curl#7 — «Failed to connect to 80.68.250.218: Сеть недоступна»

    …..(продолжает тестировать другие зеркала)

    Пробуем другое зеркало.
    http://mirror.yandex.ru/centos/7.3.1611/updates/x86_64/repodata/repomd.xml: [Errno 14] curl#7 — «Failed to connect to 2a02:6b8::183: Сеть недоступна»
    Пробуем другое зеркало.
    Loading mirror speeds from cached hostfile
    * base: mirror.yandex.ru
    * extras: mirror.yandex.ru
    * updates: mirror.yandex.ru
    Разрешение зависимостей
    —> Проверка сценария
    —> Пакет iptables-services.x86_64 0:1.4.21-17.el7 помечен для установки
    —> Проверка зависимостей окончена

    Зависимости определены

    ====================================================================================================
    Package Архитектура Версия Репозиторий Размер
    ====================================================================================================
    Установка:
    iptables-services x86_64 1.4.21-17.el7 base 50 k

    Итого за операцию
    ====================================================================================================
    Установить 1 пакет

    Объем загрузки: 50 k
    Объем изменений: 24 k
    Downloading packages:
    Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
    iptables-services-1.4.21-17.el FAILED
    http://mirror.awanti.com/centos/7.3.1611/os/x86_64/Packages/iptables-services-1.4.21-17.el7.x86_64.rpm: [Errno 14] curl#7 — «Failed to connect to 91.190.113.114: Network is unreachable»
    Пробуем другое зеркало.

    …..(продолжает тестировать другие зеркала)

    Это окончание —
    Error downloading packages:
    iptables-services-1.4.21-17.el7.x86_64: [Errno 256] No more mirrors to try.
    ==========================================================================================
    Самостоятельно решить задачу не удается.

    • Zerox

      Так тут налицо проблемы с сетью. В конце же четко написано: «Error downloading packages: iptables-services-1.4.21-17.el7.x86_64: [Errno 256] No more mirrors to try.» Так быть не должно. Для центос полно зеркал, надо разобраться, почему из них не скачивает.

  97. Аватар

    Здравствуйте.
    Спасибо за труды, отличная статья. Есть маленькая проблемка…
    После того, как сделал файл исполняемым:
    chmod 0740 /etc/iptables_rules.sh
    и попытался запустить:
    /etc/iptables_rules.sh
    получил вот такое сообщение: iptables: No chain/target/match by that name.
    Если я правильно понимаю, то нет какого-то модуля?

  98. Аватар

    Добрый день!
    А есть материал как добавить сертификаты на сайт?

  99. Аватар

    Здравствуйте.
    Спасибо за статью.
    Я не очень внимательно читал статью, и не остановил firewalld. В результате столкнулся с проблемой доступа к Webmin.
    После перезагрузки порт 10000 был блокирован. Помогало iptables -I INPUT -p tcp —dport 10000 -j ACCEPT , но до перезагрузки.
    Я начал разбираться и наткнулся на статью (http://bozza.ru/art-259.html) где сказано «Centos 7, в отличие от CentOS 6, в базе идет с новым брандмауэром — firewalld». Я так понял firewalld боле продвинутая штука , например там есть понятия «зона». Iptables и firewalld могут жить вместе , но Firewalld имеет более высокий приоритет.
    Возможно не стоит сразу отказывается от нового, а потратить время на изучение. Например не отказываться сразу от SELinux, а посмотреть на SEManage.
    С уважением.

    • Zerox

      Firewalld это просто надстройка над iptables для удобства управления. Он от iptables не отделим. Так как мне приходится работать с разными серверами, а firewalld есть только на centos, то мне удобнее работать напрямую с iptables, так как эти конфигурации я могу легко переносить на разные сервера с разными системами. Это универсальное решение. К тому же firewalld был придуман для упрощения работы с iptables. Я уже и так умею работать с iptables, мне нет необходимости упрощенной работы с ними. Да и дебажить сложные конфигурации в iptables будет проще напрямую, нежели через firewalld.

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

  100. Аватар

    Добрый день, думаю, также будет полезно установить ntsysv и убрать из автозагрузки не нужные «вещи»

    • Zerox

      А есть список ненужных вещей? Я на самом деле давно собирался его подготовить, но руки так и не дошли. Использую дефолтную конфигурацию, отключаю только ntwork manager.

  101. Аватар

    Доброго дня, подскажите что делать тем кого обделила судьба присутствием файла «ifcfg-eth0»? Создать его в директории в которой было указано где он находится ? Или же конфигурировать файд ifcfg-lo ?

    • Zerox

      Так может интерфейс по-другому называется? Там есть еще какие-то файлы, начинающиеся на ifcfg?

      • Аватар

        Да есть, «ifcfg-lo» в нем содержание ip, maska, broadcast.
        Но я создал файл «ifcfg-eth0» назвал его иначе «ifcfg-mlx4_ib3» mlx4_ib3 название мой сетевой карты и в этот файл внес Вами написанные конфигурации с мойми данными. Щас вот начну проверять и настраивать все заново с этим файлом.
        Посмотрю что получится, все настройки однозначно у меня получаются, только вот доходя до настройки порта с «22 на 25333», порт не меняется. Но скажу что ранее говорил, щас буду заново все настраивать.
        Интересно прям пипец почему порт не менялся, скорей всего из за этого файла «ifcfg-eth0» т.к. он отсутствовал, либо мои настройки с адресами были не верны в файле «ifcfg-lo»

  102. Аватар

    Доброго дня,

    Спасибо за статью помогла быстро развернуть сервер с минимальным необходимым набором ПО так же помогла статья по FTP.
    Удачи в работе и отдыхе!

  103. Аватар

    Спасибо за статью! Все толково по делу кратко и четко!

    Скажите пожалуйста если Hetzner говорит в настройках, что мой внешний IP был изменен на другой посредствам NAT и его нужно использовать в настройках vServer соответственно везде где мы писали IP сервера я применяю уже этот IP ?

    Был (и есть только для доступа по SSH) IP 138.201.185.xxx а стал -> 172.31.1.xxx и вот именно 172.31.1.xxx он предлагает везде прописать в конфигах

    Не знаете зачем Hetzner так делает ?

    • Zerox

      Добрый день. IP к нату никакого отношения не имеет. Как я понял из написанного, у вас был прямой внешний IP, теперь его нет и есть серый IP и доступ через NAT. Как в таком случае получать доступ по ssh к серверу я не знаю. К серому IP невозможно подключиться через интернет, если не настроен проброс портов через NAT.

      Зачем хетзнер так делает, не знаю, не пользовался им никогда. Возможно прямой IP стоит отдельных денег и он его отключает через какое-то время.

  104. Аватар

    Приветствую! Я установил на свой сервер под управлением CentOS 7 скрипт для управления iptables (файл iptables_rules.sh), и при попытке пропинговать шлюз и 8.8.8.8 появилось сообщение «Команда запрещена». Это так и должно быть, или я что-то сделал не так? Все команды в файле я прописывал один в один с Ваших рекомендаций.

    • Zerox

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

      • Аватар

        Сегодня закомментирую все команды в iptables_rules.sh, если проблема исчезнет, то пришлю скрин текста файла на Вам проверку. Можно?

        Напишите, пожалуйста, на что еще обратить внимание?

        Заранее благодарен.

        • Zerox

          Могу посоветовать только внимательно все проверить. У статьи очень много просмотров и на ошибки никто не жалуется, кроме тех, кто либо не понимает, что делает, либо ошибается.

Добавить комментарий

Ваш e-mail не будет опубликован.

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