Практически все пользователи дистрибутива CentOS 7 устанавливают в систему различные инструменты, для правильной работы которых необходимо открывать порты с определенными номерами. Это необходимо для обеспечения нормальной связи с узлами и безопасного обмена информацией. Задача выполняется путем изменения правил межсетевого экрана. Конечно, любой пользователь может использовать самые разные межсетевые экраны, но iptables является стандартным. Именно на его примере мы предлагаем открывать двери, следуя приведенным ниже инструкциям.
Открываем порты в CentOS 7
Открыть двери легко, вам просто нужно ввести несколько команд в консоль. Однако, если вы изначально не выполняли дополнительные настройки с помощью брандмауэра или используете сторонний инструмент, вам также потребуется изменить важные параметры. Поэтому мы разделили нашу статью на этапы, чтобы новичкам было проще разобраться в каждом этапе, и теперь мы начнем с прямой установки iptables на CentOS 7.
Шаг 1: Инсталляция или обновление iptables
Как упоминалось выше, iptables в CentOS 7 действует как брандмауэр по умолчанию. Если вы не вносили никаких изменений вручную, вы можете пропустить этот шаг и завершить только последний шаг с установкой утилит брандмауэра. Если вам нужно проверить наличие обновлений или переустановить этот инструмент, мы рекомендуем вам использовать следующее руководство.
- Все описанные сегодня действия будут выполняться в «Терминале», поэтому все начинается с его запуска. Для этого используйте горячую клавишу Ctrl + Alt + T или значок, добавленный в раздел «Избранное» меню приложения.
- Здесь введите команду sudo yum install iptables и нажмите клавишу Enter.
- Чтобы подтвердить эту команду, вам нужно будет указать пароль суперпользователя. Обратите внимание, что при таком типе написания введенные символы не отображаются.
- Вы получите уведомление об успешной установке или обновлении. Если последняя версия iptables уже была добавлена в операционную систему, на экране появится строка «Ничего не делать».
- Завершите этот шаг командой sudo yum -y install iptables-services. Начнется установка необходимых служб.
- вы можете перейти к следующему шагу, если на экране появится сообщение об успешном добавлении компонентов.
Шаг 2: Сброс стандартных правил брандмауэра
Если вы ранее не настраивали iptables системным администратором или пользователем, вам следует восстановить настройки по умолчанию, чтобы избежать проблем с совместимостью правил в будущем. Кроме того, вам нужно будет указать стандартные правила для обеспечения правильных входящих и исходящих подключений. Все происходит так:
- Введите в консоли команду iptables -L -v -n, чтобы увидеть список текущих параметров.
- Если они вам не подходят, вам нужно будет выполнить ручной сброс и настройку.
- Удаление существующих правил выполняется одной строкой sudo iptables -F.
- Затем разрешите весь ввод с сервера, введя sudo iptables -A INPUT -i lo -j ACCEPT.
- Для исходящих соединений команда почти такая же: sudo iptables -A OUTPUT -o lo -j ACCEPT.
- Мы рекомендуем вам ограничить новые подключения и разрешить существующие, чтобы обеспечить безопасность и заставить указанные выше правила работать. Это делается с помощью sudo iptables -A INPUT -m state —state ESTABLISHED, RELATED -j ACCEPT.
Все дальнейшие настройки рассматриваемой утилиты производятся пользователем вручную, включая открытие дверей. Мы поговорим о последней теме на более поздних этапах, а расширенная настройка выходит за рамки сегодняшнего материала. Вместо этого мы рекомендуем вам ознакомиться с конкретными руководствами по этой теме, используя ссылку ниже.
Шаг 3: Отключение FirewallD
Этот шаг должен быть рассмотрен теми пользователями, которые ранее установили FirewallD или были добавлены автоматически. При настройке портов через iptables этот инструмент может мешать правильному выполнению правил, поэтому вам необходимо отключить его.
- Во-первых, прекратите запуск службы через sudo systemctl stop firewalld.
- Затем выполните полное выключение с помощью команды sudo systemctl disable firewalld.
- Вы получите информацию о том, что символические ссылки были удалены, поэтому FirewallD с этого момента работать не будет.
Если вы хотите вручную удалить папки, содержащие настройки FirewallD, пропустив предыдущие команды, введите следующие строки одну за другой в Терминале и активируйте их.
rm ‘/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service’
rm ‘/etc/systemd/system/basic.target.wants/firewalld.service’
В будущем любому пользователю может потребоваться включить и дополнительно настроить FirewallD, особенно при работе с различными веб-серверами и утилитами. Мы рекомендуем вам сделать это, используя приведенное ниже руководство.
Шаг 4: Открытие портов через iptables
пришло время перейти к главному действию, которому и посвящена сегодняшняя статья. Выше мы проделали абсолютно всю подготовительную работу, чтобы открыть двери в CentOS 7. Теперь с этим не должно возникнуть проблем, поэтому вы можете ввести следующие команды.
- Убедитесь, что вы добавляете брандмауэр при запуске, чтобы не всегда запускать его вручную. В этом поможет команда sudo systemctl enable iptables.
- Вы получите уведомление, когда будет создана символическая ссылка.
- Включите постоянные привилегии суперпользователя, введя su, чтобы вам не приходилось добавлять sudo к каждой команде в этом сеансе терминала.
- Подтвердите это действие, написав свой пароль.
- Откройте порт с помощью команды iptables -I INPUT -p tcp —dport 22 -m state —state NEW -j ACCEPT, где 22 замените на требуемый номер.
- Вы можете сразу открыть следующий порт, например номер 25 (SMTP-сервер). Для этого введите iptables -I INPUT -p tcp —dport 25 -m state —state NEW -j ACCEPT.
- Сохраните все изменения, войдя в онлайн-сервис iptables save.
- Вы получите уведомление об успешном применении конфигурации.
- Перезапустите брандмауэр, чтобы все изменения вступили в силу. Это делается с помощью команды systemctl restart iptables.
- Наконец, мы предлагаем использовать sudo iptables -nvL для сканирования всех открытых портов.
В этой статье вы узнали все об открытии портов в CentOS 7. Как видите, это не займет много времени, и все изменения будут применены сразу после перезапуска служб. Используйте команды выше, меняя только номера портов, чтобы все было хорошо.