Установка ntp на CentOS/RHEL/Fedora
Network Time Protocol – NTP- является протоколом, который работает через порт UDP 123 на транспортном уровне и позволяет компьютерам синхронизировать время.
В этой статье «Установка ntp на CentOS/RHEL/Fedora» я расскажу как можно установить и настроить NTP сервер на CentOS/RHEL/Fedora на примере CentOS 7 и использую NTP Public Pool Time Servers лист.
Установка и настройка NTP демона.
1. Покет с NTP сервером предоставляется по умолчанию из официальных CentOS / RHEL 7 репозиториев и может быть установлен:
# yum install ntp
2. После установки сервера, первое что необходимо сделать, так это перейти на сайт с официальными NTP серверами и выбрать нужный пул для вашего местоположения.
3. Затем откройте основной конфигурационный файл для редактирования списка серверов с pool.ntp.org проекта и нужно заменить его на Ваши пулы ( те которые вы выбрали на сайте).
# vim /etc/ntp.conf
Для примера, я буду использовать следующие пулы:
server 0.uk.pool.ntp.org server 1.uk.pool.ntp.org server 2.uk.pool.ntp.org server 3.uk.pool.ntp.org
4. Кроме того, необходимо позволить клиентам из вашей сети синхронизировать время с сервером. Для этого добавьте следующую строку в файл конфигурации NTP, где есть ограничения управления. Замените данный ИП и маску на Вашу, соответственно:
restrict 192.168.1.0 netmask 255.255.255.0 nomodify notrap
5. Если вам нужна дополнительная информация для устранения неполадок (в случае если у вас возникли какие-либо проблемы с вашим NTP демоном), то стоит добавить файл журнала (лог файл), в котором будет записывать все проблемы с сервером NTP, а для этого, открываем:
# vim /etc/ntp.conf
и добавляем строчку:
logfile /var/log/ntp.log
6. После того как вы отредактировали файл конфигурации со всеми настройками что выше, сохраните и закройте файл ntp.conf.
Добавление правил в Firewall и запуск NTP демона.
7. Услуги NTP используют UDP-порт 123 на транспортном уровне OSI (уровень 4). И для корректной работы ntp сервера, нужно открыть этот порт на RHEL / CentOS 7, а можно это сделать:
# firewall-cmd --add-service=ntp --permanent # firewall-cmd --reload
8. После того как вы открыли в брандмауэре порт 123, то следующим шагом будет запуск сервера NTP:
# systemctl start ntpd
И добавлю его в автозагрузку ОС:
# systemctl enable ntpd
Проверяем статус:
# systemctl status ntpd
Проверка синхронизации времени.
9. После того как демон NTP был запущен, подождите несколько минут для синхронизации времени с его списком серверов, выполните следующие команды чтобы проверить статус NTP синхронизации и системного времени:
# ntpq -p # date -R
10. Если вы хотите запросить и синхронизироваться NTP с pool, то используейте команду Ntpdate и затем адрес сервера (или серверов):
# ntpdate -q 0.uk.pool.ntp.org 1.uk.pool.ntp.org
Статья «Установка ntp на CentOS/RHEL/Fedora» завершена.
Настройка сервера времени ntp
Со временем часы могут убегать или отставать, поэтому время от времени их нужно синхронизировать с эталонными. Для этого в CentOS используется демон ntpd.
Установим демон ntpd если его нет в системе:
# yum install ntp
Однократно синхронизируем время:
# ntpdate pool.ntp.org
Если получили что-то вроде the NTP socket is in use, exiting — значит ntpd демон уже запущен. В этом случае остановим его:
# service stop ntpd
Настраиваем работу ЧРВ в BIOS на время по UTC:
# hwclock --systohc --utc
Этой командой мы присвоили значение времени аппаратных часов равным системному времени. Как вы помните, системные часы мы синхронизировали командами выше.
Проверим содержимое файла /etc/sysconfig/clock чтобы система после загрузки правильно выставляла местное время. Для Москвы он должен содержать следующее:
ZONE="Europe/Moscow" UTC=true ARC=false
# chkconfig ntpd on
Запускаем демон синхронизации времени:
# service ntpd start
Проверяем системное время командой:
# date
Оно должно совпадать с реальным.
Проверим, синхронизируется ли системное время с серверами эталонного времени (ntp server) и все ли там в порядке командой ntpq -p:
# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== test.danzuck.ch 162.23.41.56 2 u 1 64 1 12.280 -23.298 0.031 fw.ams.nl.alexs 82.197.221.30 4 u 2 64 1 2.086 -19.002 0.000 ntp0.mediamatic 193.0.0.229 2 u 1 64 1 0.998 -19.938 0.000 elara.mysnip.de .INIT. 16 u - 64 0 0.000 0.000 0.000
Демон ntpd включает в ядре Linux режим «11 minute mode». В этом режиме каждые 11 минут синхронизируются системные и аппаратные часы. По-умолчанию он (режим «11 minute mode») выключен и включается только когда какой-то сервис попросит включить этот режим. Демон ntpd как раз его и (режим «11 minute mode») включает. Так что дополнительно синхронизировать аппаратные часы по значению системных нет необходимости.
P.S. Теперь системные и аппаратные часы вашего сервера будут автоматически синхронизироваться с эталонными серверами и всегда показывать точное время.
При написании статьи были использованы следующие источники и литература
- Change Timezone in CentOS
- Автозапуск сервисов в CentOS/RHEL
- Время в linux. UTC или localtime?
- Настройка времени в Bitrix VM (CentOS)
Ручная настройка конфигурационного файла сетевого интерфейса в CentOS
Выведем список доступных сетевых интерфейсов в системе:
Файлы конфигурации сети вашего сервера хранятся в каталоге /etc/sysconfig/network-scripts. Эти файлы создает демон NetworkManager для каждого сетевого интерфейса. В нашем случае файл конфигурации называется ifcfg-eth0 (у вас может отличаться в зависимости от схемы именования сетевого интерфейса).
Рассмотрим основные параметры:
- DEVICE – имя сетевого адаптера, совпадает с именем в системе, у нас это eht0
- BOOTPROTO – способ назначения IP-адреса (static — статическое значение, указываем в ручную. dhcp — получить адрес автоматически)
- IPADDR – IP-адрес
- NETMASK – маска подсети
- GATEWAY – шлюз по умолчанию
- DNS1 – Основной DNS-сервер
- DNS2 — альтернативный DNS-сервер
- ONBOOT — способ запуска сетевого интерфейса (yes – автоматически, no – вручную)
- UUID – уникальный идентификатор сетевого интерфейса. Можно сгенерировать самостоятельно командой uuidgen.
- IPV4_FAILURE_FATAL – отключение сетевого интерфейса с IP-адресом v4, если он имеет неверную конфигурацию (yes – отключить, no – не отключать)
- IPV6_FAILURE_FATAL – отключение сетевого интерфейса с IP-адресом v6, если он имеет неверную конфигурацию (yes – отключить, no – не отключать)
- IPV6_AUTOCONF – разрешает или запрещает автоконфигурирование Ipv6 с помощью протокола
- IPV6_INIT – включение возможности использования адресации Ipv6(yes – адресация может использоваться, no – не используется)
- PEERROUTES – устанавливает приоритет настройки шлюза по умолчанию, при использовании DHCP
- IPV6_PEERROUTES — устанавливает приоритет настройки шлюза по умолчанию, при использовании DHCP для IPv6
Исходя из этой информации, настроим сетевой интерфейс.
Настройка статического IP адреса в CentOS
Откроем файл для редактирования:
В этом примере я указал статический IP адрес, маску подсети, шлюз и несколько DNS серверов. Включаем автозапуск интерфейса:
ONBOOT=”yes”
После всех модификаций, нужно выполнить рестарт сервиса network. Если все в порядке, вы получите такой листинг:
Restarting network (via systemctl):
Также можно просто перезапустить все профили подключений :
Получение динамического IP адреса для интерфейса через DHCP
Если ваш сервер должен получить IP адрес от DHCP севера, откройте конфигурационный файл интерфейса и измените настройки:
То есть мы убрали все настройки, связанные с IP-адресами и маской, а так же поменяли способ назначения IP-адреcа на dhcp (BOOTPROTO=”dhcp”). После всех изменений, не забываем выполнять перезагрузку network.
Description
ntp — The NTP daemon and utilities
Property | Value |
---|---|
Operating system | Linux |
Distribution | CentOS 7 |
Repository |
CentOS x86_64 Official |
Package filename | ntp-4.2.6p5-29.el7.centos.x86_64.rpm |
Package name | ntp |
Package version | 4.2.6p5 |
Package release | 29.el7.centos |
Package architecture | x86_64 |
Package type | rpm |
Homepage | http://www.ntp.org |
License | (MIT and BSD and BSD with advertising) and GPLv2 |
Maintainer | — |
Download size | 548.31 KB |
Installed size | 1.37 MB |
Category | System Environment/Daemons |
The Network Time Protocol (NTP) is used to synchronize a computer's time with another reference time source. This package includes ntpd (a daemon which continuously adjusts system time) and utilities used to query and configure the ntpd daemon. Perl scripts ntp-wait and ntptrace are in the ntp-perl package, ntpdate is in the ntpdate package and sntp is in the sntp package. The documentation is in the ntp-doc package.
Настройка NTP
Открываем файл с настройками:
vi /etc/ntp.conf
Настраиваем серверы, с которых наш NTP будет брать эталонное время. Например:
pool ru.pool.ntp.org iburst
server ntp2.vniiftri.ru iburst prefer
pool 0.ubuntu.pool.ntp.org iburst
pool 1.ubuntu.pool.ntp.org iburst
server 127.127.1.0
* iburst — отправлять несколько пакетов (повышает точность); ru.pool.ntp.org / 0.ubuntu.pool.ntp.org / 1.ubuntu.pool.ntp.org — адреса серверов, с которыми наш сервер будет сверять время; server — указывает на выполнение синхронизации с сервером, а не пулом серверов; prefer — указывает на предпочитаемый сервер. server 127.127.1.0 — позволит в случае отказа сети Интернет брать время из своих системных часов.
Настраиваем безопасность:
restrict default kod notrap nomodify nopeer noquery
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
restrict 127.0.0.1
restrict ::1
* где:
- restrict default — задает значение по умолчанию для всех рестриктов.
- kod — узлам, которые часто отправляют запросы сначала отправить поцелуй смерти (kiss of death), затем отключить от сервера.
- notrap — не принимать управляющие команды.
- nomodify — запрещает команды, которые могут вносить изменения состояния.
- nopeer — не синхронизироваться с хостом.
- noquery — не принимать запросы.
- restrict 192.168.0.0 mask 255.255.255.0 — разрешить синхронизацию для узлов в сети 192.168.0.0/24.
- IP адреса 127.0.0.1 и ::1 позволяют обмен данные серверу с самим собой.
Настройки по умолчанию могут быть разные для IPv4 и IPv6:
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
Перезапускаем сервис:
systemctl restart ntp || service restart ntp
Если используется брандмауэр, добавляем правило:
iptables -I INPUT 1 -p udp —dport 123 -j ACCEPT
или с помощью ufw:
ufw allow in on enp2s0 to any port 123 proto udp
* где enp2s0 — сетевой интерфейс, на котором слушает наш сервер.
Настройка SSH в CentOS 7
Дальше внесем некоторые изменения в работу ssh для увеличения безопасности. По-умолчанию, сервис работает на 22 порту и если все оставить как есть, то мы получим огромное количество попыток авторизоваться. Боты сканят непрерывно интернет и подбирают пароли к ssh. Чтобы обезопасить себя от сканов простых ботов, изменим порт, на котором работает ssh. Можно выбрать любой пятизначный номер, это не принципиально. От автоматического сканирования это защитит. Повесим демон ssh на 25333 порт. Для этого редактируем файл /etc/ssh/sshd_config
# mcedit /etc/ssh/sshd_config
1 | # 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
1 | $IPT-AINPUT-i$WAN-ptcp—dport22-jACCEPT |
22 на 25333 и исполняем файл. Наше текущее соединение не оборвется, так как оно уже установлено, но заново подключиться по ssh к 22 порту уже н получится.
Перезапускаем sshd:
# systemctl restart sshd
1 | # 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
1 |
# netstat -tulpn | grep sshd tcp0.0.0.0253330.0.0.0*LISTEN1799sshd tcp6::25333::*LISTEN1799sshd |
Если вывод такой же как у меня, то все в порядке, теперь к ssh можно подключаться по 25333 порту.
Step 3 — Configuring NTP to Join the Pool
To use your server with the NTP pool, and configure your new time servers, you’ll need to make some modifications to your NTP daemon’s configuration. To do so, edit the file:
First, make sure a driftfile is configured. A driftfile stores the frequency offset between the system clock running at its nominal frequency, and the frequency required to remain in synchronization with correct time. It helps to achieve a stable and accurate time. You should find this at the top of your configuration file on a default installation:
/etc/ntp.conf
Next, remove the default time source entries from the configuration. You’re looking for all lines which are of the pattern . If you’re using a default configuration, remove the highlighted lines as shown in the following example:
/etc/ntp.conf
Replace the lines you removed with the hand-picked servers you selected in the previous step.
/etc/ntp.conf
We use the option for each servers, per the NTP Pool recommendations. That way, if the server is unreachable, this will send a burst of eight packets instead of the usual one packet. Using the option in the NTP Pool Project is considered abuse as it will send those eight packets every poll interval, whereas sends the eight packets only the first time.
Next, make sure the default configuration does not allow management queries. If you don’t, your server could be used in NTP reflection attacks, or could be vulnerable to and queries that attempt to modify the state of the server. Check that the option is added to the default lines. Also make sure you add the options and as they restrict too eagerly asking clients and enforce rate limiting.
/etc/ntp.conf
You can find more information about the other options in the .
Your NTP daemon configuration file now should look like the following, although your file may have additional comments, which you can safely disregard:
/etc/ntp.conf
Save the file and exit the editor.
Now restart the NTP service and let your time server synchronize its clock to the upstream servers.
After a few minutes, check the health of your time server with the command:
The output should look similar to this:
The remote column tells you the hostname of the servers the NTP daemon is using, and the refid column tells you the source the servers are using. So for Stratum 1 servers, the refid field should show GPS, PPS, ACTS, or PTB, and Stratum 2 and higher servers will show the IP address of the upstream server. The st column shows the stratum, and delay, offset and jitter tell you about the quality of the time source. Lower values are better for these three fields.
Your time server is now able to serve time to the public. You can verify this by calling from another host:
The output should look similar to this and it tells you it adjusted the time server and the offset:
You are now ready to register your NTP server with the NTP Pool Project so others can use it.
Использование ip
Синтаксис ip по структуре напоминает синтаксис Cisco IOS. Любые опции могут быть сокращены до потери двусмысленности, например ip ro ad вместо ip route add.
Назначить маршрут по умолчанию
1 |
ip route add defaultvia192.168.1.1
|
Действия с маршрутами
Кроме add также поддерживаются и другие действия:
del — удалить маршрут.
replace — заменить маршрут другим.
change — изменить параметры маршрута.
Equal Cost Multi Path
Если добавить два маршрута до одной и той же сети с одинаковой метрикой, ядро начнет распределять нагрузку между ними путем выбора того или другого с равной вероятностью. Работает и для более чем двух маршрутов. Предупреждение: это может вызвать проблемы со входящими соединениями, потому что иногда ответ может пойти по другому маршруту, чем пришел запрос. Будьте осторожны.
1 |
ip route add defaultdev eth0 ip route add defaultdev eth1
|
Установка и настройка NTP-сервера на Centos
Ноябрь 6th, 2013 Evgeniy Kamenev
Установка и настройка NTP-сервера на Centos
Настройка синхронизации времени состоит из нескольких шагов
1.Корректно установить временную зону для сервера,
2.Установить ntpd
3.Выполнить первоначальную синхронизацию с сервером времени (ntpdate)
4.Запустить ntpd
5.Добавить ntpd в нужный runlevel
6.Проверить синхронизацию
7.Проверка статуса синхронизации(со временем,енмного позже)
1. Установка таймзоны
Проверить, какая таймзона установлена, можно командой date
# date
Пнд Апр 15 14:45:59 EEST 2013
Список таймзон можно найти в директории /usr/share/zoneinfo/
Для установки нужной таймзоны можно использовать следующие команды
Удаляем текущуюrm -rf /etc/localtime
Создаем симлинк на нужную (к примеру, для Киева)ln -s /usr/share/zoneinfo/Europe/Kiev /etc/localtime
date
2.Устанавливаем ntpdyum install ntp
cp /etc/ntp.conf /etc/ntp.conf~
3.После чего синхронизируем время с серверами времени в интернет
ntpdate pool.ntp.org
4./etc/init.d/ntpd start
5.chkconfig —level 2345 ntpd on
6.Проверка синхронизации
# ntpq —p
remote refid st t when poll reach delay offset jitter
==============================================================================
*ns.campus-rv.ne 62.149.0.30 2 u 13 64 377 35.575 26.229 5.850
alpha.lvivlan.n .GPS. 1 u 11 64 7 37.583 28.939 2.061
+193.27.209.211 193.27.209.1 2 u 8 64 377 37.150 16.762 7.331
LOCAL(0) .LOCL. 10 l 14 64 377 0.000 0.000 0.001
7.Статус синхронизации можно проверить через некоторое время с помощью утилиты ntpstat :
# ntpstat
synchronised to NTP server (193.27.209.1) at stratum 2
time correct to within 238 ms
polling server every 64 s
Описание параметров
В появившейся таблице мы видим сервера с которыми синхронизирован наш ntpd.
remote
Имя удаленного NTP-сервера.
refid Указывает, откуда каждый сервер получает время в данный момент. st Stratum это число от 1 до 16, указывающее на точность сервера. Единица означает максимальную точность, 16 — сервер недоступен. Уровень вашего сервера будет равен уровню наименее точного удаленного сервера плюс 1.
poll Интервал между опросами (в секундах). Значение будет изменяться между минимальной и максимальной частотой опросов. В начале интервал будет небольшим, чтобы синхронизация происходила быстро. После того как часы синхронизируются, интервал начинает увеличиваться, чтобы уменьшить трафик и нагрузку на популярные сервера времени.
reach Восьмеричное представление массива из 8 бит, отражающего результаты последних восьми попыток соединения с сервером. Бит выставлен, если удаленный сервер ответил.
delay Количество времени (в секундах) необходимого для получения ответа на запрос «который час? «.
offset Наиболее важное поле. Разница между временем локального и удаленного серверов
В ходе синхронизации это значение должно понижаться, указывая на то, что часы локальной машины идут все точнее.
jitter Дисперсия (Jitter) — это мера статистических отклонений от значения смещения (поле offset) по нескольким успешным парам запрос-ответ. Меньшее значение дисперсии предпочтительнее, поскольку позволяет точнее синхронизировать время.
Значение знаков перед именами серверов
— Означает, что локальный сервис NTP не предпочитает этот сервер + Означает, что локальный сервис NTP предпочитает этот сервер x Отмечает плохой хост * Указывает на текущий наиболее предпочтительный сервер
Полезное дополнение
Чтобы просмотреть время в Linux достаточно набрать команду:
date
После чего нам будет показаны текущий день недели, месяц, время и год.
Сбт Фев 13 02:09:28 EET 2010
Установить вручную дату и время можно с помощью этой же команды —
date MMDDhhmm
Где MM – месяц, DD – день, hh – час, mm – минуты.
Т.Е. чтобы задать к примеру 10 января 10 часов 15 минут, нужно ввести следующее:
Date 01101015
Более подробно о команде date, можно почитать в мануале
man date
1. http://www.h1host.ru/blog/index.php?pid=1&theme=2&blog_id=17
2.http://centos.moy.su/news/data_i_vremja_v_centos/2010-02-13-6
3.http://blog.ckvhost.com/nastrojka-sinxronizacii-vremeni-s-pomoshhyu-ntp-v-centos/
4. http://xaxatyxa.ru/_centos/ntp-sinhronizatsiya-vremeni-centos.html
Опубликовано в рубрике Centos, Other Метки: NTP
Files
Path |
---|
/etc/ntp.conf |
/etc/dhcp/dhclient.d/ntp.sh |
/etc/ntp/crypto/pw |
/etc/sysconfig/ntpd |
/usr/bin/ntpstat |
/usr/lib/systemd/ntp-units.d/60-ntpd.list |
/usr/lib/systemd/system/ntpd.service |
/usr/sbin/ntp-keygen |
/usr/sbin/ntpd |
/usr/sbin/ntpdc |
/usr/sbin/ntpq |
/usr/sbin/ntptime |
/usr/sbin/tickadj |
/usr/share/doc/ntp-4.2.6p5/COPYRIGHT |
/usr/share/doc/ntp-4.2.6p5/ChangeLog |
/usr/share/doc/ntp-4.2.6p5/NEWS |
/usr/share/man/man1/ntpstat.1.gz |
/usr/share/man/man5/ntp.conf.5.gz |
/usr/share/man/man5/ntp_acc.5.gz |
/usr/share/man/man5/ntp_auth.5.gz |
/usr/share/man/man5/ntp_clock.5.gz |
/usr/share/man/man5/ntp_decode.5.gz |
/usr/share/man/man5/ntp_misc.5.gz |
/usr/share/man/man5/ntp_mon.5.gz |
/usr/share/man/man8/ntp-keygen.8.gz |
/usr/share/man/man8/ntpd.8.gz |
/usr/share/man/man8/ntpdc.8.gz |
/usr/share/man/man8/ntpq.8.gz |
/usr/share/man/man8/ntptime.8.gz |
/usr/share/man/man8/tickadj.8.gz |
/var/lib/ntp/drift |
/var/log/ntpstats/ |
Сохранение настроек сети
Определяем, какие интерфейсы есть в системе
ip a
1 |
1lo<LOOPBACK,UP,LOWER_UP>mtu65536qdisc noqueue state UNKNOWN linkloopback000000000000brd000000000000 inet127.0.0.18scope host lo 2eth0<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdisc pfifo_fast state UP qlen1000 linkether001517185fd8 brd ffffffffffff inet10.15.0.128brd91.241.22.15scope globaleth0 3eth1<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdisc pfifo_fast state UP qlen1000 linkether001517185fd9 brd ffffffffffff inet192.168.11.10124brd192.168.11.255scope globaleth1 inet10.49.0.18brd10.255.255.255scope globaleth13 inet192.168.70.1624brd192.168.70.255scope globaleth11 4gre0<NOARP>mtu1476qdisc noop state DOWN linkgre0.0.0.0brd0.0.0.0 5gretap0<BROADCAST,MULTICAST>mtu1476qdisc noop state DOWN qlen1000 linkether000000000000brd ffffffffffff 6eth1.122@eth1<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdisc noqueue state UP linkether001517185fd9 brd ffffffffffff inet192.168.123.25423brd192.168.123.255scope globaleth1.122
|
Сохраняем настройки
Для сохранение я настроек необходимо внести изменения я конфигурационный файл интерфейса, который находиться /etc/sysconfig/network-scripts/ifcfg-eth0 и приводим его к виду:
1 |
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 |
service network restart
|
или так
1 |
etcinit.dnetwork restart
|
Настройка брандмауэра
Рассмотрим настройку фаервола при помощи двух различных популярных утилит — firewalld и iptables.
Firewalld
Настройка выполняется для двух сетевых интерфейсов — ens32 (внутренний) и ens34 (внешний):
firewall-cmd —direct —permanent —add-rule ipv4 nat POSTROUTING 0 -o ens34 -j MASQUERADE
firewall-cmd —direct —permanent —add-rule ipv4 filter FORWARD 0 -i ens32 -o ens34 -j ACCEPT
firewall-cmd —direct —permanent —add-rule ipv4 filter FORWARD 0 -i ens34 -o ens32 -m state —state RELATED,ESTABLISHED -j ACCEPT
systemctl restart firewalld
Iptables
Настройка выполняется из расчета, что внутренняя сеть имеет адресацию 192.168.0.0/24:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
/usr/libexec/iptables/iptables.init save
systemctl restart iptables
Как отключить IPv6 в CentOS?
На время написания статьи активного использования ipv6 в России нет, да и зачастую если таковая возможность имеется, администраторы предпочитают протокол ipv4. Поэтому если вы все же не используете данный протокол, его нужно отключить на сервере. Если вы точно уверены, что ни один из сервисов не настроен под работу с ipv6, можете сразу перейти к настройке сетевого интерфейса, если же нет, то начните с проверки. Нам нужно проверить, какие сервисы используют ipv6 и отключить данный протокол в конфигурации сервиса. Запустим команду:
У меня сервер тестовый, поэтому ipv6 используется только для sshd и cronyd. Это можно определить по “:::”.
Чтобы не возникало проблем после отключения ipv6 в конфигурации сети, отключите данный протокол в сервисах, в которых они используются на вашем сервере. Например для sshd, нужно открыть конфигурационный файл:
И раскомментируйте строки:
#AddressFamily any #ListenAddress 0.0.0.0
После чего перезапустите сервис:
Как видим, для sshd протокол ipv6 теперь недоступен. Проделайте аналогичные настройки со всеми сервисами.
Перейдем к отключению протокола ipv6 в настройках сети. Откройте файл /etc/sysctl.conf:
И добавьте туда следующие строки:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
Сохраните файл и примените через:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
Перейдем к файлу /etc/sysconfig/network. Добавьте в него следующую конфигурацию:
NETWORKING_IPV6=no IPV6INIT=no
Из файла конфигурации сетевого интерфейса /etc/sysconfig/network-scripts/ifcfg-eth0 удалите строку:
IPV6INIT="yes"
И наконец добавим запрет на работу ipv6 в grub:
В конец строки GRUB_CMDLINE_LINUX, добавляем:
ipv6.disable=1
После всех настроек, сохраните файл и обновите grub:
Выполните перезагрузку сервера и проверьте конфигурацию сети:
eth0: flags=4163 mtu 1500 inet 185.*.*.* netmask 255.255.255.0 broadcast 185.*.*.255 ether 52:54:00:d3:1c:3e txqueuelen 1000 (Ethernet) RX packets 10068 bytes 613092 (598.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 32 bytes 5399 (5.2 KiB) 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 1000 (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
Протокол ipv6 на сервере отключен.
Prerequisites
Before anything else, you need to assign the correct time zone.
To get the current configuration, type:
# timedatectl Local time: Sat 2015-11-07 08:17:33 EST Universal time: Sat 2015-11-07 13:17:33 UTC RTC time: Sat 2015-11-07 13:17:33 Timezone: America/New_York (EST, -0500) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: no Last DST change: DST ended at Sun 2015-11-01 01:59:59 EDT Sun 2015-11-01 01:00:00 EST Next DST change: DST begins (the clock jumps one hour forward) at Sun 2016-03-13 01:59:59 EST Sun 2016-03-13 03:00:00 EDT
To get the list of all the available time zones, type:
# timedatectl list-timezones Africa/Abidjan Africa/Accra Africa/Addis_Ababa ... America/La_Paz America/Lima America/Los_Angeles ... Asia/Seoul Asia/Shanghai Asia/Singapore ... Pacific/Tongatapu Pacific/Wake Pacific/Wallis
Finally, to set a specific time zone (here America/Los_Angeles), type:
# timedatectl set-timezone America/Los_Angeles
Then, to check your new configuration, type:
# timedatectl Local time: Sat 2015-11-07 05:32:43 PST Universal time: Sat 2015-11-07 13:32:43 UTC RTC time: Sat 2015-11-07 13:32:43 Timezone: America/Los_Angeles (PST, -0800) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: no Last DST change: DST ended at Sun 2015-11-01 01:59:59 PDT Sun 2015-11-01 01:00:00 PST Next DST change: DST begins (the clock jumps one hour forward) at Sun 2016-03-13 01:59:59 PST Sun 2016-03-13 03:00:00 PDT