Установка kvm на centos 7. Устанавливаем CentOS в VirtualBox

Если вы читаете эту статью, то, скорее всего, отлично понимаете, зачем вам нужен веб-сервер и останавливаться на этом я не буду. Но и просто описать, как происходит установка CentOS 7 и как настроить окружение, мне показалось неинтересным. Поэтому мы возьмем Windows, VirtualBox и будем настраивать веб-сервер в виртуальной машине, в виртуальной сети. Параллельной задачей, кроме как разобраться с установкой и настройкой веб-сервера на Linux, будем создавать удобную среду на подобии OpenServer или Denwer, но со всеми преимуществами полноценного nix-сервера.

Что нам понадобится

Создаем контейнер виртуальной машины для CentOS в VirtualBox

Запускаем VirtualBox, заходим в настройки и смотрим конфигурацию виртуальной сети:

Ок, сеть 192.168.56.0/24, DHCP раздает адреса со 101 по 254. Запомним эту информацию.

Переходим к созданию контейнера для CentOS 7. Для этого нажимаем на кнопочку “Создать” и переключаемся в “Экспертный режим”.
Тип OS – Linux, Версия – RedHat (64-bit). Объем ОЗУ поставим в 512 Мб, работать будем только в консоли, так что этого нам хватит с запасом. Жесткий диск создаем новый.


Нажимаем кнопку “Создать” и определяем конфигурацию жесткого диска – можно все оставить по умолчанию: размер 8Гб (можете сразу увеличить, если понимаете, что вам не хватит), тип VDI, Динамический. Снова нажимаем кнопку “Создать”.

Контейнер для виртуальной машины создан. Немного подкорректируем настройки:

На вкладке “Система”->”Материнская плата” меняем порядок загрузки:


Ставим в “Процессорах” 2 штуки и галочку PAE/NX


Переходим в “Дисплей” и добавляем видеопамяти до 16 Мб. Ускорение графики нам ни к чему, т.к. у нас только консоль.


Переходим в носители и указываем наш образ с CentOS 7.




Сеть. Мы будем использовать 2 интерфейса. Первый в режиме bridge (сетевой мост). В селекте “Имя” выберите тот интерфейс, через который вы подключаетесь к вашему роутеру. Это позволит виртуалке получить IP из вашей домашней сети, что часто полезно и интернет она будет получать от вашего роутера. Если у вас не так (ходите в интернет без роутера), или вы планируете, что вашей виртуалке всегда нужен будет интернет – используйте NAT.


Для второго интерфейса выбираем “Виртуальный адаптер хоста” для подключения к виртуальной сети. Благодаря этому, ваш web-сервер будет доступен вне зависимости от того, в какой сети вы работаете. Если бы мы ограничились только первым адаптером, то как только вы отключитесь от вашего роутера, пришлось бы переконфигурировать сетевое соединение под новые условия. А так веб-сервер будет вам всегда доступен в виртуальной сети.


Ну и последним шагом отключим USB. Вряд ли нам понадобится.


На это собственно все, запускаем виртуальную машину.

Запуск установщика CentOS 7

Если вы все сделали правильно, у вас запустится установщик и начнется установка CentOS 7 (а если не запустился, проверьте еще раз порядок загрузки и, что в носителях у нас указан iso с дистрибутивом CentOS 7). Выбираем первый пункт – Install CentOS 7 (обратите внимание, что по умолчанию выбран второй пункт “Test this media…” – если вы выбрали его то можете подождать пока не проверятся контрольные суммы образа, а можете во время проверки нажать Esc).

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


Второй шаг – основное меню установщика.


Настройка локализации и даты/времени

Настройки с датой/временем и языковые настройки оставим как есть. Эти моменты мы настроим потом вручную – это полезно в качестве практики. Если вы покупаете VDS, например, в Германии, трудно ожидать, что языковые настройки будут русские и время выставлено по Москве.

Выбираем профиль безопасности

Настраиваем профиль безопасности – SECURITY. Нажимаем Security Policy, выбираем Standart System Security Profile. Нажимаем кнопку “Select Profile”, затем “Done”.


Выбор диска для установки и отключение kdump

Переходим к группе SYSTEM.

Отключим механизм сбора информации о сбоях ядра KDUMP. Заходим в КDUMP, снимаем галочку с “Enable kdump” и нажимаем “Done”.

Разбиение для жесткого диска то же оставим без изменения. Нажмите “Installation destination”, выберите наш жесткий диск. Убедитесь, что установлена галочка “Automatically configure partitions” и нажимайте “Done”.


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

Переходим к настройке сетевых интерфейсов. Нажимаем NETWORK&HOST NAME и переходим к окну конфигурации. Первым делом задайте hostname для вашего сервера – у меня это web.local, вы можете повторить за мной или же написать все что хотите.

Теперь посмотрим на список сетевых интерфейсов. Первый у нас для интернета, настройки он получает от роутера по DHCP или через NAT. Давайте включим его, установив переключатель в статус ON. Статус должен сменится на connected и интерфейс получить IP адрес.


Теперь нажмем кнопку “Configure” и на закладке “General” установим галочку “Automatically connect to the…” – для того что бы при загрузке операционной системы, интерфейс был сразу включен.
Отключаем IPv6 (конечно если вы им не пользуетесь 😉) На закладке “IPv6 Settings” ставим “Method” в Ignore. Нажимаем “Save”.

Переходим ко второму интерфейсу. Включаем, и видим что IP адрес получили уже от DCHP виртуальной сети. Но адрес который может в один прекрасный момент поменяться, нам не подходит. Давайте зададим статический. Нажимаем “Configure” и первым делом, по аналогии с первым интерфейсом, задаем автоматическое включение и отключаем IPv6. Затем переходим на закладку “IPv4 Settings”. “Method” выбираем Manual, в списке адресов Addresses нажимаем Add и добавляем IP адрес.

Помните, выше мы запомнили с вами настройки виртуальной сети? DHCP раздает адреса начиная с 56.101, следовательно нам надо выбрать адрес меньше чем 101. Я выбрал 192.168.56.80. Задаем маску подсети 24 и нажимаем “Save”. Настройка сети завершена, жмем “Done”.

Ну вот установка CentOS 7 почти закончена. Нажимаем кнопку “Begin Installation” и процесс установки запускается.


Пароль root и пользователь для работы

Пока идет установка зададим пароль администратора.

Так же можно создать учетную запись из под которой будем работать. Нажимаем “USER CREATION” и задаем логин, пароль и ставим галочку “Make this user administrator”, что поместить нашего пользователя в группу wheel. Обратите внимание – если задали пароль, который установщик посчитал слабым – то на кнопку “Done”, надо будет нажать два раза. На общедоступных серверах такие пароли конечно же ставить нельзя, но в рамках нашей задачи с паролем можно особо не мудрить.

Теперь осталось немного подождать, пока установятся все пакеты и по завершении нажать кнопку Reboot. Поздравляю, установка CentOS 7 завершена.


Запуск виртуальной машины с CentOS 7

Запуск виртуальной машины в VirtualBox возможен в трех режимах:

1. Обычный запуск. В этом случае виртуальная машина загрузится в обычном окне, которое будет тем или иным способом присутствовать у вас на рабочем столе или в свернутом виде на панели задач. Это конечно не совсем удобно, особенно когда виртуалка перехватывает мышь.
2. Запуск в фоновом режиме. В этом случае виртуальная машина запускается фоновым процессом и после того как она загрузилась, мы можем спокойно закрыть основное окно VirtualBox. Процесс останется и мы можем, например, спокойно подключится к серверу по ssh.
3. И наконец запуск в фоновом режиме с интерфейсом. Виртуальная машина загрузится в окне, но при необходимости, мы можем отправить ее в фон.

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

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

Подключении по ssh с помощью putty

Работать с сервером намного удобнее используя ssh-клиент. Вот уже многие годы стандартом для win систем остается putty. Подробно на всех настройках этого клиента я останавливаться не буду, давайте просто подключимся к нашему серверу. Запускаем putty и вводим в “HostName” IP адрес нашего сервера 192.168.56.80. Подключатся к нему мы будем постоянно, поэтому давайте сохраним этот IP в списке. В “Saved Sessions” вводим название и нажимаем кнопку “Save”. А что бы подключится – нажимаем “Open”.


и видим строку приглашения нашего сервера:

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

Подобных статей достаточно много, но, так как далее я подготовил статьи по настройкам связанным с CentOS, посему, все же опишу процесс установки. К тому же он не будет долгим. Итак, заходим на официальный сайт в раздел скачивание и скачиваем, в моем случае DVD ISO:

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

После скачивания, создаем виртуальную машину и подключаем к ней только что скаченный образ. в моем случае это будет Oracle VM VirtualBox. Нажимаем создать, имя, пусть будет «centos», тип — Linux и так как в списке версий, к сожалению нет CentOS, поэтому выбираем Red Hat 64 bit (даже если у Вашей виртуальной машины менее 2 гб озу, поставьте 64 бит, попросту часто бывают случаи что установка ОС не получиться):

Нажимаем «Next» и после этого — «Создать новый виртуальный жесткий диск»:

И выбираем диск по умолчанию «VDI»:

Нажимаем «Next» и оставляем крыжик на «Динамический виртуальный жёсткий диск»:

Нажимаем «Next» и далее укажем размер жесткого диска, дабы не париться по поводу свободного места — укажем примерно 40 гб., так как диск у нас динамический, то место будет занимать на реальном жестком диске по мере надобности, то есть сразу все 40 гб не зарезервируются на нашем жестком диске:

Далее, нажимаем на кнопку «Создать», после этого нажимаем на кнопку «Настроить», залезаем в меню «Система» и во вкладке «Процессор» при необходимости выбираем 2-3 ЦПУ (в моем случае установка идет на Core i7 — 8 ядер, поэтому, я могу себе это позволить):

После выбора образа у нас будет что то типа того:

Переходим в меню «Сеть» , так как в моем случае — имеется домашний роутер с выдачей IP адресов (DHCP сервером), то, я выберу тип подключения «Сетевой мост» с выбором моей сетевой карты на рабочей машине, в «Дополнительно» убеждаюсь, что тип адаптера — это стандартная сетевая карта Intel PRO/1000 MT:

После этого нажимаем на кнопку «ОК».

Кстати, если Вы используете VmWare, то Вам необходимо будет отредактировать vmx файл нашей виртуальной машины (после создания), нажимаем правой кнопкой мыши на vmx файле и открываем к примеру в блокноте или Notepad++:

и в самый низ добавляем:

ethernet0 . virtualDev = "e1000"

и сохраняем наш vmx файл. Это нужно для того, чтобы CentOS 7 увидел Вашу виртуальную сетевую плату в VmWare.

Итак, возвращаемся в нашему VirtualBox’у, запускаем виртуальную машину с помощью кнопки «Запустить»:

После этого выбираем «Intall CentOS 7»:

Запустится процесс установки, выбираем русский язык:

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

После этого, в верхнем левом углу нажимаем на кнопку «Готово», после этого — заходим в «Место установки»:

Выбираем наш жесткий диск и нажимаем кнопку «Готово»:

Нажимаем на наш сетевой адаптер и включаем его путем нажатия на данную кнопку:

После этого, нажимаем на кнопку «Готово». На этом, настройка в меню практически закончена и нажимаем на кнопку «Начать установку»:

Во время установки, нам будет необходимо установить пароль от пользователя root и создать пользователя. Для начала — нажимаем на «Пароль ROOT» и устанавливаем наш сложный пароль, убедитесь что установлен английский язык (в верхнем правом углу «us»):

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

После этого, создаем пользователя:

Тут все так же просто — полное имя — Ваше полное имя, далее имя пользователя (в моем случае sergey), далее, можем сразу наделить пользователя правами администратора, для этого ставим галку в «Сделать этого пользователя администратором» и вводим чуть ниже «Пароль» и ещё чуть ниже подтверждаем наш пароль:

Если пароль недостаточно сложный, два раза нажимаем на кнопку «Готово». Далее, ждем пока у нас установиться и настроиться наша ОС:

После установки, внизу нажимаем на кнопку «Перезагрузить» и ждем пока перезагрузится наша ново установленная ОС:

После перезагрузки — нам надо принять Лицензию, для этого — нажимаем на «Лицензионная информация»

и принимаем (обязательно, не забываем прочесть его, это одно из самых коротких лицензионных соглашений:)) :

и нажимаем на кнопку «Завершить настройку»:

После этого, будет предложено настроить Kdump, тут можем ничего не трогать и нажмем на «Вперед»:

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

Вуаля, все установлено:

После этого, подключаем образ диска Дополнений гостевой ОС:

После этого, нажимаем на файл autorun.sh , вводим наш пароль с привелегиями и видим что все устанавливается:

После установки нажимаем кнопку Enter в консоле и перезагружаем нашу систему. После этого, все дополнения у нас применяться. На этом все.

Установка на других виртуальных машинах, осуществляется по аналогии. Думаю не составит сложности установить и на других виртуальных машинах.


Задача : установить CentOS 7 на виртуальную машину Hyper-V второго поколения (Generation 2). Предварительно зайдите на официальный сайт CentOS и скачайте iso-образ нужной версии системы.

1. Создание виртуальной машины

Создадим новую виртуальную машину в Hyper-V. Дадим ей имя, например VM-CentOS.

На следующем шаге укажем, что это будет виртуальная машина второго поколения (Generation 2).

Затем "Configure Networking" - выбираем Connection - LAN.

Теперь "Connect Virtual Hard Disk" - выбираем создание нового диска (Create a virtual hard disk) и устанавливаем его размер, имя и расположение. Например, VM-CentOS.vhdx.

Далее "Installation Options" - выбираем установку системы из имиджа (Install an OS from a bootable image file), который необходимо скачать в виде iso-файла с официального сайта CentOS, и указываем пусть к нему (Image file iso).

Виртуальная машина создана.

По правой клавише перейдите в настройки машины (Settings). В блоке Hardware вберите Firmware и снимите флажок "Enable Secure Boot ".

Если этого не сделать, то при запуске будет следующая ошибка: "Boot Failed. EFI SCSI Device. Failed Secure Boot Verification ."

2. Установка CentOS 7 на созданную виртуальную машину

Теперь запускаем машину (Start). Будет отображено приветственное окно инсталлятора системы CentOS. Если необходимо, добавим русский язык.

Теперь можно произвести предварительную настройку.

Перейдем по кнопке "Клавиатура". Здесь можем поменять параметры раскладок, если нужно (например английский язык поднять наверх, сменить клавиши раскладки, например на сочетание "Ctrl+Shift").

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

При планировании применения машины под CentOS для хостинга сайтов можно установить параметр "Стандартный веб-сервер", добавить также, например, "Поддержка PHP", "Клиент MariaDB" и другие.

Если же необходим графический интерфейс, то можно выбрать "Окружение GNOME" или "KDE Plasma Workspaces", добавить к нему "Офисный пакет" и т.п.

Теперь зададим параметры сети. Переходим на "Сеть и имя узла", задаем имя узла и включаем сеть по верхней правой кнопке-переключателю.

Теперь нажимаем "Начать установку".

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

Нажимаем "Пароль root" и устанавливаем пароль учетной записи администратора.

При необходимости создаем пользователя.

Теперь дожидаемся окончания установки CentOS 7.

Нажимаем "Завершить настройку" и ожидаем окончания процесса установки. После этого будет предложено произвести перезагрузку.

3. Проверка поколения виртуальной машины

После перезагрузки введем ранее созданный логин-пароль.

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

Далее проверим, действительно ли созданная виртуальная машина является машиной второго поколения (Generation 2). Для этого запустим на гипервизоре Windows PowerShell и выполним следующую команду (вместо "VM-CentOS" введите имя своей машины):

Get-vm VM-CentOS | fl name,generation

Убеждаемся, что указано Generation 2. Установка завершена.

Мониторинг HTTP запросов веб-сервера IIS с помощью Fiddler

Kooboo. Урок 1: Вводная часть

У меня имеется только что установленный сервер с CentOS 7 на VDS с виртуализацией KVM.

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

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

  1. Введение
  2. Начальная настройка CentOS 7
  3. Указываем сетевые параметры
  4. Настраиваем firewall
  5. Настройка SSH в CentOS 7
  6. Настраиваем время
  7. Добавление репозиториев
  8. Заключение
  9. Видео по настройке CentOS 7

Введение

Начальная настройка 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:

# 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

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

Теперь произведем настройку сети в 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:

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

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

Устанавливаем утилиту синхронизации времени в 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.

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

Для инсталляции различного софта необходимо подключить репозитории в 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

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

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

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

# yum -y install iftop

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

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

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

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

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

Заключение

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

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

За информацию спасибо: http://serveradmin.ru

CentOS является одной из популярных систем на базе Linux, и по этой причине многие пользователи хотят с ней познакомиться. Устанавливать ее в качестве второй операционной системы на свой ПК - вариант не для каждого, но вместо этого можно поработать с ней в виртуальной, изолированной среде под названием VirtualBox.

Скачать CentOS можно совершенно бесплатно. Для удобства пользователей разработчики сделали 2 вариации дистрибутива и несколько способов закачки.

Сама операционная система есть в двух версиях: полная (Everything) и урезанная (Minimal). Для полноценного знакомства рекомендуется скачать полную версию - в урезанной нет даже графической оболочки, и для обычного домашнего использования она не предназначена. Если же вам нужна урезанная, на главной странице CentOS нажмите «Minimal ISO» . Оно скачивается ровно такими же действиями, что и Everything, загрузку которой мы рассмотрим ниже.

Скачать версию Everything можно через torrent. Поскольку примерный размер образа составляет порядка 8 ГБ.
Для скачивания выполните следующее:


Шаг 2: Создание виртуальной машины для CentOS

В VirtualBox каждая устанавливаемая операционная система нуждается в отдельной виртуальной машине (VM). На этом этапе выбирается тип системы, которая будет установлена, создается виртуальный накопитель и настраиваются дополнительные параметры.


На этом установка VM заканчивается.

Шаг 3: Настройка виртуальной машины

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

Во вкладке «Система» - «Процессор» можно увеличить количество процессоров до 2. Это даст некоторый прирост к производительности CentOS.

Перейдя в «Дисплей» , можете добавить некоторое количество МБ к видеопамяти и включить 3D-ускорение.

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

Шаг 4: Установка CentOS

Основной и последний этап: инсталляция дистрибутива, который уже был скачан.

  1. Выделите кликом мыши виртуальную машину и нажмите на кнопку «Запустить» .

  2. После запуска VM нажмите на папку и через стандартный системный проводник укажите место, куда вы скачали образ ОС.

  3. Запустится установщик системы. При помощи стрелки вверх на клавиатуре выберите пункт «Install CentOS Linux 7» и нажмите Enter .

  4. В автоматическом режиме будут произведены некоторые операции.

  5. Начнется запуск инсталлятора.

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

    Выберите ваш язык и его разновидность.

  7. В окне с параметрами настройте:
  8. Нажмите на кнопку «Начать установку» .

  9. Во время установки (состояние отображается в нижней части окна как прогресс-бар) вам будет предложено придумать пароль root и создать пользователя.

  10. Впишите пароль для прав root (суперпользователя) 2 раза и нажмите «Готово» . Если пароль будет простым, кнопку «Готово» потребуется нажать дважды. Не забудьте сперва переключить раскладку клавиатуры на английский язык. Текущий язык можно увидеть в правом верхнем углу окна.

  11. Впишите желаемые инициалы в поле «Полное имя» . Строка «Имя пользователя» будет заполнена автоматически, но ее можно изменить вручную.

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

    Придумайте пароль для учетной записи и нажмите «Готово» .

  12. Дождитесь установки ОС и нажмите на кнопку «Завершить настройку» .

  13. Будут выполнены еще кое-какие настройки в автоматическом режиме.

  14. .

  15. Появится загрузчик GRUB, который по умолчанию через 5 секунд продолжит загрузку ОС. Можно сделать это вручную, не дожидаясь таймера, нажав на Enter .

  16. Появится окно загрузки CentOS.

  17. Снова отобразится окно с настройками. На этот раз нужно принять условия лицензионного соглашения и настроить сеть.

  18. Поставьте галочку в этом коротком документе и нажмите «Готово» .

  19. Чтобы включить интернет, нажмите на параметр «Сеть и имя узла» .

    Кликните на регулятор, и он сдвинется вправо.

  20. Нажмите на кнопку «Завершить» .

  21. Вы попадете на экран входа в учетную запись. Кликните на нее.

  22. Переключите раскладку клавиатуры, введите пароль и нажмите «Войти» .

Теперь вы можете начинать пользоваться операционной системой CentOS.

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