Как открыть порты linux centos

Как открыть порты linux centos

Всем привет, давайте рассмотрим ситуацию, что вы поставили нужную вам службу например Apache пытаетесь зайти по ip адресу в браузере а он не открывается, дело в том, что в CentOS по умолчанию все порты закрыты на iptable. Давайте этому научимся. НАм нужно открыть порты 443 и 80.

iptables -I INPUT -p tcp —dport 80 -m state —state NEW -j ACCEPT

iptables -I INPUT -p tcp —dport 443 -m state —state NEW -j ACCEPT

сохраняем это все дело

service iptables save

и перезапускаем iptable

/etc/init.d/iptables restart

Популярные Похожие записи:

9 Responses to Как открыть порт в CentOS

Иван, спасибо вам за сайт. Нашла тут хорошую инструкцию по установке Centos, но вот беда — доступа в инет с него не было. Пролистала ваши статьи и… «В CentOS по умолчанию все порты закрыты на iptables…». Приплыли. Открыла порты и всё в ажуре! Спасибо.

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

Оказалось, кривизна моих рук оставляет ждать лучшего. Эти команды вносят указанные правила в конфиг iptables, но указанные порты остаются закрытым по результатам проверки netstat -tlnd.
Открыты 22, 8000 и всё.

Бьюсь второй день, не помогает правка самого конфига (/etc/sysconfig/iptables) c последующим сохранением (service iptables save). После перезапуска службы /etc/init.d/iptables конфиг прежний. Подскажите, куда смотреть?

Добрый день а какая у вас версия Centos? Если 7 то там по умолчанию используется FirewallD а не iptable, если хотите его вернуть нужно выполнить
systemctl stop firewalld
systemctl disable firewalld

Устанавливаем его
yum install iptables-services
systemctl start iptables
systemctl enable iptables

можете еще добавить графический вариант
yum install system-config-firewall-tui
перезагрузка

а если настраивать FirewallD то там вот такой синтаксис firewall-cmd —permanent —add-port=№порта/протокол

Добрый день, отличный у вас сайт, такого крупного блога, который ведет один человек я не встречал. Спасибо.

Иван, у меня версия Centos 6.7. Может в этом проблема?

Ирина, добрый день попробуйте поставить утилиту yum install system-config-firewall-tui и открыть из графического режима. В 6 версии описанный в статье метод на моей практике работал всегда. А вы все делаете из под рутовой учетки?

Иван, сайт отличный, порты открылись, интернет потёк

Добрый день! нужна помощь, есть vps сервер, centos 7.3 к нему нужен доступ через браузер, к примеру 81.213.233.21:20025 или 81.213.233.21:10223 , открытый 22 и 10223 порт, это прокси сервер, пытаюсь открыть порт командой sudo firewall-cmd —zone=public —permanent —add-port=20025/tcp, sudo firewall-cmd —zone=public —permanent —add-port=20025/udp, пишет что он есть в зоне public, но доступа к нему нет, что уже только не пробовал, может нужно как-то пробросить порты? но как? уже не знаю что делать

Источник

Открытие портов в CentOS 7

Практически все пользователи дистрибутива CentOS 7 устанавливают в систему различные средства, для корректной работы которых необходимо открывать порты определенных номеров. Это требуется для обеспечения нормального соединения с узлами и безопасного обмена информацией. Осуществляется поставленная задача путем изменения правил межсетевого экрана. Конечно, каждый юзер может использовать самые разнообразные брандмауэры, однако стандартным является iptables. Именно на его примере мы и предлагаем открыть порты, следуя приведенным далее инструкциям.

Читайте также:  Как windows 10 нету защитника

Открываем порты в CentOS 7

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

Шаг 1: Инсталляция или обновление iptables

Как уже было сказано выше, iptables в CentOS 7 выступает в качестве межсетевого экрана по умолчанию. Если вручную не было произведено никаких изменений, можно смело пропускать данный шаг, выполнив только последний этап с инсталляцией утилит брандмауэра. В случае необходимости проверки обновлений или повторной установки данного инструмента советуем воспользоваться следующим руководством.

  1. Все действия, описываемые сегодня, будут производиться в «Терминале», поэтому все начинается с его запуска. Используйте для этого горячую клавишу Ctrl + Alt + T или значок, добавленный в раздел «Избранное» в меню приложений.

Здесь введите команду sudo yum install iptables , а затем нажмите на клавишу Enter.

Для подтверждения этой команды потребуется указать пароль суперпользователя. Учитывайте, что при таком типе написания вводимые символы не отображаются.

Завершите этот шаг командой sudo yum -y install iptables-services . Это запустит инсталляцию необходимых сервисов.

Можно переходить к следующему этапу, если на экране появилось сообщение об успешном добавлении компонентов.

Шаг 2: Сброс стандартных правил брандмауэра

Если ранее системным администратором или пользователем не производилась настройка iptables, стандартные настройки следует сбросить, чтобы в будущем не возникло проблем с совместимостью правил. Дополнительно потребуется указать и стандартные правила, обеспечив корректность выполнения входящих и исходящих соединений. Все это происходит так:

  1. Введите в консоли команду 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 .

Читайте также:  Как добавить домен linux

Вы получите информацию о том, что символические ссылки были удалены, следовательно, 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 .

Сохраните все изменения, вставив строку service iptables save .

Вы будете уведомлены о том, что конфигурация успешно применена.

Перезагрузите межсетевой экран, чтобы все изменения вступили в силу. Осуществляется это через команду systemctl restart iptables .

В конце мы предлагаем использовать sudo iptables -nvL , чтобы изучить все открытые порты.

В этой статье вы узнали все об открытии портов в CentOS 7. Как видите, это не займет много времени, а все изменения будут применены сразу же после перезагрузки сервисов. Используйте рассмотренные выше команды, изменяя только номера портов, чтобы все прошло успешно.

Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Блог дяди Freemanа

How to open port in CentOS 7/Как открыть порт на CentOS 7

В версии CentOS 7 для управления iptables начали использовать firewalld, он в свою очередь управляется через команду firewall-cmd.

В отличии от iptables, firewalld оперирует зонами и сервисами, а не цепочками и правилами. Каждому сетевому интерфейсу присваивается определенная зона, она может быть как пользовательская так и предустановленная.

Список предустановленных зон:

  • drop — уничтожает все входящие пакеты, исходящие разрешены
  • block — уничтожает все входящие пакеты, при этом отправляя сообщение отправителю, что пакет был удален, исходящие разрешены
  • public — разрешены входящие соединения только для ssh и dhcp-client
  • external — поддерживает NAT для трансляции адресов внутренней сети
  • internal — разрешены службы ssh, samba, mdns, dhcp
  • dmz — разрешено только ssh подключение
  • work — разрешены только ssh и dhcp
  • home — то же самое что и internal
  • trusted — все разрешено

Эти зоны служат для того, чтобы быстро сменить набор правил интерфейсы, изменив его зону.

Еще одной полезной особенностью firewalld является то, что есть конфигурация выполнения — runtime, и конфигурация постоянная — permanent.

Читайте также:  Microsoft iso software download windows

Синтаксис команд

В отличии от iptables, тут довольно все просто:

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

Следующие опции могут быть использованы для манипуляций с зонами:

  • —state — вывести состояние брандмауэра;
  • —reload — перезагрузить правила из постоянной конфигурации;
  • —complete-reload — жёсткая перезагрузка правил с разрывом всех соединений;
  • —runtime-to-permanent — перенести настройки конфигурации runtime в постоянную конфигурацию;
  • —permanent — использовать постоянную конфигурацию;
  • —get-default-zone — отобразить зону, используемую по умолчанию;
  • —set-default-zone — установить зону по умолчанию;
  • —get-active-zones — отобразить активные зоны;
  • —get-zones — отобразить все доступные зоны;
  • —get-services — вывести предопределенные сервисы;
  • —list-all-zones — вывести конфигурацию всех зон;
  • —new-zone — создать новую зону;
  • —delete-zone — удалить зону;
  • —list-all — вывести всё, что добавлено, из выбранной зоны;
  • —list-services — вывести все сервисы, добавленные к зоне;
  • —add-service — добавить сервис к зоне;
  • —remove-service — удалить сервис из зоны;
  • —list-ports — отобразить порты, добавленные к зоне;
  • —add-port — добавить порт к зоне;
  • —remove-port — удалить порт из зоны;
  • —query-port — показать, добавлен ли порт к зоне;
  • —list-protocols — вывести протоколы, добавленные к зоне;
  • —add-protocol — добавить протокол к зоне;
  • —remove-protocol — удалить протокол из зоны;
  • —list-source-ports — вывести порты источника, добавленные к зоне;
  • —add-source-port — добавить порт-источник к зоне;
  • —remove-source-port — удалить порт-источник из зоны;
  • —list-icmp-blocks — вывести список блокировок icmp;
  • —add-icmp-block — добавить блокировку icmp;
  • —add-icmp-block — удалить блокировку icmp;
  • —add-forward-port — добавить порт для перенаправления в NAT;
  • —remove-forward-port — удалить порт для перенаправления в NAT;
  • —add-masquerade — включить NAT;
  • —remove-masquerade — удалить NAT.

Пример использования

К примеру, мы хотим добавить к зоне какой-либо сервис:

А удалить можно так:

Если мы используем ключ —permanent, то для того, чтобы правила начали работать, нужно использовать команду

которая перечитает правила в конфигурацию исполнения

Если необходимо открыть специфичный порт, то можно просто указать его командой:

Проброс портов в Firewalld настраивается намного проще, чем в iptables. Если вам нужно, например, перенаправить трафик с порта 2223 на порт 22, достаточно добавить к зоне перенаправление:

Здесь перенаправление выполняется только на текущей машине. Если вы хотите настроить сеть NAT и пробрасывать порт на другую машину, то вам нужно сначала включить поддержку masquerade

Затем уже можно добавить порт:

Расширенные правила

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

Вот значение основных параметров:

  • В качестве семейства протоколов можно указать ipv4 или ipv6 или ничего не указывать, тогда правило будет применяться к обоим протоколам;
  • source и destination — это отправитель и получатель пакета. В качестве этих параметров может быть использован IP-адрес (address), сервис (service name), порт (port), протокол (protocol) и так далее;
  • log — позволяет логгировать прохождение пакетов, например в syslog. В этой настройке вы можете указать префикс строчки лога и уровень подробности логгирования;
  • audit — это альтернативный способ логгирования, когда сообщения будут отправляться в службу auditd.
  • действие — это действие, которое необходимо выполнить с совпавшим пакетом. Доступны: accept, drop, reject, mark.

Давайте рассмотрим несколько примеров. Нам необходимо заблокировать доступ к серверу для пользователя с IP 135.152.53.5:

Или нам нужно запретить для этого же пользователя только доступ к порту 22:

Посмотреть все расширенные правила можно командой:

Источник

Оцените статью