Поиск по сайту:

Серия RHCE: Как настроить и протестировать статическую сетевую маршрутизацию. Часть 1.


RHCE (Сертифицированный инженер Red Hat) — это сертификат компании Red Hat, который предоставляет корпоративному сообществу операционную систему и программное обеспечение с открытым исходным кодом. Он также обеспечивает обучение, поддержку и консалтинговые услуги для компаний.

Этот RHCE (Сертифицированный инженер Red Hat) представляет собой экзамен, основанный на результатах работы (кодовое имя EX300), который обладает дополнительными навыками, знаниями и способностями. требуется старшему системному администратору, ответственному за системы Red Hat Enterprise Linux (RHEL).

Важно! Для получения сертификата RHCE требуется сертификат сертифицированного системного администратора Red Hat (RHCSA).

Ниже приведены цели экзамена, основанные на версии экзамена Red Hat Enterprise Linux 7, которая будет рассмотрена в этой серии RHCE:

Чтобы просмотреть стоимость и зарегистрироваться на экзамен в вашей стране, посетите страницу сертификации RHCE.

В этой Части 1 серии RHCE и последующих мы представим основные, но типичные случаи, когда принципы статической маршрутизации, фильтрации пакетов и трансляции сетевых адресов применяются. в игру.

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

Статическая маршрутизация в Red Hat Enterprise Linux 7

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

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

Статическая маршрутизация — это процесс указания маршрута для сетевых пакетов, отличного от маршрута по умолчанию, который предоставляется сетевым устройством, известным как шлюз по умолчанию. Если не указано иное посредством статической маршрутизации, сетевые пакеты направляются на шлюз по умолчанию; при статической маршрутизации другие пути определяются на основе предопределенных критериев, таких как место назначения пакета.

Давайте определим следующий сценарий для этого урока. У нас есть компьютер Red Hat Enterprise Linux 7, подключенный к маршрутизатору #1 [192.168.0.1] для доступа к Интернету и машинам в 192.168.0.0/24.

Второй маршрутизатор (маршрутизатор №2) имеет две сетевые карты: enp0s3 также подключен к маршрутизатору №1 для доступа в Интернет и связи. с блоком RHEL 7 и другими компьютерами в той же сети, тогда как другой (enp0s8) используется для предоставления доступа к сети 10.0.0.0/24, где находятся внутренние службы. , например веб-сервер и/или сервер базы данных.

Этот сценарий проиллюстрирован на диаграмме ниже:

В этой статье мы сосредоточимся исключительно на настройке таблицы маршрутизации на нашем компьютере RHEL 7, чтобы убедиться, что он может получить доступ к Интернету как через маршрутизатор №1, так и через внутреннюю сеть. через маршрутизатор №2.

В RHEL 7 вы будете использовать команду ip для настройки и отображения устройств и маршрутизации с помощью командной строки. Эти изменения могут немедленно вступить в силу в работающей системе, но поскольку они не сохраняются после перезагрузки, мы будем использовать файлы ifcfg-enp0sX и route-enp0sX внутри /etc. /sysconfig/network-scripts, чтобы навсегда сохранить нашу конфигурацию.

Для начала давайте распечатаем нашу текущую таблицу маршрутизации:

ip route show

Из приведенного выше вывода мы можем видеть следующие факты:

  1. IP-адрес шлюза по умолчанию — 192.168.0.1, доступ к которому можно получить через сетевой адаптер enp0s3.
  2. Когда система загрузилась, она включила маршрут нулевой конфигурации на 169.254.0.0/16 (на всякий случай). Короче говоря, если машина настроена на получение IP-адреса через DHCP, но по какой-то причине не может этого сделать, ей автоматически назначается адрес в этой сети. Суть в том, что этот маршрут позволит нам взаимодействовать, в том числе через enp0s3, с другими компьютерами, которым не удалось получить IP-адрес от DHCP-сервера.
  3. И последнее, но не менее важное: мы можем общаться с другими ящиками внутри сети 192.168.0.0/24 через enp0s3, чей IP-адрес 192.168.0.18. >.

Это типичные задачи, которые вам придется выполнять в таких условиях. Если не указано иное, на маршрутизаторе №2 следует выполнить следующие задачи:

Убедитесь, что все сетевые карты установлены правильно:

ip link show

Если один из них не работает, поднимите его:

ip link set dev enp0s8 up

и присвоим ему IP-адрес в сети 10.0.0.0/24:

ip addr add 10.0.0.17 dev enp0s8

Упс! Мы допустили ошибку в IP-адресе. Нам придется удалить тот, который мы назначили ранее, а затем добавить правильный (10.0.0.18):

ip addr del 10.0.0.17 dev enp0s8
ip addr add 10.0.0.18 dev enp0s8

Обратите внимание: добавить маршрут к сети назначения можно только через шлюз, который сам уже доступен. По этой причине нам необходимо назначить IP-адрес в диапазоне 192.168.0.0/24 для enp0s3, чтобы наш блок RHEL 7 мог с ним взаимодействовать:

ip addr add 192.168.0.19 dev enp0s3

Наконец, нам нужно включить пересылку пакетов:

echo "1" > /proc/sys/net/ipv4/ip_forward

и остановите/отключите (на время — пока мы не рассмотрим фильтрацию пакетов в следующей статье) брандмауэр:

systemctl stop firewalld
systemctl disable firewalld

Вернувшись в поле RHEL 7 (192.168.0.18), давайте настроим маршрут к 10.0.0.0/24 через 192.168.0.19. (enp0s3 в маршрутизаторе №2):

ip route add 10.0.0.0/24 via 192.168.0.19

После этого таблица маршрутизации выглядит следующим образом:

ip route show

Аналогичным образом добавьте соответствующий маршрут на машинах, к которым вы пытаетесь подключиться, в 10.0.0.0/24:

ip route add 192.168.0.0/24 via 10.0.0.18

Вы можете проверить базовое соединение с помощью ping:

В поле RHEL 7 запустите

ping -c 4 10.0.0.20

где 10.0.0.20 — IP-адрес веб-сервера в сети 10.0.0.0/24.

На веб-сервере (10.0.0.20) запустите

ping -c 192.168.0.18

где 192.168.0.18 — это, как вы помните, IP-адрес нашей машины RHEL 7.

В качестве альтернативы мы можем использовать tcpdump (вам может потребоваться установить его с помощью yum install tcpdump), чтобы проверить двустороннюю связь по TCP между нашим блоком RHEL 7 и веб-сервером по адресу 10.0.0.20. .

Для этого давайте начнем регистрацию на первой машине с помощью:

tcpdump -qnnvvv -i enp0s3 host 10.0.0.20

и с другого терминала в той же системе подключимся telnet к порту 80 веб-сервера (при условии, что Apache прослушивает этот порт; в противном случае укажите правильный порт в следующей команде):

telnet 10.0.0.20 80

Журнал tcpdump должен выглядеть следующим образом:

Где соединение было правильно инициализировано, как мы можем определить, посмотрев на двустороннюю связь между нашим блоком RHEL 7 (192.168.0.18) и веб-сервером (< Strong>10.0.0.20).

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

Хотя это и не является строго необходимым для нашего тестового примера, вы должны знать, что /etc/sysconfig/network содержит общесистемные сетевые параметры. Типичный файл /etc/sysconfig/network выглядит следующим образом:

Enable networking on this system?
NETWORKING=yes
Hostname. Should match the value in /etc/hostname
HOSTNAME=yourhostnamehere
Default gateway
GATEWAY=XXX.XXX.XXX.XXX
Device used to connect to default gateway. Replace X with the appropriate number.
GATEWAYDEV=enp0sX

Когда дело доходит до установки конкретных переменных и значений для каждого сетевого адаптера (как мы сделали для маршрутизатора №2), вам придется отредактировать /etc/sysconfig/network-scripts/ifcfg-enp0s3 и /etc/sysconfig/network-scripts/ifcfg-enp0s8.

Следуя нашему делу,

TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.0.19
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NAME=enp0s3
ONBOOT=yes

и

TYPE=Ethernet
BOOTPROTO=static
IPADDR=10.0.0.18
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
NAME=enp0s8
ONBOOT=yes

для enp0s3 и enp0s8 соответственно.

Что касается маршрутизации на нашем клиентском компьютере (192.168.0.18), нам нужно будет отредактировать /etc/sysconfig/network-scripts/route-enp0s3:

10.0.0.0/24 via 192.168.0.19 dev enp0s3

Теперь перезагрузите вашу систему, и вы увидите этот маршрут в своей таблице.

Краткое содержание

В этой статье мы рассмотрели основы статической маршрутизации в Red Hat Enterprise Linux 7. Хотя сценарии могут различаться, представленный здесь случай иллюстрирует необходимые принципы и процедуры для выполнения этой задачи. Прежде чем подвести итоги, я хотел бы предложить вам просмотреть главу 4 раздела Защита и оптимизация Linux на сайте проекта документации Linux для получения более подробной информации по затронутым здесь темам.

Бесплатная электронная книга по Защита и оптимизация Linux: решение для взлома (v.3.0). Эта 800+ электронная книга содержит исчерпывающую коллекцию советов по безопасности Linux и способы их безопасного и простого использования. для настройки приложений и служб на базе Linux.

Скачать сейчас

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

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