Введение
Наверняка всем известно, что правильно настроенное время – это важная и неотъемлемая часть, которую необходимо выполнять при первоначальной настройке сервера. В противном случае можно столкнуться с проблемами. Например, когда в логах разное время, или же когда не может пройти аутентификация в приложении из-за разницы времени на сервере и клиенте всего в одну секунду. На самом деле список проблем может быть куда больше.
Чтобы избежать всякого рода проблем, необходимо разобраться, как правильно настраивается время на сервере с Linux.
В качестве сервера, на котором выполняется всё нижеописанное, будет Centos 7. Также подойдет любой другой дистрибутив Linux.
Как узнать свой ip-адрес
Чтобы узнать ip-адрес системы можно выполнить следующие команды:
ifconfig | grep inet inet addr:93.170.169.118 Bcast:93.170.169.255 Mask:255.255.254.0 inet6 addr: fe80::5054:ff:fe8b:f117/64 Scope:Link inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host ip addr | grep inet inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host inet 93.170.169.118/23 brd 93.170.169.255 scope global ens3 inet6 fe80::5054:ff:fe8b:f117/64 scope link
На данный момент команда ifconfig является хоть и устаревшей, но еще работающей командой (В CentOS требуется установить пакет net-tools). Начиная с ядра версии 2.2 ей на смену пришел пакет iproute2, состоящий из утилит: ip, tc, ss.
Часто задаваемые вопросы по теме статьи (FAQ)
Стоит ли удалять NetworkManager?
Все зависит от конкретной ситуации. Я чаще всего удаляю, потому что мне его функционал не нужен. В подавляющем большинстве случаев, я настраиваю сеть в centos один раз во время установки сервера. Какой мне смысл оставлять NM в системе и постоянно его обновлять? Тем не менее Redhat настоятельно рекомендует использовать NetworkManager для настройки сети и в этом есть определенный смысл. К примеру, если вы будете проходить сертификацию, то вам 100% нужен будет этот инструмент, так как с его помощью можно быстрее настроить сеть и вероятность ошибки будет минимальной. Так что решайте сами по месту, нужен вам Network Manager или нет.
Есть ли разница в том, как настраивать hostname, через правку файла или команду hostnamectl?
Принципиальной разницы нет. Результат будет один и тот же.
Как настроить proxy в centos?
Централизованно для всей системы настроить proxy не получится. Для каждой службы нужно это делать отдельно — yum или dnf, браузер и т.д.
Нужно ли отключать ipv6 в системе?
Я реализую такой подход в настройке системы — отключать все, что не используется. Это повышает надежность и безопасность системы. Поэтому если вы не используете ipv6 в работе, рекомендую его отключить.
Использование сетевых утилит traceroute, dig в CentOS
Для диагностики сетевых подключений в CentOS полезно использовать специальные утилиты. Но если вы использовали установку minimal, то их скорее всего в системе не будет. К примеру, популярная утилита traceroute
при попытке ее запуска выдаст сообщение:
# traceroute ya.ru
bash: traceroute: command not found
Ее нужно установить отдельно из репозитория:
# yum -y install traceroute
То же самое с популярной программой dig
для работы с dns серверами и записями:
# dig ya.ru
bash: dig: command not found
Чтобы эта сетевая утилита заработала, необходимо установить пакет bind-utils
:
# yum -y install bind-utils
Установка и настройка chrony в качестве сервера
Установка проста и пакет chrony версии 3.4 доступен из базового репозитория:
Конфигурационный файл располагается по пути /etc/chrony.conf. Минимально рабочий конфиг
- В поле server указываются вышестоящие серверы времени, с которыми необходимо производить синхронизацию. Здесь предпочтительнее указать близлежащие серверы. Например, серверы провайдера или же публичные серверы проекта pool.ntp.org более близкого региона. Последний вариант как раз и используется в данном случае – серверы расположены в РФ.
- директива allow указывает подсети, которые могут запрашивать время для синхронизации
- директива driftfile задает путь до файла, в котором располагаются данные с историей изменения времени. Это необходимо на тот случай, если вышестоящие серверы времени станут недоступны. Тогда системные часы будут брать значения как раз-таки из driftfile.
- local stratum 10. Серверы NTP работают на основе иерархии. Это и есть stratum. Уровень stratum 0 – это максимально точные часы (атомные или GPS, например). Серверы stratum 1 – это серверы, синхронизирующие своё время с серверами stratum 0. А серверы stratum 2 синхронизируются с серверами со stratum 2. Ну, и так далее до 15. Обычно указывается значение stratum 10.
- makestep 1.0 3. Метод корректировки системных часов, когда разница разница очень большая и время корректировки может быть достаточно долгим. Для этого данная директива позволяет изменять часы, если превышено пороговое значение в 1 секунду. Но только в том случае, если с момента запуска демона не было больше обновлений времени, чем указанный предел, т.е. синхронизация была выполнена всего 3 раза.
- директива rtcsync информирует ядро ОС о том, что системные часы синхронизированы, и ядро будет обновлять часы реального времени (RTC) каждые 11 минут.
- logdir /var/log/chrony – путь до логов, можно не указывать. Все логи будут попадать в /var/log/messages.
Теперь, когда минимально рабочий конфиг подготовлен, можно запускать демона chronyd. Так же отключается ntpd, если используется:
На сервере должен быть настроен firewall, чтобы пропускать UDP-трафик от клиентов.
Create Zones
Edit /etc/named.conf.
vi /etc/named.conf
Forward Zone
The following zone is the forward zone entry for the itzgeek.local domain.
zone "itzgeek.local" IN { type master; file "/var/named/itzgeek.local.db"; allow-update { none; }; };
itzgeek.local – Domain namemaster – Primary DNSfwd.itzgeek.local.db – Forward lookup fileallow-update – Since this is the primary DNS, it should be none
Reverse Zone
The following zone is the reverse zone entry.
zone "0.168.192.in-addr.arpa" IN { type master; file "/var/named/192.168.0.db"; allow-update { none; }; };
0.168.192.in-addr.arpa – Reverse lookup namemaster – Primary DNS192.168.0.db – Reverse lookup fileallow-update – Since this is the primary DNS, it should be none
Настройка сети в GUI с помощью Network Manager
На данный момент самый удобный инструмент для настройки сети в графическом интерфейсе, здесь поддерживается не только конфигурация проводного соединения, но и работа с Wifi и даже создание точки доступа. Вы можете воспользоваться апплетом на панели инструментов.
Или откройте «Параметры системы» затем пункт сеть. Для настройки сетевого подключения по протоколу Ethernet (проводное) выберите пункт «Проводные» и переключите выключатель в положение On:
Если провод подключен, и вы собираетесь использовать DHCP то подключение настроится автоматически.
Настройка статического IP адреса
Если нужно настроить статический IP адрес, то тут ситуация немного сложнее. Нажмите небольшую кнопку со значком шестеренки:
Затем перейдите в раздел IPv4. Затем нужно указать несколько полей, которые обычно система получает по протоколу DHCP, но поскольку вы хотите настраивать IP адрес вручную, то и все остальное тоже нужно настроить вручную. Первым делом необходимо в поле «Адреса» выбрать вместо «Автоматически DHCP», «Вручную».
Затем нам нужно указать ряд параметров. В предыдущем разделе мы подробно рассмотрели каждый из них, зачем они нужны и какие значения указать. Например, установим IP адрес 192.168.1.4, тогда маска сети будет 255.255.255.0 и, допустим, что IP адрес нашего маршрутизатора, подключенного к внешней сети будет 192.168.1.1:
Готово. Вам осталось сохранить настройки и перезапустить подключение. Дальше все будет работать так, как вы настроили, если, конечно, все было настроено правильно. Избегайте использования уже занятых IP адресов и обязательно укажите правильный шлюз.
Configure DNS Clients
Before all of your servers in the “trusted” ACL can query your DNS servers, you must configure each of them to use ns1 and ns2 as nameservers. This process varies depending on OS, but for most Linux distributions it involves adding your name servers to the file.
CentOS Clients
On CentOS, RedHat, and Fedora Linux VPS, simply edit the file:
Then add the following lines to the TOP of the file (substitute your private domain, and ns1 and ns2 private IP addresses):
/etc/resolv.conf
Now save and exit. Your client is now configured to use your DNS servers.
Ubuntu Clients
On Ubuntu and Debian Linux VPS, you can edit the file, which is prepended to on boot:
Add the following lines to the file (substitute your private domain, and ns1 and ns2 private IP addresses):
/etc/resolvconf/resolv.conf.d/head
Now run to generate a new file:
Your client is now configured to use your DNS servers.
Очистка DNS-записей
15. Чтобы проверить, был ли определенный адрес разрешен нашими серверами пересылки на сервере Unbound cache, используйте команду ниже.
# unbound-control lookup google.com
Проверьте поиск DNS
16. Иногда, если наш сервер кэширования DNS не отвечает на наш запрос, в то же время мы можем использовать его для очистки кэша для удаления таких записей, как записи A, AAA, NS, SO, CNAME, MX, PTR и т. Д. Из кэша DNS., Мы можем удалить всю информацию, используя flush_zone, это удалит всю информацию.
# unbound-control flush www.digitalocean.com # unbound-control flush_zone tecmintlocal.com
17. Проверить, какие форварды в настоящее время используются для разрешения.
# unbound-control list_forwards
Проверьте текущие пересылки DNS
Как получить сетевые настройки по DHCP
Теперь рассмотрим обратную ситуацию. Допустим, у вас сетевая карта имеет какие-то настройки, установленные вручную. Но вы хотите, чтобы ваш компьютер получал настройки сети по dhcp в качестве клиента. Для этого вам нужно произвести операцию, обратную той, что мы делали раньше. То есть открываем файл /etc/sysconfig/network-scripts/ifcfg-eth0 и удаляем там строки с параметрами DNS, IPADDR, PREFIX, GATEWAY а в параметре BOOTPROTO указываем значение «dhcp»
. Сохраняем файл и перезапускаем сеть:
# /etc/init.d/network restart
Затем проверяем, получил ли наш client по dhcp настройки.
Что делать, если CentOS не видит сетевую карту?
Вы установили сервер, загрузились и обнаружили, что в системе нет ни одной сетевой карты. Что в таком случае делать? Первым делом посмотрите вывод команды dmesg и поищите там поминание о своей карте. Возможно, она в системе есть, просто не активирована. Активировать ее можно с помощью nmtui
, а котором я рассказывал выше.
Там есть пункт меню Activate connection
, нужно в него зайти и активировать вашу сетевую карту. После этого ее можно будет настраивать.
Если же вашей сетевой карты нет в системе, то нужно поискать в интернете по модели информацию об этой сетевой карте. Возможно в репозиториях будут драйвера для нее. Это достаточно распространенная ситуация. Чаще всего драйвера найдутся и их необходимо будет правильно установить.
Есть еще вероятность, что вы не увидите своей карточки при выводе команды ifconfig, если в эту карту не воткнут сетевой провод. Чтобы наверняка посмотреть все интерфейсы, необходимо использовать ключ -a:
# ifconfig -a
Есть еще один способ поискать сетевую карту в системе. Установите пакет pciutils
:
# yum -y install pciutils
И посмотрите вывод команды:
# lspci | grep Ethernet
Если сетевая карта видится системой, то должно быть что-то в этом роде:
02:00.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)
Если в выводе пусто, значит сетевая карта не определена.
Зоны bind
Для возможности искать соответствия в собственной базе доменов, необходимо создать и настроить зоны. Существуют следующие типы зон:
- Первичная, она же master, она же локальная. База, которая пополняется и редактируется на текущем сервере. Подробнее как настроить первичную зону bind .
- Вторичная или slave. База копирует настройки с первичной зоны на другом сервере. Подробнее как настроить вторичную зону bind .
- Заглушка или stub. Хранит у себя только записи NS, по которым все запросы переводятся на соответствующие NS-серверы.
- Кэширующая или hint. Не хранит на сетбе никаких записей — только результаты уже обработанных запросов для ускорения ответов на повторные обращения.
Настройка сети через консоль с помощью 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 для нашего интерфейса:
Укажите свои значения и сохраните настройки. Для перезагрузки сети используйте команду:
Затем вам останется проверить работу сети. Если все было сделано правильно сеть будет работать.
Как изменить hostname в CentOS 7
По-умолчанию, во время установки CentOS ставит имя хоста localhost.localdomain
. Если вы его не поменяли, то можно это сделать позже. Для начала давайте проверим, какое имя хоста у вас установлено. Делается это с помощью команды в консоли hostname
, либо с помощью uname
:
# hostname
localhost.localdomain
# uname -n
localhost.localdomain
Для того, чтобы изменить имя хоста в CentOS, необходимо отредактировать файл /etc/hostname
. Проверим его содержимое:
# cat /etc/hostname
localhost.localdomain
Отредактируем этот файл, чтобы изменить hostname:
# mcedit /etc/hostname
centos.localhost
Сохраняем файл и проверяем:
# hostname
centos.localhost
Есть готовая команда, которая сразу устанавливает необходимое имя сервера:
# hostnamectl set-hostname centos.localhost
Все в порядке, мы изменили имя хоста на centos.localhost
Базовая настройка ДНС сервера BIND
В данном примере мы будем настраивать на ДНС сервере BIND зону remoteshaman.com, потому в Вашем случае поменяете remoteshaman.com на своё доменное имя. Подправим /etc/named.conf до нужной кондиции предварительно сохранив его копию:
$ cp etcnamed.conf etcnamed.conf.bak $ vi etcnamed.conf // // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See usrsharedocbind*/sample for example named configuration files. // options { listen-on port 53 { localhost; 93.170.128.114; }; #listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; allow-transfer { none; }; recursion no; version "Go away!"; additional-from-auth no; additional-from-cache no; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; zone "remoteshaman.com" IN { type master; file "zone/remoteshaman.com.zone"; allow-update { none; }; };
В конце основного файла конфигурации /etc/named.conf мы добавили секцию «», в которой указали имя файла содержащего ресурсные ДНС записи о нашей зоне remoteshaman.com.
Обычно файлы зон сваливают прямо в каталог /var/named, что на мой взгляд как не эстетично, так и не практично — для зон мы создадим отдельный каталог /var/named/zone. Файл зоны «remoteshaman.com.zone» BIND будет искать в директории /var/named/zone, в которой мы его сейчас и создадим:
$ mkdir varnamedzone $ chown named:named varnamedzone $ chmod 0750 varnamedzone $ vi varnamedzoneremoteshaman.com.zone $ORIGIN remoteshaman.com. $TTL 3d @ IN SOA ns1.remoteshaman.com. www.remoteshaman.com.yandex.ru. ( 1458462568 ; serial 1d ; refresh after 1 day 2h ; retry after 2 hour 4w ; expire after 4 week 1d ; minimum TTL of 1 day ) @ 86400 IN NS ns1.remoteshaman.com. @ 259200 IN MX 10 mx.yandex.net. @ 3600 IN SPF "v=spf1 redirect=_spf.yandex.net" @ 259200 IN TXT google-site-verification=jr5WMEnS1hBd6ZgyT0HRwNpVbWMgDy9KgDdsbsse-Eo remoteshaman.com. 259200 IN A 93.170.128.114 ns1.remoteshaman.com. 259200 IN A 93.170.128.114 www.remoteshaman.com. 259200 IN CNAME remoteshaman.com.
Проверяем файл нашей зоны и если всё «OK», то мы должны получить примерно такой вот результат:
$ named-checkzone remoteshaman.com varnamedzoneremoteshaman.com.zone zone remoteshaman.comIN: loaded serial 1458462568 OK $ service named start $ service named status version: 9.10.2 (Go away!) <id:53e49fb5> boot time: Fri, 25 Mar 2016 05:28:17 GMT last configured: Fri, 25 Mar 2016 06:30:11 GMT CPUs found: 1 worker threads: 1 UDP listeners per interface: 1 number of zones: 9 debug level: xfers running: xfers deferred: soa queries in progress: query logging is OFF recursive clients: 1000 tcp clients: 100 server is up and running named (pid 13289) is running...
Проверяем работу нашего ДНС сервера:
$ nslookup remoteshaman.com 93.170.128.114 Server: 93.170.128.114 Address: 93.170.128.114#53 Name: remoteshaman.com Address: 93.170.128.114
Если при «ресолве» мы получаем ошибку:
$ nslookup www.remoteshaman.com 93.170.128.114 Server: 93.170.128.114 Address: 93.170.128.114#53 ** server can't find www.remoteshaman.com: NXDOMAIN
значит в конце CNAME записи забыли поставить точку.
примеры файлов
Пример файла /etc/sysconfig/network-scripts/ifcfg-eth0:
# название устройства:
DEVICE=»eth0″
# в случае, если IP получаем автоматически:
#BOOTPROTO=»dhcp»
# статический IP:
BOOTPROTO=»none»
# MAC адрес сетевой карты (в этом случае привязка к MAC адресу, а не к положению в слоте и т.п.):
HWADDR=»00:00:00:00:00:00″
NM_CONTROLLED=»yes»
# инициализировать при загрузке (иначен нужен ifup):
ONBOOT=»yes»
TYPE=»Ethernet»
UUID=»ffffffff-ffff-ffff-ffff-ffffffffffff»
IPADDR=192.168.1.3
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
Пример файла /etc/sysconfig/network-scripts/route-eth0:
192.168.5.50/24 via 192.168.0.2 dev eth0
Пример файла /etc/resolv.conf:
nameserver=192.168.1.5
nameserver=192.168.1.7
domain=mydomain.ru
System config network tui в CentOS 7
Для управления сетевыми настройками в CentOS можно воспользоваться графической утилитой nmtui. Проверить ее наличие в системе очень просто. Достаточно запустить ее в консоли:
# nmtui
Если она у вас не установлена, то исправить это очень просто. Устанавливаем в CentOS system config network tui:
# yum install NetworkManager-tui
С помощью tui можно указать любые сетевые настройки, которые мы делали раньше через командную строку и редактирование конфигурационных файлов. Давайте сделаем это. Вызываем программу:
# nmtui
Выбираем первый пункт Edit a connection, затем выбираем сетевой интерфейс и жмем «Edit»:
Здесь мы можем изменить имя сетевой карты, mac адрес, указать тип сетевых настроек — ручной или dhcp, указать вручную ip адрес, адрес шлюза, днс сервера, добавить маршруты и некоторые другие настройки:
После завершения редактирования сохраняем настройки, нажимая ОК.
Если в первом экране утилиты выбрать пункт Set System Hostname, то можно быстро указать имя хоста. Результат будет такой же, как мы делали раньше в консоли.
Как настроить 2 IP адреса на одном интерфейсе
Если у вас появилась необходимость настроить 2 IP
адреса на одном интерфейса в CentOS, то сделать это достаточно просто. Воспользуемся командой ifconfig. Для начала проверим список сетевых интерфейсов:
# ifconfig
eno16777728: flags=4163 mtu 1500
inet 192.168.159.129 netmask 255.255.255.0 broadcast 192.168.159.255
ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet)
RX packets 254 bytes 30173 (29.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 204 bytes 27658 (27.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73
Добавим к интерфейсу eno16777728 еще один ip адрес 192.168.159.120:
# ifconfig eno16777728:1 192.168.159.120 up
Проверим, что получилось:
# ifconfig
eno16777728: flags=4163 mtu 1500
inet 192.168.159.129 netmask 255.255.255.0 broadcast 192.168.159.255
ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet)
RX packets 254 bytes 30173 (29.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 204 bytes 27658 (27.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno16777728:1: flags=4163 mtu 1500
inet 192.168.159.120 netmask 255.255.255.0 broadcast 192.168.159.255
ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet)
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 0 (Local Loopback)
RX packets 11 bytes 940 (940.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11 bytes 940 (940.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Все в порядке, мы добавили второй ip адрес на один и тот же интерфейс. Но после перезагрузки дополнительный адрес не сохранится. Чтобы его сохранить, необходимо создать файл настроек интерфейса в папке /etc/sysconfig/network-scripts
# mcedit /etc/sysconfig/network-scripts/ifcfg-eno16777728:1
DEVICE=eno16777728:1
BOOTPROTO=static
IPADDR=192.168.159.120
NETMASK=255.255.255.0
ONBOOT=yes
Сохраняем файл, перезагружаемся и проверяем, что получилось. Второй ip адрес должен быть на месте.
Форвард Зоны
Затем измените серверы пересылки для нашего запрошенного запроса, не выполненного этим сервером, он перенаправит его в корневой домен ( . ) И разрешит запрос.
forward-zone: name: «.» forward-addr: 8.8.8.8 forward-addr: 8.8.4.4
Наконец, сохраните и выйдите из файла конфигурации, используя wq!,
6. После выполнения вышеуказанной конфигурации, теперь проверьте файл unbound.conf на наличие ошибок, используя следующую команду.
# unbound-checkconf /etc/unbound/unbound.conf
Проверьте настройку несвязанного DNS
7. После проверки файла без ошибок вы можете безопасно перезапустить «несвязанную» службу и включить ее при запуске системы.
# systemctl start unbound.service # sudo systemctl enable unbound.service
Запустите службу Unbound DNS
Шаг 6: Настройка DNS на стороне клиента
18. Здесь я использовал сервер CentOS 6 в качестве своего клиентского компьютера, IP-адрес для этого компьютера — 192.168.0.100, и я собираюсь использовать свой несвязанный IP-адрес DNS-сервера (т.е. первичный DNS ) в конфигурации его интерфейса.
Войдите на клиентский компьютер и установите IP-адрес основного DNS-сервера на IP-адрес нашего несвязанного сервера.
Запустите команду настройки и выберите конфигурацию сети из диспетчера сети TUI .
Затем выберите конфигурацию DNS, вставьте IP-адрес несвязанного DNS-сервера в качестве первичного DNS, но здесь я использовал как первичный, так и вторичный, потому что у меня нет другого DNS-сервера.
Основной DNS: 192.168.0.50 Дополнительный DNS: 192.168.0.50
Выберите конфигурацию сети
Выберите конфигурацию DNS
Введите DNS IP-адрес
Нажмите OK -> Сохранить и выйти -> Выйти .
19. После добавления IP-адресов первичного и вторичного DNS теперь пришло время перезагрузить сеть, используя следующую команду.
# /etc/init.d/network restart
Перезагрузите сеть
20. Теперь пришло время получить доступ к любому веб-сайту с клиентского компьютера и проверить наличие кэша на несвязанном DNS-сервере.
# elinks aol.com # dig aol.com
Проверить сайт
Сайт запроса
Выбор зон для интерфейсов
Если вы не настроили сетевые интерфейсы иным образом, каждый интерфейс будет помещен в зону по умолчанию при запуске брандмауэра.
Изменение зоны интерфейса
Для перемещения интерфейса между зонами во время сеанса следует использовать параметр в сочетании с параметром . Как и для всех остальных команд, изменяющих брандмауэр, вам потребуется использовать .
Например, интерфейс можно переместить в зону home с помощью следующей команды:
Примечание. При перемещении интерфейса в новую зону следует помнить, что это может повлиять на работоспособность служб. Например, в данном случае мы перемещаемся в зону home, в которой поддерживается SSH. Это означает, что наше соединение не должно быть отброшено. В некоторых других зонах SSH по умолчанию не поддерживается, при переходе в такую зону ваше соединение будет разорвано, и вы не сможете снова войти на сервер.
Чтобы убедиться в успешности операции мы можем снова запросить активные зоны:
Изменение зоны по умолчанию
Если все интерфейсы могут быть хорошо обработаны в одной зоне, проще всего определить наиболее подходящую зону как зону по умолчанию, а затем использовать эту зону для конфигурации.
Вы можете изменить зону по умолчанию с помощью параметра . При этом немедленно изменятся все интерфейсы, использующие зону по умолчанию:
Заключение
Теперь вы должны неплохо понимать принципы администрирования службы firewalld в системе CentOS на каждодневной основе.
Служба firewalld позволяет настраивать администрируемые правила и наборы правил, учитывающие условия вашей сетевой среды. Она позволяет легко переключаться между разными политиками брандмауэра посредством использования зон и дает администраторам возможность абстрагировать управление портами в более удобную систему определения служб. Умение работать с этой системой позволит вам воспользоваться преимуществами гибкости и функциональности данного инструмента.
Дополнительную информацию о firewalld можно найти в официальной документации по firewalld.