Как открыть порт 8080 debian

Обновлено: 06.07.2024

Я пытаюсь запустить простой сервер Python http, который отображает "hello world" на порту 8080 с помощью микро-экземпляра. У меня также есть 4 экземпляра Торнадо, работающих за Nginx. Подключение к Nginx/Tornado на порту 80 не является проблемой.

Я добавил порт 8080 в настройки брандмауэра и обеспечил, чтобы порт 8080 был открыт и прослушивался на сервере, но независимо от того, что я делаю, мое соединение всегда отклоняется. Я пробовал подключаться с помощью браузеров, telnet и wget, и каждое отдельное соединение было отклонено.

Вот результат netstat -an | grep "LISTEN "

Вот мой список iptables

Вот сценарий Python, который я использую:

Я пытаюсь запустить cassandra (cass_1 & cass_2) на двух вычислительных движках(Debian). Я не могу видеть, что узлы подключены с помощью NOD Tool status. Я установил семя в case_2, чтобы оно указывало на cass_1. Я предполагаю, что мне нужно открыть порт в сети google compute engine? - А ты.

У меня есть 2 экземпляра Google Compute Engine, и я хочу открыть порт 9090 в обоих экземплярах. Я думаю, нам нужно добавить некоторые правила брандмауэра. Можете ли вы сказать мне, как я могу это сделать?

Есть ли в вашей сети соответствующее правило брандмауэра? Выполните следующие шаги, чтобы создать его.

Перейдите в Консоль разработчиков и нажмите на соответствующий проект.

Нажмите на 'Compute'

Нажмите на 'Networks'

Нажмите на название соответствующей сети. Вы можете увидеть, в какой сети находится ваш экземпляр, нажав на 'VM instances' в разделе 'Compute Engine' или с помощью команды:

gcloud compute instances describe <instance> | grep "network:" | awk -F/ ''

В разделе Правила брандмауэра нажмите 'Create new'

Введите имя правила брандмауэра и в поле "Протоколы & порты" введите: tcp:8080

В противном случае вы можете попытаться проверить, получает ли ваша машина пакеты SYN TCP в этом порту с помощью команды: sudo tcpdump -i eth0 port 8080

Надеюсь, это поможет

В веб-консоли GCE > Сети > Правила брандмауэра > отредактируйте RULE, удалите ЦЕЛЕВЫЕ ТЕГИ и примените их.

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

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

убедитесь, что вы добавили правильный порт. в приведенном выше ответе указано "tcp:80" , но это не сработает, если ваш сервер работает на другом порту. это, вероятно, причина, по которой он не работает для других

Похожие вопросы:

Текущая настройка, Google Compute Engine запуск Windows Server 2012 (GCE Server 2012) Google Compute Engine запуск Debian Wheezy (сервер GCE Wheezy) GCE Server 2012 имеет один открытый порт, tcp.

Я настроил gcloud vminstance на windows 2012 и установил apache tomcat Я могу получить доступ изнутри сервера, выполнив localhost:8080 и увидев домашнюю страницу apache tomcat. У меня есть.

Я тестирую Google Compute Engine (с экземпляром, работающим под управлением Debian), и у меня есть проблемы с использованием переадресации X11 через ssh. Для подключения к моему экземпляру я.

Я пытаюсь запустить cassandra (cass_1 & cass_2) на двух вычислительных движках(Debian). Я не могу видеть, что узлы подключены с помощью NOD Tool status. Я установил семя в case_2, чтобы оно.

У меня есть 2 экземпляра Google Compute Engine, и я хочу открыть порт 9090 в обоих экземплярах. Я думаю, нам нужно добавить некоторые правила брандмауэра. Можете ли вы сказать мне, как я могу это.

У меня есть мой единственный узел Hadoop, установленный на экземпляре Google Compute Engine, и я хочу открыть порт 50070 на этой машине, чтобы получить доступ к приборной панели hadoop. я настроил.

Я размещаю приложение node на Google compute engine. Мое приложение настроено на прослушивание порта 8080. Я открыл брандмауэр, чтобы разрешить tcp подключение к порту 8080. Я могу подключиться к.

На google compute engine я могу получить доступ к порту на сервере через 'localhost', но я не могу получить доступ к тому же порту, используя адрес IP с того же сервера или с внешних клиентских.

Я пытаюсь открыть некоторые порты на своем компьютере VM. Например, у меня есть это в firewall-rules $ gcloud compute firewall-rules list NAME NETWORK SRC_RANGES RULES SRC_TAGS TARGET_TAGS.

Я настроил VPS, используя платформу Google Compute Engine. В этом случае я установил базу данных MongoDB, которая локально размещается на порту по умолчанию 21017. Я также настроил сервер REST API.

Самой распространенной операцией при работе с межсетевым экраном, по моему мнению, является операция закрытия и открытия портов на сетевом интерфейсе. Порт открывается для того чтобы к нему можно было получить доступ из вне. Закрывают же порт чтобы запретить устанавливать соединение с программой на вашем устройстве, работающей по этому порту. В этой статье мы рассмотрим как открыть порт iptables на примере Debian Linux.

Порт - это, грубо говоря, номер квартиры в многоквартирном доме, за которым проживают известные (или не очень) жильцы. IP адрес - это номер многоквартирного дома, в котором множество квартир. Жилец - это программа, использующая данный номер порта. Этот пример работает в том случае, когда целью является открытие и закрытие доступа программам на том же самом компьютере, который подключен к сети Интернет.

Как открыть порт с помощью iptables

В iptables для создания нового правила или блока правил используется команда:

sudo iptables [ -t таблица ] -A [ цепочка ] спецификации_правила

sudo iptables -t filter -A INPUT -p tcp -s 8.8.8.8 --sport 53 -d 192.168.1.1 -j ACCEPT

Рассмотрим подробно случай открытия порта с помощью iptables. Следует заметить, что понятие порт используется в протоколах tcp и udp, поэтому для разных протоколов доступны одинаковые номера портов, но при этом эти номера, говоря на языке нашего примера, означают разные квартиры в разных домах в разных микрорайонах, где за микрорайон можно принять наименование протокола.

Примечание: Существуют таблицы общепринятых номеров портов для распространённых программ и типов программ по функциональному назначению. Остальные порты являются свободно используемыми. Рассмотрение таблиц портов выходит за рамки данной статьи. Вернемся к простой задаче закрыть один порт.

Примечание: Если вы собираетесь открыть порт, убедитесь, что политика iptables по умолчанию блокировать всё соединения к портам (DROP). Если же используется политика по умолчанию ACCEPT, то ничего открывать не надо, все порты уже открыты, а вам нужно только закрыть те, которые должны быть недоступны из вне. Подробнее в статье как пользоваться iptables.

1. Один порт

Чтобы открыть порт iptables debian используется следующая команда:

sudo iptables [ -t таблица ] -A [ цепочка ] -p протокол [ --sport порт_отправителя ] [ --dport порт_назначения ] -j [ действие ]

sudo iptables -t filter -A INPUT -p tcp --dport 8081 -j ACCEPT


В данном случае мы открыли в таблице filter в цепочке INPUT протокола tcp порт назначения 8081 с помощью действия ACCEPT (принять). Таким образом для всех внешних машин, пытающихся установить соединение по данному порту, данный порт будет теперь доступен. Если мы хотим открыть порт для конкретной машины следует использовать следующую команду:

sudo iptables -t filter -A INPUT -p tcp -s 10.0.0.1/32 --dport 8080 -j ACCEPT

Мы открыли порт 8080 на нашем компьютере для внешней машины с адресом 10.0.0.1.

2. Диапазон портов

Чтобы открыть диапазон портов iptables используется команда:

sudo iptables [ -t таблица ] -A [ цепочка ] -p протокол [ --sport начальный_порт_отправителя:конечный_порт_отправителя ] [ --dport начальный_порт_назначения:конечный_порт_назначения ] -j [ действие ]

sudo iptables -t filter -A INPUT -p tcp --dport 18070:18081 -j ACCEPT

Данной командой мы открыли порты 18070-18081 для входящих пакетов, адресованных именно этому компьютеру, передаваемых по протоколу TCP.


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

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

Правила для входящих соединений будут в большинстве случаев расположены в цепочках PREROUTING, INPUT. Правила для исходящих соединений будут в большинстве случаев расположены в цепочках POSTROUTING, OUTPUT.

Чтобы разрешить порт iptables для входящего соединения:

sudo iptables -t filter -A INPUT -p tcp --dport 8080 -j ACCEPT

Пример для исходящего соединения:

sudo iptables -t filter -A OUTPUT -p tcp --dport 8080 -j ACCEPT

Примечание: В данном случае правила выглядят очень похоже, но смысловое значение у них будет абсолютно противоположное. В первом случае мы имеем дело с пакетом ВХОДЯЩИМ, который должен поступить на порт назначения 8080 НАШЕГО компьютера. Во втором случае мы имеем дело с пакетом ИСХОДЯЩИМ, который должен поступить на порт назначения 8080 УДАЛЕННОГО компьютера. Следует также заметить, что программа не использует на нашем компьютере и удаленном компьютере одинаковый номер порта для одной программы. Порты будут различаться.


4. Состояние соединения

Существует возможность формировать правила фильтрации пакетов по совпадению с определенными шаблонами дополнительной спецификации правил Netfilter. За это отвечают параметры -m и -j. Мы рассмотрим использование параметра -m, который может использовать множество различных шаблонов, из которых мы рассмотрим один: --state состояние. Этот шаблон может принимать следующие значения:

  • NEW — пакет открыл новое соединение или иным образом связан с соединением, в рамках которого ещё не было пакетов в обоих направлениях (входящем и исходящем);
  • ESTABLISHED — пакет связан с соединением, которое видело пакеты в обоих направлениях;
  • RELATED — пакет открывает новое соединение, но связан с уже существующим соединением, например, передача данных FTP или ошибка протокола ICMP;
  • INVALID — пакет, связанный с неизвестным соединением.

Открытие портов iptables для новых соединений:

sudo iptables -t filter -A INPUT -p tcp -s 192.168.1.0/24 --dport 445 -m state --state NEW -j DROP

В этом примере в таблицу filter в цепочку INPUT для протокола tcp, от компьютера из подсети 192.168.1.0/24, на порт назначения 445 (так как цепочка входящая, то порт назначения находится на данном компьютере) для пакетов, открывающих новое соединение, применить действие ACCEPT (принять пакет).

А такая команда позволяет добавить порт iptables для уже установленных соединений:

sudo iptables -t filter -A INPUT -p tcp -s 192.168.2.0/24 --dport 445 -m state --state ESTABLISHED -j ACCEPT

В данном случае в таблицу filter в цепочку INPUT для протокола tcp, от компьютера из подсети 192.168.2.0/24, на порт назначения 445 (так как цепочка входящая, то порт назначения находится на данном компьютере) для пакетов, поступающих в рамках уже открытого соединения, применить действие ACCEPT (принять пакет).


Как закрыть порт iptables

Если вы открыли порт с помощью описанных выше правил и политика брандмауэра по умолчанию DROP, то достаточно это правило удалить. Если же у вас стоит политика по умолчанию ACCEPT, то чтобы закрыть порт надо использовать действие DROP.

sudo iptables -t filter -A INPUT -p tcp -s 192.168.3.0/24 --dport 445 -m state --state ESTABLISHED -j DROP

Эта команда в таблицу filter в цепочку INPUT запишет правило для протокола TCP, от компьютера из подсети 192.168.3.0/24, на порт назначения 445 (так как цепочка входящая, то порт назначения находится на данном компьютере) для пакетов, поступающих в рамках уже открытого соединения, применять действие DROP (отбросить пакет).


Для правил, запрещающих прием пакета, применимо всё сказанное выше для закрытия порта (одиночный порт, диапазон портов, входящие и исходящие соединения, действия для установленных соединений и новых соединений). Про закрытие портов в iptables читайте более подробно в отдельной статье.

Проверка открыт ли порт

Когда мы настроили все правила, закрывающие и открывающие порты, нам необходимо проверить корректность примененных настроек. Для этого можно использовать приложение telnet. Telnet - приложение, позволяющее установить двунаправленное соединение между двумя компьютерами с помощью протокола telnet. В рамках нашей задачи попытка установления соединения между двумя машинами в сети используется как тест правил Netfilter. Выполняем команду следующего вида:

$ telnet ip-адрес порт

telnet 192.168.1.5 443

Connection closed by foreign host.

Или неожиданно можем получить приглашение доступа к данной машине, если на этом порте ожидает подключения серверная часть telnet.

telnet: Unable to connect to remote host: Connection timed out


Примечание: Чтобы получить результаты необходимо подождать довольно продолжительное время, чтобы telnet получил результат попытки соединения по указанному порту.

Выводы

Итак, сегодня мы рассмотрели как открыть порт 80 iptables или любой другой на локальной машине. Теперь мы знаем, как открыть (или закрыть) конкретный порт, диапазон портов, в чем разница между входящими и исходящими соединениями, как работать с новыми и уже установленными соединениями.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

В этой статье описывается, как настроить брандмауэр с UFW в Debian 10.

Подготовка

Только root или пользователь с привилегиями sudo может управлять системным брандмауэром.

Установка UFW

Введите следующую команду, чтобы установить пакет ufw :

Проверка статуса UFW

Установка не активирует брандмауэр автоматически, чтобы избежать блокировки сервера. Вы можете проверить статус UFW, набрав:

Результат будет выглядеть так:

Если UFW активирован, вывод будет выглядеть примерно так:

Политики UFW по умолчанию

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

Политики по умолчанию определены в /etc/default/ufw и могут быть изменены с помощью команды sudo ufw default <policy> <chain> .

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

Профили приложений

Большинство приложений поставляются с профилем приложения, который описывает службу и содержит настройки UFW. Профиль автоматически создается в каталоге /etc/ufw/applications.d во время установки пакета.

Чтобы вывести список всех профилей приложений, доступных в вашей системе, введите:

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

Чтобы найти дополнительную информацию о конкретном профиле и включенных правилах, используйте команду app info , после которой укажите имя профиля. Например, чтобы получить информацию о профиле OpenSSH, вы должны использовать:

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

Разрешить SSH-подключения

Перед включением брандмауэра UFW необходимо разрешить входящие соединения SSH.

Если вы подключаетесь к своему серверу из удаленного места и включаете брандмауэр UFW перед тем, как явно разрешить входящие соединения SSH, вы больше не сможете подключиться к своему серверу Debian.

Чтобы настроить брандмауэр UFW на прием SSH-подключений, выполните следующую команду:

Если SSH-сервер прослушивает порт, отличный от порта по умолчанию 22, вам нужно будет открыть этот порт.

Например, ваш ssh-сервер прослушивает порт 7722 , вы должны выполнить:

Включить UFW

Теперь, когда брандмауэр UFW настроен на разрешение входящих соединений SSH, включите его, запустив:

Вы будете предупреждены, что включение брандмауэра может нарушить существующие соединения ssh. Введите «y» и нажмите «Enter».

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

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

Ниже приведены несколько примеров того, как разрешить входящие соединения с некоторыми из наиболее распространенных служб:

Вы также можете использовать номер порта 443 :

Открытый порт 8080

Если вы запустите Tomcat или любое другое приложение, которое прослушивает порт 8080 откройте порт с помощью:

Открытие портовых диапазонов

С помощью UFW вы также можете разрешить доступ к диапазонам портов. При открытии диапазона необходимо указать протокол порта.

Например, чтобы разрешить порты с 7100 по 7200 как на tcp и на udp , выполните следующую команду:

Разрешение определенных IP-адресов

Чтобы разрешить доступ ко всем портам с определенного IP-адреса, используйте команду ufw allow from за которой следует IP-адрес:

Разрешение определенных IP-адресов на определенном порту

Чтобы разрешить доступ к определенному порту, допустим, порт 22 с вашего рабочего компьютера с IP-адресом 64.63.62.61, используйте следующую команду:

Разрешение подсетей

Команда для разрешения подключения из подсети IP-адресов такая же, как и при использовании одного IP-адреса. Единственное отличие состоит в том, что вам нужно указать маску сети. Например, если вы хотите разрешить доступ для IP-адресов от 192.168.1.1 до 192.168.1.254 и до порта 3360 ( MySQL ), вы можете использовать эту команду:

Разрешить подключения к определенному сетевому интерфейсу

Чтобы разрешить доступ к определенному порту, скажем, порт 3360 только к определенному сетевому интерфейсу eth2 , используйте eth2 allow in on и имя сетевого интерфейса:

Запретить подключения

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

Допустим, вы открыли порты 80 и 443 , и ваш сервер подвергается атаке из сети 23.24.25.0/24 . Чтобы запретить все соединения с 23.24.25.0/24 , используйте следующую команду:

Если вы хотите запретить доступ только к портам 80 и 443 из 23.24.25.0/24 используйте:

Написание запрещающих правил аналогично написанию разрешающих правил. Вам нужно только заменить allow на deny .

Удалить правила UFW

Есть два разных способа удалить правила UFW. По номеру правила и указав фактическое правило.

Удаление правил UFW по номеру правила проще, особенно если вы новичок в UFW.

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

Чтобы удалить правило номер 3, правило, разрешающее подключения к порту 8080, вы можете использовать следующую команду:

Отключить UFW

Если по какой-либо причине вы хотите остановить UFW и деактивировать все правила, выполните:

Позже, если вы захотите снова включить UTF и активировать все правила, просто введите:

Сбросить UFW

Сброс UFW отключит UFW и удалит все активные правила. Это полезно, если вы хотите отменить все изменения и начать все заново.

Чтобы сбросить UFW, просто введите следующую команду:

Выводы

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

Как отключить определенный порт брандмауэра в Linux?

Выполните следующую команду, чтобы отключить брандмауэр на основе ОС ECS:

  1. CentOS 6. остановка службы iptables.
  2. CentOS 7. systemctl остановить службу firewalld.
  3. Ubuntu. ufw отключить.
  4. Debian. /etc/init.d/iptables stop.

Как разрешить порт в Linux?

Используйте sudo ufw allow [номер порта], чтобы открыть порт.

  1. Если порт, который вы открываете, предназначен для службы, указанной в / etc / services, вы просто вводите имя службы вместо номера порта. …
  2. Чтобы открыть определенный диапазон портов, используйте синтаксис sudo ufw allow 6000: 6007 / tcp, заменив 6000: 6007 фактическим диапазоном.

Как открыть порт 8080 в Linux?

Способы открытия порта 8080 в Debian

  1. Используя iptables. Из нашего опыта управления серверами мы видим, что iptables - один из наиболее распространенных способов открытия порта в Debian. …
  2. Добавление порта в apache2. …
  3. Используя UFW. …
  4. Используя FirewallD.
Смотрите также Как вы тестируете приложения для Android?

Как удалить порты брандмауэра?

Чтобы закрыть порт, удалите его из списка разрешенных портов:

  1. Перечислите все разрешенные порты: $ firewall-cmd –list-ports. …
  2. Удалите порт из разрешенных портов, чтобы закрыть его для входящего трафика: $ sudo firewall-cmd –remove-port = номер-порта / тип-порта.
  3. Сделайте новые настройки постоянными: $ sudo firewall-cmd –runtime-to-constant.

Как я могу увидеть открытые порты в Linux?

Чтобы проверить прослушивающие порты и приложения в Linux:

  1. Откройте приложение терминала, то есть приглашение оболочки.
  2. Выполните любую из следующих команд в Linux, чтобы увидеть открытые порты: sudo lsof -i -P -n | grep СЛУШАТЬ. sudo netstat -tulpn | grep СЛУШАТЬ. …
  3. Для последней версии Linux используйте команду ss. Например, ss -tulw.

Какая команда используется для брандмауэра в Linux?

В этой статье рассказывается о команда терминала firewall-cmd можно найти в большинстве дистрибутивов Linux. Firewall-cmd - это интерфейсный инструмент для управления демоном firewalld, который взаимодействует с инфраструктурой netfilter ядра Linux.

Как остановить порт 8080?

Шаги по завершению процесса, запущенного на порту 8080 в Windows,

  1. netstat -ano | findstr <номер порта>
  2. taskkill / F / PID <Идентификатор процесса>

Как остановить работу службы порта 8080 в Linux?

«Как остановить службу, работающую на порту 8080 в Linux» Код Ответ

  1. lsof -i: 8080.
  2. убить $ (lsof -t -i: 8080)
  3. kill -9 $ (lsof -t -i: 8080)

Что делает команда netstat в Linux?

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

Читайте также: