< meta name="referrer" content="origin">
Home » Linux » CentOS » CentOS 7 настройка сервера

CentOS 7 настройка сервера

У меня имеется свежеустановленный сервер CentOS 7 на VDS с виртуализацией KVM. Я расскажу о том, как сделать базовую настройку сервера для использования его в любом качестве на ваше усмотрение. Это может быть web сервер, vpn сервер, сервер мониторинга. Я расскажу о начальных настройках системы CentOS, которые повышают безопасность и удобство работы с сервером. Отмечу, что в 7-й версии системы произошли некоторые изменения по сравнению с предыдущими версиями.

Введение

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

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

Итак, у нас имеется:
# uname -a 
Linux zeroxzed.ru 3.10.0-123.20.1.el7.x86_64 #1 SMP Thu Jan 29 18:05:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Первым делом обновим базовую систему:

# yum -y update

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

# yum -y install mc

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

# ifconfig

И увидите ответ:

-bash: ifconfig: command not found

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

Вместо ifconfig в CentOS 7 теперь утилита ip. Я не понимаю, зачем пилить отдельные программы для управления сетевыми настройками, если ifconfig и так отлично справляется с задачей. К тому же мне всегда нравилось, что в различных дистрибутивах линукс все примерно одинаковое. С помощью ifconfig можно настроить сеть не только в linux, но и в freebsd. Это удобно. А когда в каждом дистрибутиве свой инструмент это неудобно. Так что предлагаю установить привычный ifconfig.

Сделаем это:

# yum -y install net-tools.x86_64

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

# nslookup

Будет вывод:

-bash: nslookup: command not found

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

# yum -y install bind-utils

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

# mcedit /etc/sysconfig/selinux

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

# reboot

Можно без перезагрузки применить отключение SElinux:

# setenforce 0

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

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

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

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

# /etc/init.d/network restart

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

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

# iptables -L -v -n

Сразу хочу предупредить, что не имея доступа к консоли сервера, настраивать firewall плохая идея. Даже если вы очень хорошо понимаете что делаете и проделывали подобное много раз, все равно есть шанс остаться без доступа к серверу. Так что первым делом перед настройкой iptables проверяем доступ к консоли через KVM или физически.

В 7-й версии CentOS для управления iptables разработан новый инструмент под названием firewalld и все управление производится через него. Я не понял зачем это сделали, и не могу сказать, удобнее с ним стало или нет. По мне, так удобнее использовать одни и те же наработки по iptables. Мигрируя от сервера к серверу и от дистрибутива к дистрибутиву, я просто редактирую скрипт настроек фаервола.

Но CentOS зачем-то придумали firewalld, в Ubuntu стоит ufw, но суть одна и та же — это утилиты для конфигурирования iptables, который один и тот же во всех дистрибутивах. Я привык управлять iptables через самописный скрипт, который переношу от сервера к серверу и редактирую под конкретные потребности. Этим скриптом я и поделюсь. Так что для начала остановим и отключим firewalld:

# 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 -y install iptables-services

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

# systemctl enable iptables

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

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

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

# Очистка всех цепочек 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

# Открываем порт для ssh
$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT
# Открываем порт для DNS
$IPT -A INPUT -i $WAN -p udp --dport 53 -j ACCEPT
# Открываем порт для NTP
$IPT -A INPUT -i $WAN -p udp --dport 123 -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_rules.sh
# /etc/iptables_rules.sh

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

# iptables -L -v -n

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

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

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

# mcedit /etc/ssh/sshd_config

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

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

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

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

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

# systemctl restart sshd

Проверяем какой порт слушает 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 порту.

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

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

# date

Чтобы сменить часовой пояс, необходимо выбрать подходящий файл часовой зоны в /usr/share/zoneinfo. В случае, если у вас часовой пояс Москвы, выполните следующее:

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

Либо можете воспользоваться специальной утилитой, которая входит в комплект CentOS 7. Делает она ровно то же самое:

# timedatectl set-timezone Europe/Moscow

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

# yum install -y chrony

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

# systemctl start chronyd
# systemctl enable chronyd

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

# systemctl status chronyd
● chronyd.service - NTP client/server
 Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
 Active: active (running) since Fri 2016-08-05 00:33:09 MSK; 52min left
 Main PID: 667 (chronyd)
 CGroup: /system.slice/chronyd.service
 └─667 /usr/sbin/chronyd

Aug 05 00:33:09 centos.local systemd[1]: Starting NTP client/server...
Aug 05 00:33:09 centos.local chronyd[667]: chronyd version 2.1.1 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +DEBUG +ASYNCDNS +IPV6 +SECHASH)
Aug 05 00:33:09 centos.local chronyd[667]: Generated key 1
Aug 05 00:33:09 centos.local systemd[1]: Started NTP client/server.
Aug 05 00:33:26 centos.local chronyd[667]: Selected source 85.21.78.91
Aug 05 00:33:26 centos.local chronyd[667]: System clock wrong by -3595.761368 seconds, adjustment started
Aug 04 23:33:30 centos.local chronyd[667]: System clock was stepped by -3595.761368 seconds

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

Для синхронизации времени вы можете воспользоваться более привычно программой, которая присутсвует практически во всех unix дистрибутивах — ntp. Устанавливаем утилиту синхронизации времени ntp в CentOS:

# yum install -y ntp

Разово синхронизируем время:

# /usr/sbin/ntpdate pool.ntp.org

Если ntpdate не работает, посмотрите материал, может это ваш случай. Запустим демон синхронизации и запишем его запуск в автозагрузку:

# systemctl start ntpd
# systemctl enable ntpd
ln -s '/usr/lib/systemd/system/ntpd.service' '/etc/systemd/system/multi-user.target.wants/ntpd.service'

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

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

Не используйте одновременно оба демона синхронизации времени — chrony и ntp. Выберите какой-нибудь один. Лично я не вижу в них разницы, сам чаще всего ставлю привычный ntp.

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

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

# yum -y install epel-release

Устанавливаем rpmforge:

# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
# yum -y install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

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

# yum -y install http://repository.it4i.cz/mirrors/repoforge/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
По последним данным, репозиторий rpmforge закрыт и больше не поддерживается 🙁 https://github.com/repoforge/rpms/issues/375 https://wiki.centos.org/AdditionalResources/Repositories/RPMForge

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

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

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

# yum -y install iftop

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

# yum -y install htop
# yum -y install atop

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

CentOS 7 установка htop

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

# yum -y install wget bzip2

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

Заключение

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

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

  1. Пример настройки сервера мониторинга zabbix, либо только подключение centos к мониторингу путем установки на него агента.
  2. Настройка мониторинга программного рейда mdadm.
  3. Подробный мониторинг web сервера на базе nginx + php-fpm.
  4. Система мониторинга сайта на базе zabbix.
  5. Наблюдение за mysql репликацией в zabbix.
Обсуждение статьи на форумессылка открывается в новой вкладке.

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


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

Дополнительные материалы по CentOS

Рекомендую полезные материалы по CentOS:
Настройки системы
  • Установка
  • Базовая настройка
  • Настройка времени
  • Настройка сети
  • Настройка репозиториев
  • Настройка iptables
Установка CentOS 7 в конфигурации minimal или netinstall с загрузочной флешки или по сети на диск или raid раздел.
Базовая настройка CentOS 7 для работы с любым функционалом. Приведены практические советы по улучшению безопасности и удобства администрирования.
Как установить точное время на сервере CentOS, настроить часовой пояс, синхронизировать время с помощью ntpdate и ntpd и другое.
Подробное описание настройки сети в CentOS 7 - задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др.
Установка репозиториев epel, rpmforge и др. Добавление, удаление, обновление rpm репозиториев в CentOS.
Рассмотрены основные моменты настройки iptables в Centos 7 - установка, добавление правил, проброс портов, nat, логирование и д.р.
Настройка программных комплексов
 
  • Прокси сервер
  • Шлюз
  • Asterisk
  • Asterisk+Freepbx
  • Сервер VPN
  • Web сервер Apache
  • Web сервер Nginx
  • Почтовый сервер
Подробное описание настройки прокси сервера на базе CentOS 7 со связкой squid+AD+sams2, реализован запрет доступа по url и группам пользователей.
Простая и быстрая настройка шлюза на базе CentOS 7 для организации доступа в интернет из локальной сети.
Описание установки и настройки asterisk - популярной современной sip атс. Описан расширенный функционал, покрывающий большинство потребностей стандартного офиса в современной телефонии.
Подробное описание установки voip сервера asterisk и панели управления freepbx на CentOS 7.
Установка и настройка OpenVPN сервера на CentOS для объединения офисов и подключения удаленных пользователей
Настройка web сервера CentOS 7 на базе связки http сервера apache, php и сервера db mysql, или коротко - установка lamp.
Установка и настройка высокопроизводительного web сервера на базе nginx и php fpm. В качестве кэша используется APC.

Описание установки и настройки почтового сервера iRedMail на основе готовой сборки на CentOS 7. Обзор основных возможностей и рекомендации по настройке.

Самостоятельная настройки почтового сервера postfix + dovecot а так же дополнительных полезных модулей для полноценной и удобной работы почты.

Размышления на тему выбора почтового сервера для малых и средних компаний.

Настройка отдельных программ
 
  • Zabbix
  • Phpmyadmin
  • Webmin
  • Ruby
  • Обновление php
  • Vsftpd
  • Bind
  • Unison
  • Observium
  • Syslog-NG
Видео и подробное описание установки и настройки Zabbix 3.2, а также установка агентов на linux и windows и подключение их к мониторингу.
Подробное описание установки и настройки панели управления phpmyadmin на веб сервер apache и nginx под управлением Centos 7.
Подробное описание установки и настройки Webmin на CentOS 7 для удаленного подключения и управления сервером.
Подробное описание установки языка Ruby последней версии на веб сервер под управлением CentOS 7.
Подробное описание установки или обновления php 7 на CentOS 7. Рассмотрен вариант отката обновления и возврата на php 5.6 или 5.4.
Подробное описание с видео установки и настройки ftp сервера vsftpd, примеры с локальными и виртуальные пользователями в mysql.
Настройка DNS сервера BIND (Named) в CentOS 7. Рассмотрены наиболее популярные конфигурации, в том числе подробное логирование.
Установка Unison в CentOS 7 для двухсторонней синхронизации файлов.
Инструкция по установке и настройке сервера мониторинга Observium на CentOS 7. В качестве примера в конце добавлено одно устройство для мониторинга.
Настройка сервера для централизованного сбора логов с удаленных устройств и серверов с помощью программы syslog-ng.
Разное
  • Настройка ssl в Apache
  • Бэкап с помощью rsync
Настройка работы веб сервера apache с виртуальными хостами по протоколу https с использованием бесплатного ssl сертификата.
Подробное описание настройки бэкапа с помощью rsync на примере скрипта инкрементного архива на системе Centos, Debian, Ubuntu, Windows.

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. Доброго дня,

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

  4. Кирилл

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

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

      • Кирилл

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

        • Не-не-не, все не то. Название файла должно точно соответствовать имени сетевого интерфейса. Список всех сетевых интерфейсов можно посмотреть командой в консоли: «ip a», кавычки убрать.

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

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

  6. Здравствуйте.
    Спасибо за статью.
    Я не очень внимательно читал статью, и не остановил 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.
    С уважением.

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

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

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

  8. Виктор

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

  9. Доброго времени!
    Подскажите пожалуйста в чем может быть дело?
    Выполнив команды:
    ——————————-
    # 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.
    ==========================================================================================
    Самостоятельно решить задачу не удается.

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

  10. Алексей

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

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

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

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

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

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

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

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

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

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

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

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

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

  14. Добрый день и спасибо за статью!
    Прошу показать: 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:
    Что не так со вторым интерфейсом?

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

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

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

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