Введение
В этой лабораторной работе вы познакомитесь с Firewalld — современным инструментом управления межсетевым экраном, доступным во многих дистрибутивах Linux.
Межсетевой экран управляет тем, какой сетевой трафик разрешён для входа в систему и выхода из неё. Традиционные правила фильтрации пакетов могут показаться новичкам слишком сложными и негибкими. Firewalld предоставляет модель управления более высокого уровня, благодаря чему администраторы могут безопаснее и динамичнее изменять политики.
Основное понятие Firewalld — зоны. Зоны позволяют назначать разные уровни доверия различным сетевым интерфейсам или подключениям.
- Домашняя зона: представьте свою гостиную. Вы доверяете находящимся здесь людям (устройствам), поэтому дверь в основном открыта.
- Публичная зона: представьте кофейню. Вы не доверяете окружающим людям (устройствам), поэтому запираете двери и разрешаете только строго определённые взаимодействия.
Firewalld позволяет назначать разные сетевые подключения (интерфейсы) этим зонам.
К концу лабораторной работы вы сможете:
- Безопасно установить и запустить службу Firewalld.
- Определить, какие зоны безопасности активны.
- Просмотреть правила внутри зоны.
- Переместить сетевой интерфейс из одной зоны в другую.
Установите и запустите Firewalld
На этом шаге вы установите Firewalld и убедитесь, что служба работает.
Критически важный шаг безопасности: в удалённой лабораторной среде подключение к терминалу зависит от того, что сетевой доступ открыт. Если запустить межсетевой экран с настройками по умолчанию (обычно это зона Public или Drop), он может сразу заблокировать подключение и лишить вас доступа. Чтобы этого не произошло, мы явно настроим для нашего подключения зону Trusted.
Это важный практический урок: работа с межсетевым экраном снижает поверхность атаки, но при неосторожном изменении политики можно одновременно заблокировать собственный доступ. Перед изменением сетевых правил грамотный администратор учитывает возможность восстановления и текущие пути доступа.
Сначала установите пакет.
sudo apt-get update
sudo systemctl mask firewalld
sudo apt-get install firewalld -y
Маскирование службы предотвращает автоматический запуск firewalld при установке пакета. Перед запуском службы настройте зону по умолчанию trusted и привяжите eth0 с помощью firewall-offline-cmd. Этот клиент работает, когда firewalld остановлен. Снимайте маскирование службы только после сохранения этих постоянных настроек административного доступа.
sudo firewall-offline-cmd --set-default-zone=trusted
sudo firewall-offline-cmd --zone=trusted --add-interface=eth0
sudo systemctl unmask firewalld
sudo systemctl start firewalld
sudo firewall-cmd --reload
Настройте автоматический запуск службы при загрузке системы.
sudo systemctl enable firewalld
Наконец, проверьте, что Firewalld работает.
sudo firewall-cmd --state
В выводе должно появиться running.
Проверьте активные зоны
На этом шаге, когда Firewalld уже запущен, рассмотрим зоны.
Зоны — основной уровень абстракции Firewalld. Вместо того чтобы запоминать длинный плоский список правил для пакетов, вы группируете интерфейсы по уровню доверия, а зона задаёт базовую политику для соответствующей среды.
Чтобы узнать, какие зоны используются сейчас, выполните следующую команду.
sudo firewall-cmd --get-active-zones
Поскольку на предыдущем шаге мы настроили эту зону, вы должны увидеть:
trusted
interfaces: eth0
Это означает следующее:
- Активна зона trusted.
- Сетевой интерфейс eth0 (ваше основное подключение) безопасно находится в этой зоне.
Если вы хотите узнать, какие ещё зоны существуют, вы можете вывести список всех доступных зон.
sudo firewall-cmd --get-zones
В списке будут такие имена, как block, home, work, public и другие.
Просмотрите конфигурацию зоны
На этом шаге вы изучите подробные правила активной зоны.
Здесь Firewalld становится более понятным на практике. Зона — это не просто метка вроде public или trusted, а набор реальных решений политики: целевое действие по умолчанию, разрешённые службы, порты и правила пересылки трафика.
Используйте параметр --list-all, чтобы просмотреть полную конфигурацию текущей зоны по умолчанию (trusted).
sudo firewall-cmd --list-all
В выводе отобразится конфигурация. Для зоны trusted ключевым является поле:
- target:
ACCEPT. Это означает «принимать всё».
Так подтверждается, почему ваше подключение защищено от блокировки.
Если вы хотите посмотреть правила другой зоны, например зоны public, укажите её имя.
sudo firewall-cmd --zone=public --list-all
Вы увидите, что зона public гораздо строже ограничивает трафик.
Измените зону интерфейса
На этом шаге мы потренируемся перемещать интерфейс в другую зону.
Изменение зоны интерфейса фактически меняет классификацию уровня доверия для трафика, поступающего через этот интерфейс. Поэтому один и тот же хост может по-разному работать в разных сетях, без необходимости заново переписывать все правила.
Предупреждение: если переместить основной интерфейс eth0 в зону work, подключение будет немедленно разорвано, поскольку зона work блокирует подключение к веб-терминалу.
Чтобы безопасно выполнить упражнение, мы создадим фиктивный (виртуальный) сетевой интерфейс и будем использовать его.
Сначала создайте фиктивный интерфейс с именем dummy0.
sudo ip link add dummy0 type dummy
sudo ip link set dummy0 up
Сначала добавьте этот интерфейс в зону public, чтобы назначить ему исходную зону.
sudo firewall-cmd --zone=public --add-interface=dummy0
Представьте, что dummy0 — это Wi-Fi-карта вашего ноутбука и вы только что вошли в офис. Теперь вы хотите переключить её в зону work.
sudo firewall-cmd --zone=work --change-interface=dummy0
Проверьте изменение.
sudo firewall-cmd --get-active-zones
Теперь вы должны увидеть две активные зоны:
- trusted: содержит
eth0, поэтому подключение остаётся активным. - work: содержит
dummy0, ваш тестовый интерфейс.
trusted
interfaces: eth0
work
interfaces: dummy0
Вы успешно научились изменять зоны, не блокируя собственный доступ!
Итоги
В этой лабораторной работе вы сделали первые шаги с Firewalld. Вы:
- Установили службу и безопасно настроили её, чтобы не потерять доступ.
- Узнали, что зоны работают как профили безопасности.
- Изучили правила внутри зоны.
- Создали виртуальный интерфейс и потренировались переключать его между зонами.
Понимание зон — основа работы с Firewalld. В следующих лабораторных работах вы научитесь настраивать эти зоны, открывая определённые порты.



