Сетевые настройки в centos

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

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

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

# yum install iftop

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

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

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

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

# yum install lsof

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

# yum install wget bzip2 traceroute gdisk

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

Проброс портов (Port Forwarding)

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

Firewalld

firewall-cmd —zone=external —permanent —add-forward-port=port=25:proto=tcp:toport=8025:toaddr=192.168.0.15

* где 25 — прослушиваемый внешний порт, для которого сработает перенаправление; tcp — используемый транспортный протокол; 8025 — на какой порт перенаправить запрос; 192.168.0.15 — IP-адрес сервера, на который отправляем запросы.

Разрешаем сам порт:

firewall-cmd —permanent —zone=external —add-port=25/tcp

Чтобы правило вступило в силу:

firewall-cmd —reload

Iptables

Настройка выполняется двумя командами:

iptables -t nat -A PREROUTING -p tcp -m tcp -d 10.8.232.111 —dport 25 -j DNAT —to-destination 192.168.0.15:8025

iptables -t nat -A POSTROUTING -p tcp -m tcp -s 192.168.0.15 —sport 8025 -j SNAT —to-source 10.8.232.111:25

или можно так:

iptables -t nat -A PREROUTING -p tcp -i eth0 —dport 25 -j DNAT —to-destination 192.168.0.15:8025

iptables -A FORWARD -p tcp -d 192.168.0.15 —dport 8025 -m state —state NEW,ESTABLISHED,RELATED -j ACCEPT

* где eth0 — внешний сетевой интерфейс.

Разрешаем порт:

iptables -I INPUT 1 -p tcp —dport 8025 -j ACCEPT

* обратите внимание, что мы разрешаем порт, на который переводим запрос, так как цепочки POSTROUTING и PREROUTING работают до цепочки FILTER, а потому открывать нужно не входящий порт (25), а тот, на который назначается пакет (8025). Не забываем сохранить правила:

Не забываем сохранить правила:

service iptables save

Настройка сети через консоль с помощью networking

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

У меня имя сетевого интерфейса enp2s0f0. Именно на его примере дальше будет выполняться подключение к сети centos 7. Все настройки для сети Networking хранятся в каталоге /etc/sysconfig/network-scripts/. Для нашего сетевого интерфейса конфигурационный файл будет называться /etc/sysconfig/network-scripts/ifcfg-enp2s0f0.

Давайте сначала рассмотрим основные параметры, которые вам придется рассмотреть:

  • TYPE — тип соединения, проводное (Ethernet), беспроводное(Wired) и т д;
  • BOOTPROTO — способ получения IP адреса, static, dhcp или none;
  • NAME — имя соединения;
  • DEVICE — имя сетевого интерфейса;
  • ONBOOT — необходимо ли запускать при старте системы;
  • IPADDR — IP адрес, который будет использован для этого компьютера;
  • GATEWAY — шлюз для доступа к интернету;
  • NETMASK — маска сети;
  • DNS1 — сервер для разрешения доменных имен DNS.

Фактически вы уже знаете большинство этих параметров. Теперь рассмотрим какой набор нужно задать для каждого способа получения IP адреса.

Настройка получения IP по DHCP

Настройка сети dhcp centos предусматривает использование значения BOOTPROTO dhcp, остальные параметры задавать необязательно:

Теперь сохраните изменения и перезапустите сеть. Все должно заработать.

Настройка сети со статическим IP

Для установки статического IP адреса нужно задать значение BOOTPROTO — static, а также указать IP адрес, шлюз, маску сети и DNS. Вот пример конфигурации сети CentOS для нашего интерфейса:

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

Затем вам останется проверить работу сети. Если все было сделано правильно сеть будет работать.

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

Теперь рассмотрим наиболее сложный вариант установки. Мы будем ставить CentOS 7 на программный рейд. Для примера возьмем 2 диска и ra >INSTALLATION DESTINATION .

Подключаем 2 диска к системе, загружаемся с установочного диска и идем в раздел разбивки диска. Видим 2 жестких диска. Выбираем оба и отмечаем пункт I will configure partition:

Жмем Done . Открывается немного кривое окно управления разделами жесткого диска.

Здесь мы первым делом удаляем все существующие разделы:

Должно получиться примерно так:

Нажимаем Done , когда закончим. В новом окне подтверждаем разбивку диска, нажимая Accept Сhanges:

Все остальные параметры выставляем как было рассказано выше. Теперь можно начинать установку CentOS 7 на программный raid, который мы только что создали.

Во время установки нужно указать пароль root , либо создать дополнительных пользователей. Пароль рекомендую установить, пользователей по необходимости.

После завершения установки на raid зайдем в систему и проверим состояние массива:

Посмотрим информацию о корневом массиве:

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

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

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

3: Создание центра сертификации

Прежде чем вы сможете создать закрытый ключ и сертификат ЦС, вам нужно создать файл по имени vars и заполнить его некоторыми значениями по умолчанию. Перейдите в каталог easy-rsa, затем создайте и отредактируете файл vars с помощью текстового редактора.

Текстовым редактором по умолчанию для системы CentOS 8 является vi. Это очень мощный, но не самый простой в обращении редактор. Если хотите, можете установить nano, он проще. Для этого введите команду:

Чтобы подтвердить установку, нажмите у. теперь вы можете отредактировать файл vars.

Вставьте в файл такие строки и отредактируйте все значения, чтобы задать информацию о вашей организации

Здесь важно убедиться, что вы не оставили пустых значений:. Когда вы закончите, сохраните и закройте файл

В nano для этого нужно нажать Ctrl + X, затем Y и Enter. Теперь вы готовы собрать свой ЦС

Когда вы закончите, сохраните и закройте файл. В nano для этого нужно нажать Ctrl + X, затем Y и Enter. Теперь вы готовы собрать свой ЦС.

Чтобы создать пару открытого и закрытого ключей для вашего центра сертификации, снова введите команду ./easy-rsa, но на этот раз с параметром build-ca:

В выводе вы увидите несколько строк о версии OpenSSL. Также вам будет предложено ввести парольную фразу для вашей пары ключей. Обязательно выберите сложную фразу и сохраните ее в безопасном месте (или запомните). Эту фразу вам нужно ввести, чтобы получить доступ к своему ЦС (например, для подписи или отзыва сертификата).

Также вам будет предложено подтвердить Common Name (CN) для вашего ЦС. Common Name – это имя, используемое для обозначения этого компьютера в контексте центра сертификации. Вы можете ввести любую строку символов, но проще всего принять имя по умолчанию, нажав Enter.

Примечание: Если вы не хотите, чтобы при каждом взаимодействии с вашим ЦС запрашивался пароль, вы можете запустить команду build-ca с параметром nopass:

Теперь у вас есть два важных файла – ~/easy-rsa/pki/ca.crt и ~/easy-rsa/pki/private/ca.key – открытый и закрытый компонент центра сертификации.

  • ca.crt – открытый файл сертификата ЦС. Пользователи, серверы и клиенты будут использовать его для проверки того, что они являются частью одной сети доверия. Каждый пользователь и сервер, который обращается к вашему ЦС, должен иметь копию этого файла. Все стороны будут полагаться на открытый сертификат, чтобы посторонние не могли выдавать себя за вашу систему (это предотвратит атаки посредника).
  • ca.key – это закрытый ключ, который ЦС использует для подписи сертификатов серверов и клиентов. Если злоумышленник получит доступ к вашему ЦС и, в свою очередь, к вашему файлу ca.key, вам нужно будет уничтожить ваш ЦС. И поэтому ваш файл ca.key должен находиться только на вашем компьютере ЦС (в идеале компьютер ЦС должен оставаться в оффлайн, если вы не подписываете запросы на сертификат в качестве дополнительной меры безопасности).

После этого ваш центр сертификации будет готов. Его можно использовать для подписи запросов и для отзыва сертификатов.

Настройка блокировки доступа к сайту по странам

Дальше можно пойти двумя путями:

  1. Блокировать доступ определенным странам.
  2. Разрешить доступ списку стран, а от остальных закрыться.

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

Итак, у нас есть список ip адресов и подсетей, разделенных по странам. Списки очень большие, руками их обрабатывать не получится. Мы это дело автоматизируем, а пока пройдемся по теории. Разберемся с управлением списками в ipset. Для начала создадим список и назовем его — blacklist.

# ipset -N blacklist nethash

Этой командой я создал список blacklist типа nethash. Строго говоря, я создаю не список, а набор данных типа nethash. В данном случае это набор данных адресов подсетей. Именно в виде набора подсетей выглядят списки доступа стран по ip. Если у вас есть список ip адресов, то тип данных будет iphash. Более подробно о типах данных можно посмотреть в документации.

Добавим в наш список несколько подсетей.

# ipset -A blacklist 5.43.240.0/21
# ipset -A blacklist 5.100.64.0/18
# ipset -A blacklist 5.159.112.0/21

Посмотрим содержимое списка blacklist.

# ipset -L blacklist

Name: blacklist
Type: hash:net
Revision: 3
Header: family inet hashsize 1024 maxelem 65536
Size in memory: 16880
References: 0
Members:
5.100.64.0/18
5.43.240.0/21
5.159.112.0/21

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

Их можно изменить таким образом:

# ipset create blacklist nethash hashsize 16348 maxelem 131072

Проверяем:

# ipset -L blacklist

Header: family inet hashsize 16384 maxelem 131072
Size in memory: 262544

Обратите внимание на занимаемую память. На маленьком VPS это может стать проблемой

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

Список мы создали, теперь его надо подключить в iptables. Для этого добавляем правило блокировки.

# iptables -A INPUT -m set --match-set blacklist src -j DROP

Смотрим, что получилось в правилах:

# iptables -L INPUT -v -n

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

# ipset -N whitelist nethash

Добавляем в него подсети.

# ipset -A whitelist 6.43.240.0/21
# ipset -A whitelist 7.100.64.0/18
# ipset -A whitelist 8.159.112.0/21

Создаем правило в iptables, по которому к нашему серверу будут иметь доступ только адреса из списка. Сначала у меня стояли вот эти два правила, которые разрешают доступ к веб серверу всем.

iptables -A INPUT -i $WAN -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i $WAN -p tcp --dport 443 -j ACCEPT

Я их изменил на следующие.

iptables -A INPUT -i $WAN -m set --match-set whitenet src -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i $WAN -m set --match-set whitenet src -p tcp --dport 443 -j ACCEPT

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

Принцип работы ipset рассмотрели. Теперь автоматизируем все и создадим полный список ip адресов по странам, которым будет разрешен доступ к сайту. Я для этого написал простенький скрипт. Привожу его с комментариями.

#!/bin/bash

# Удаляем список, если он уже есть
ipset -X whitelist
# Создаем новый список
ipset -N whitelist nethash

# Скачиваем файлы тех стран, что нас интересуют и сразу объединяем в единый список
wget -O netwhite http://www.ipdeny.com/ipblocks/data/countries/{ru,ua,kz,by,uz,md,kg,de,am,az,ge,ee,tj,lv}.zone

echo -n "Загружаем белый список в IPSET..."
# Читаем список сетей и построчно добавляем в ipset
list=$(cat netwhite)
for ipnet in $list
 do
 ipset -A whitelist $ipnet
 done
echo "Завершено"
# Выгружаем созданный список в файл для проверки состава
ipset -L whitelist > w-export

Запускаете скрипт, он скачивает и объединяет списки нужных вам стран, затем добавляет их в ipnet и в конце делает экспорт в файл. Посмотрите на этот файл. Список в нем должен совпадать с исходным списком, плюс несколько информационных строк в самом начале. На этом все. Если вы добавили правила в iptables, ограничение доступа по ip уже начало работать.

Установите предпочитаемую среду рабочего стола

Теперь мы можем установить среду рабочего стола, которую будем использовать. В этом руководстве мы опробуем Xfce, MATE и GNOME.

Примечание: если вы не можете подключиться через Remote Desktop Connection после установки среды рабочего стола, откройте порт 3389/TCP с помощью команды firewall-cmd, упомянутой выше.

Установите рабочую среду XFCE

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

Чтобы установить Xfce, выполните следующие команды:

Затем создайте файл .Xclients в каталоге пользователя, с помощью которого будет осуществлено подключение:

Теперь вы можете подключиться к серверу, используя Remote Desktop Connection. Вот как выглядит Xfce:

Скриншот №1. Xfce

Удаление Xfce

Чтобы удалить Xfce с вашего CentOS 7, выполните следующие команды:

Установите MATE Desktop Environment

Чтобы установить MATE, выполните следующие команды:

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

Теперь вы можете подключиться к серверу, используя Remote Desktop Connection. Вот как выглядит MATE:

Скриншот №2. MATE

Удаление MATE

Чтобы удалить MATE с CentOS 7, выполните следующие команды:

Установите GNOME Desktop Environment

Теперь попробуем установить GNOME 3. Для этого нам необходимо установить группу пакетов GNOME Desktop, которая установит все пакеты, необходимые для установки с графическим интерфейсом:

Это может занять некоторое время. На минимальной конфигурации дистрибутива CentOS 7 будет установлено около 1000 пакетов.

Запустите графический интерфейс

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

Вывод:

Если значением по умолчанию является multi-user.target, это означает, что графический интерфейс не будет загружен. Поменяем значение по умолчанию на graphical.target. Для этого выполните следующие команды:

Вывод:

Created symlink from /etc/systemd/system/default.target to usr/lib/systemd/system/graphical.target.

После этого выполните следующую команду, для незамедлительного перехода к графическому интерфейсу:

Теперь вы можете подключиться через xRDP к вашему CentOS 7 с помощью GNOME.

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

Скриншот №3. GNOME 3

Примечание: Если до момента установки графической оболочки GNOME Desktop для подключения к CentOS 7 использовались Xfce или MATE Desktop, выполните следующую команду:

Как настроить DNS в CentOS

Текущие настройки dns сервера в CentOS можно посмотреть в двух местах:

  1. В файле с настройками сетевой карты ifcfg-eth0, которым мы ранее неоднократно редактировали.
  2. В файле /etc/resolv.conf

Зачем они сейчас в двух местах, я не знаю, но раньше настройки dns сервера в каких-то дистрибутивах, не помню уже точно каких, указывались только в resolv.conf, но в какой-то момент это изменилось. И все сетевые настройки стали храниться в одном файле вместе с адресом, шлюзом, маской и прочим. Если сейчас отредактировать файл resolv.conf и внести туда какие-то dns сервера, то после перезагрузки они будут заменены на значения из файла ifcfg-eth0.

Так что для того, чтобы установить параметры dns сервера, нужно отредактировать файл сетевых настроек ifcfg-eth0, добавив туда столько серверов, сколько требуется. Например так:

Для применения настроек сохраняем файл и перезапускаем сеть, все как обычно. После перезагрузки сервера настройки dns будут записаны в файл resolv.conf

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

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

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

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

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

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

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

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

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

Как настроить DNS в CentOS 7

Текущие настройки dns сервера в CentOS можно посмотреть в двух местах:

  • В файле с настройками сетевой карты ifcfg-eth0, которым мы ранее неоднократно редактировали.
  • В файле /etc/resolv.conf

Зачем они сейчас в двух местах, я не знаю, но раньше настройки dns сервера в каких-то дистрибутивах, не помню уже точно каких, указывались только в resolv.conf, но в какой-то момент это изменилось. И все сетевые настройки стали храниться в одном файле вместе с адресом, шлюзом, маской и прочим. Если сейчас отредактировать файл resolv.conf и внести туда какие-то dns сервера, то после перезагрузки они будут заменены на значения из файла ifcfg-eth0.

Так что для того, чтобы установить параметры dns сервера, нужно отредактировать файл сетевых настроек ifcfg-eth0, добавив туда столько серверов, сколько требуется.

Например так:

DNS1=»192.168.159.2″
DNS2=»8.8.8.8″
DNS3=»8.8.4.4″

Для применения настроек сохраняем файл и перезапускаем сеть, все как обычно. После перезагрузки сервера настройки dns будут записаны в файл resolv.conf

# cat /etc/resolv.conf

# Generated by NetworkManager
nameserver 192.168.159.2
nameserver 8.8.8.8
nameserver 8.8.4.4Как отключить ipv6 в CentOS 7

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

Перед отключением ipv6 необходимо на всякий случай проверить, какие программы его используют в своей работе. Это нужно для того, чтобы избежать ошибок в их работе, предварительно отключив ipv6 в конфигурациях. Для того, чтобы увидеть, какие программы висят на ipv6 интерфейсе воспользуемся командой netstat:

# netstat -tulnp

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2317/master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1333/sshd
tcp6 0 0::1:25:::* LISTEN 2317/master
tcp6 0 0:::22:::* LISTEN 1333/sshd
udp 0 0 0.0.0.0:49252 0.0.0.0:* 694/avahi-daemon: r
udp 0 0 0.0.0.0:123 0.0.0.0:* 715/chronyd
udp 0 0 0.0.0.0:5353 0.0.0.0:* 694/avahi-daemon: r
udp 0 0 127.0.0.1:323 0.0.0.0:* 715/chronyd
udp6 0 0:::123:::* 715/chronyd
udp6 0 0::1:323:::* 715/chronyd

Все строки с::: это ipv6 протокол. В моем случае это sshd, postfix и chronyd. Отключим им ipv6 и оставим только ipv4.

Начнем с sshd. Открываем файл настроек /etc/ssh/sshd_config и находим строки:

#AddressFamily any
#ListenAddress 0.0.0.0

Раскомментируем их и изменим. Должно получиться вот так:

AddressFamily inet
ListenAddress 0.0.0.0

Теперь открываем файл настроек постфикс /etc/postfix/main.cf. Ищем там строку:

#inet_protocols = all

Меняем на:

Inet_protocols = ipv4

Отключаем ipv6 в chronyd. Для этого создаем файл /etc/sysconfig/chronyd
и добавляем строку:

OPTIONS=-4

Теперь отключаем ipv6 в CentOS. Открываем файл /etc/sysctl.conf
и добавляем туда строки:

Net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Редактируем файл /etc/sysconfig/network
, добавляя туда:

NETWORKING_IPV6=no
IPV6INIT=no

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

# reboot# ifconfig

eno16777728: flags=4163 mtu 1500
ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet)
RX packets 2301 bytes 243024 (237.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2138 bytes 1327955 (1.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 0 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Нигде нет упоминания про inet6 и адреса формата ipv6. Значит все в порядке, мы отключили ipv6 в CentOS. Теперь проверим список открытых портов:

# netstat -tulnp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2291/master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1322/sshd
udp 0 0 0.0.0.0:123 0.0.0.0:* 2453/chronyd
udp 0 0 0.0.0.0:5353 0.0.0.0:* 697/avahi-daemon: r
udp 0 0 127.0.0.1:323 0.0.0.0:* 2453/chronyd
udp 0 0 0.0.0.0:57259 0.0.0.0:* 697/avahi-daemon: r

Все порты ipv4. Все в порядке, наша задача выполнена.

Сохранение настроек сети

Определяем, какие интерфейсы есть в системе

ip a

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

1lo<LOOPBACK,UP,LOWER_UP>mtu65536qdisc noqueue state UNKNOWN

link/loopback000000000000brd000000000000

inet127.0.0.1/8scope host lo

2eth0<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdisc pfifo_fast state UP qlen1000

link/ether001517185fd8 brd ffffffffffff

inet10.15.0.1/28brd91.241.22.15scope globaleth0

3eth1<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdisc pfifo_fast state UP qlen1000

link/ether001517185fd9 brd ffffffffffff

inet192.168.11.101/24brd192.168.11.255scope globaleth1

inet10.49.0.1/8brd10.255.255.255scope globaleth13

inet192.168.70.16/24brd192.168.70.255scope globaleth11

4gre0<NOARP>mtu1476qdisc noop state DOWN

link/gre0.0.0.0brd0.0.0.0

5gretap0<BROADCAST,MULTICAST>mtu1476qdisc noop state DOWN qlen1000

link/ether000000000000brd ffffffffffff

6eth1.122@eth1<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdisc noqueue state UP

link/ether001517185fd9 brd ffffffffffff

inet192.168.123.254/23brd192.168.123.255scope globaleth1.122

 

Сохраняем настройки

Для сохранение я настроек необходимо внести изменения я конфигурационный файл интерфейса, который находиться /etc/sysconfig/network-scripts/ifcfg-eth0 и приводим его к виду:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

DEVICE=»eth0″

BOOTPROTO=none

NM_CONTROLLED=»yes»

ONBOOT=yes

TYPE=»Ethernet»

UUID=»7f9fe579-ac2f-4e35-9445-7685620fa61d»

HWADDR=001517185FD8

IPADDR=10.15.0.1

PREFIX=28

GATEWAY=10.15.0.254

DNS3=8.8.4.4

DNS2=8.8.8.8

DNS1=192.168.11.3

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=no

NAME=»System eth0″

 

Перезапуск сети

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

1
2
3

service network restart

 

или так

1
2
3

 
/etc/init.d/network restart

 

hostname

Шаг 1. Проверка текущего hostname

Чтобы получить информацию о хосте выполните

hostnamectl

Static hostname: localhost.localdomain
Icon name: computer-vm
Chassis: vm
Machine ID: a714bee8007d114a84177dbb15072f2e
Boot ID: b02d9498c1764a338c781672aac1be29
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1160.el7.x86_64
Architecture: x86-64

Нужная информация находится в первой строке

Шаг 2. Смена hostname

Так как CentOS 7 поддреживает только Fully Qualified Domain Names (FQDNs),
советую тщательно проверить hostname, который вы планируете использовать.

Допустимые значения:

  • Строчные буквы от a до z
  • Цифры от 0 до 9
  • Точки и дефисы
  • Hostnames может быть от 2 до 63 символов
  • Hostnames должен начинаться и заканчиваться цифрой или буквой

Выполните

hostnamectl set-hostname my.new-hostname.server

Настройка сервера ntp в CentOS 7

Сервер времени ntp использует в своей работе одноименный протокол — Network Time Protocol, которому для работы необходим UDP порт 123. Так что перед установкой и настройкой службы времени убедитесь, что на фаерволе открыт этот порт.

Устанавливаем сервер ntp:

# yum install ntp

Теперь отредактируем файл конфигурации /etc/ntp.conf , удалив все лишнее:

# cat /etc/ntp.conf  driftfile /var/lib/ntp/drift restrict default nomodify notrap nopeer noquery restrict 127.0.0.1 restrict ::1  server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst  disable monitor logfile /var/log/ntp.log
Параметр Описание
server Список серверов для синхронизации времени
driftfile Задает адрес файла, в котором хранится история изменений времени во время синхронизации. Если по каким-то причинам синхронизация времени с внешними источниками станет невозможна, служба времени изменит системные часы в соответствии с записями в этом файле.
restrict 127.0.0.1 Указывает, что пользоваться нашим сервером времени можно только непосредственно с локального интерфейса. Если вам необходимо разрешить другим компьютерам в вашей локальной сети синхронизировать время с текущей машины, то укажите в данном параметре адрес вашей сети, например:
restrict  192.168.10.0 mask 255.255.255.0
restrict default nomodify notrap nopeer noquery Параметры указывают на то, что клиентам данного сервиса времени запрещено изменять его настройки, получать его статус. Они могут только забрать с него значения точного времени.
disable monitor Данный параметр повышает безопасность, предотвращая использования одной из уязвимостей сервиса ntpd, которую можно использовать для проведения DDoS атак.
logfile Указывает путь к файлу с логами сервиса

После завершения редактирования файла настроек запускаем службу синхронизации времени:

# systemctl start ntpd

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

# netstat -tulnp | grep 123

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

# cat /var/log/messages | grep ntpd
# cat /var/log/ntp.log

Все в порядке, сервер запущен и полностью готов к работе.

Теперь настроим автозапуск ntp вместе с загрузкой centos:

# systemctl enable ntpd

Наблюдать за работой службы ntp можно с помощью команды ntpq -p:

Что значат все эти данные:

remote Адрес удаленного эталона времени, с которого была синхронизация
refid Указывает, откуда каждый эталон получает точное время. Это могут быть другие сервера времени, система GPS и другое
st Stratum (уровень) это число от 1 до 16, которое указывает на точность эталона. 1- максимальная точность, 16 — сервер недоступен. Уровень вашего сервера будет равен уровню наименее точного удаленного эталона плюс 1.
poll Интервал в секундах между опросами
reach Восьмеричное представление массива из 8 бит, отражающего результаты последних восьми попыток соединения с эталоном. Бит выставлен, если удаленный сервер ответил.
delay Время задержки ответа на запрос о точном времени
offset Разница между вашим и удаленным сервером
jitter Дисперсия (Jitter) — это мера статистических отклонений от значения смещения (поле offset) по нескольким успешным парам запрос-ответ. Чем меньше значение дисперсии, тем лучше, поскольку позволяет точнее синхронизировать время.
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: