Содержание:
Практически все пользователи дистрибутива 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
.
Все дальнейшие настройки рассмотренной утилиты осуществляются пользователем вручную, включая и открытие портов. О последней теме мы поговорим в следующих шагах, а расширенная конфигурация не входит в рамки сегодняшнего материала. Вместо этого рекомендуем ознакомиться со специальным обучающим материалом по данной теме, воспользовавшись расположенной ниже ссылкой.
Подробнее: Настройка iptables в CentOS 7
Шаг 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, особенно когда приходится работать с различными веб-серверами и утилитами. Мы предлагаем сделать это, используя приведенное далее руководство.
Подробнее: Настройка Firewall в CentOS 7
Шаг 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
. - Сохраните все изменения, вставив строку
service iptables save
. - Вы будете уведомлены о том, что конфигурация успешно применена.
- Перезагрузите межсетевой экран, чтобы все изменения вступили в силу. Осуществляется это через команду
systemctl restart iptables
. - В конце мы предлагаем использовать
sudo iptables -nvL
, чтобы изучить все открытые порты.
В этой статье вы узнали все об открытии портов в CentOS 7. Как видите, это не займет много времени, а все изменения будут применены сразу же после перезагрузки сервисов. Используйте рассмотренные выше команды, изменяя только номера портов, чтобы все прошло успешно.
Наш Telegram каналТолько полезная информация
[ERROR] java.net.ConnectException: Connection refused (Connection refused)