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

Как открыть порт в Linux и чем проверить уже открытые?

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

Немного теории

Порт выражается числом от 0 до 65535. Многие значения зарегистрированы для служебных нужд, некоторые можно использовать произвольно. Порт определяет собой своеобразное уточнение адреса. К примеру, некоторый ресурс имеет запущенный у себя веб-сервер.

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

Сложности в работе

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

Перечень наиболее популярных значений портов

Диапазон номеров от 0 до 1023 служит для использования системными программами и приложениями:

  • 21 — используется протоколом передачи данных FTP;
  • 22 — служба безопасной оболочки SSH;
  • 23 — Telnet;
  • 25 — протокол для передачи почтовых сообщений;
  • 80 — передача HTTP трафика. Используется веб-серверами;
  • 110 — POP3 (еще один почтовый протокол).

Данные значения зарезервированы и используются системой по умолчанию. Многие из оставшихся портов можно задействовать по своему усмотрению.

Как в Linux проверить открытые порты

Для этого имеются встроенные инструменты. Они показывают, какие порты в Linux открыты. Первый из них — netstat.

Пример его использования: sudo netstat -ntulp

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

  • -l. Означает, что нужно показать только те порты, которые в данный момент прослушиваются;
  • -p. Более подробное отражение информации о приложении, использующем порт. В частности, отобразятся его название и ID процесса;
  • -t. Включить в список TCP порты;
  • -u. То же самое, только с UDP;
  • -n. Означает что адреса IP будут показаны в виде чисел.

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

Данная процедура может понадобится в процессе разработки какого-либо веб-приложения, которое имеет связь с внешним сервером. Перед тем как открыть порт, нужно сначала проверить, не является ли он уже открытым. В этом поможет процедура, представленная выше.

Для открытия используется утилита iptables. Чтобы проверить, имеется ли она вообще в системе, нужно набрать в консоли команду: iptables —list

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

iptables -A INPUT -p tcp -m tcp —dport 53 -j ACCEPT

Здесь ключ А означает, что нужно добавить новое правило в существующую цепочку. INPUT показывает, что открытый порт будет входящим. Ключ -p говорит, что дальше указывается тип протокола, в данном случае TCP. Dport означает порт назначения, здесь — 53. Ну и ACCEPT — разрешающие соединения.

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

Источник

Как открыть внешнее UDP и TCP соединения на порте

Здравствуйте! Взял себе VDS чтобы запихать туда сервер по CSS. В ходе переноса сервера с хостинга на VDS с такой проблемой: для работы веб-скрипта SourceBans необходимы открытые TCP и UDP соединения на порте сервера (27018), и вот вопрос: как их открыть? Уже дня 3 не могу найти ответа, в итоге из всей информации сумел выудить лишь то, что открытие осуществляется посредством правил iptables. Но проблема в том, что нужный «код», для открытия соединений на этом порте, найти не могу. Просьба написать этот код! Заранее спасибо.

Читайте также:  Windows 10 usb mic drivers

Если это VDS, то нужные тебе порты и так «открыты», скорее всего, то есть — не заблокированы. А вообще, для чистоты эксперимента покажи вывод iptables-save (только не забудь про www.linux.org.ru/wiki/en/Lorcode)

если у тебя centos/redhat/fedora/etc весь конфиг iptables хранится в /etc/sysconfig/iptables
у тебя там уже есть открытые порты(как минимум 22-ой).
возьми и скопируй строку, заменив номер порта и протокол.

Вроде как по коду похоже что порты открыты, но я чекаю тут, то видна такая картинка

Насчёт чекалки, то да, я это знаю. А так же я знаю, что отследить UDP соединение (по той же схемы что и TCP) — нельзя. Так что, как говорится, «что имеем».

А вот результат

А зачем эти все правила, если input/output accept?
У провайдера нет отдельного фаервала в админке? Сервер слушает 0.0.0.0 или внешний ip, а не например 127.0.0.1?

Честно говоря вообще не понимаю о чём речь. Просто нужно открыть порт 27018 для внешнего UDP и TCP соединения. Как — не знаю, вот и написал сюда

Он его не слушает. Порт и так открыт.

Еще бы настроить сервисы слушать только локалхост, если доступ из инета не нужен. Типа exim4, mysqld, dovecot.

О чём речь вообще? То что порт открыт я и так знаю. Мне нужно открыть соединения на этом порте

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

netstat -t -l 27018

а с другой машины подключайтесь telnet’ом на этот адрес и порт 27018.

Можно вместо ″-t″ указывать ″-u″, тогда nc будет слушать udp и с помощью nc, с другой машины можно под udp отправлять пакет.

У тебя сервер css слушает соединения только на 127.0.0.1, но не на внешнем ip. Настраивай конфиг css.

В общем вообще ничего не понятно. Что значит «Настраивай конфиг css»?

Источник

Как открыть порт iptables в операционной системе Linux

Имея дело с программно-аппаратным элементом Linux, пользователю нередко приходится выполнять функции открытия и закрытия портов на сетевом интерфейсе.

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

В данном материале мы разберем все основные нюансы, связанные с открытием порта iptables.

Для начала следует прояснить простым языком, что такое порт в локальном или удаленном устройстве. Его можно сравнить с квартирой в жилом доме, в которой прописано определенное количество людей. А если быть точнее, то порт – это номер квартиры, IP адрес – номер дома, а жилец – это софт, использующий свою «квартиру».

Открытие порта в Linux осуществляется через iptables. При этом существует 2 типа протокола (tcp и udp), которые используют понятие «порт». Основная путаница для новичка заключается в том, что для разных протоколов доступны идентичные номера портов, а сами номера могут означать различные квартиры в разных зданиях и районах. Имя протокола служит этим самым «микрорайоном».

Важно!В некоторых случаях на устройстве Linux может использоваться политика iptables, именуемая как «DROP». Это означает, что порты блокируются автоматически. В обратном случае рассматривается политика iptables, именуемая как «ACCEPT». Это означает, что все существующие порты уже открыты по умолчанию. Если так и есть, то пользователю необходимо всего лишь закрыть те порты, которые предлагают доступ для внешних устройств.

Как открыть один порт

Рассмотрим синтаксис команды.

iptables -t таблица действие цепочка параметры

На практике аргумент -t опускается. Для первого примера откроем 80 port для протокола tcp.

Открываем 80 порт tcp.

# iptables -A INPUT -p tcp —dport 80 -j ACCEPT

  • -A — добавить новое правило в цепочку;
  • -p — протокол tcp;
  • ACCEPT — разрешить.
Читайте также:  Как установить windows с флешки uefi shell

После этого все внешние устройства смогут установить связь по порту 80 (для примера). Теперь сделаем тоже самое, только для протокола udp

Открываем 80 порт udp.

# iptables -A INPUT -p udp —dport 80 -j ACCEPT

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

# iptables -A INPUT -p tcp -s 192.168.200.0/24 —dport 8080 -j ACCEPT

После выполнения данного действия порт с указанным номером откроется на вашем ПК.

Открытие нескольких портов сразу

Для примера откроем диапазон портов с 18060:18071.

# iptables -t filter -A INPUT -p tcp —dport 18060:18071 -j ACCEPT

Что получится в результате? Теперь возможен прием входящих пакетов, передаваемых по протоколу на локальный ПК. Порты 18060-18071 открылись одновременно.

ВАЖНО! Входящие пакеты, передаваемые из вне на конкретное устройство, условно делятся на два типа: приходящие на указанный узел и отправленные этим узлом. И хотя узлы разные, для них часто используется общий интерфейс. Входящие и исходящие соединения реализуются по разным правилам. Первые размещены в цепочках под названием PREROUTING, INPUT. Вторые находятся в цепочках под названием POSTROUTING, OUTPUT.

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

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

Теперь перейдем к настройкам исходящего коннекта. Пользователю нужно задать команду аналогичного вида. Единственная разница будет заключаться в изменении «INPUT» на «OUTPUT». Во всем остальном указанная схема остается без изменений.

Примечание: новичку не стоит пугаться схожести в правилах для входящих и исходящих соединений. Они выглядят практически одинаково, но это не мешает привязывать к ним различное смысловое значение. У каждого соединения существует свой статус. Он может быть абсолютно новым и иметь значение «NEW».

Как проверить статус порта

На практике очень часто бывает так, что введенная команда не работает. Чтобы не попасть в такую ситуацию, необходимо проверить состояния порта. Для этих целей используется telnet.

Проверка порта осуществляется таким образом:

$ telnet 192.168.200.1. 8080

Как видно по заданной команде, система проверит порт под номером 8080 у компьютера с указанным IP-адресом. А теперь представим ситуацию, что порт 445 на удаленном устройстве открыт для входящего коннекта, а порт 445 на локальном устройстве открыт для исходящего коннекта. При таких условиях на экран будет выведено сообщение данного вида: «Connection closed by foreign host». В обратном случае выведенное сообщение будет носить иной характер. И это можно воспринять, как невозможность дальнейшего соединения.

ВАЖНО! Telnet считается эффективным инструментом, хорошо справляющимся со своими прямыми задачами. Однако скорость выдачи результатов при проверке статуса портов довольно низкая. Это значит, что пользователю придется подождать какое-то время.

Заключение

Открытие порта iptables на локальном устройстве вызывает множество различных трудностей у новичков. Внимательно следуя рекомендациям в данной статье, можно быстро приучиться к новшествам системы Линукс и решить все незакрытые вопросы. Воспользуйтесь подсказками, если вам потребуется открыть один или сразу несколько портов на своём ПК, закрыть его или проверить актуальный статус портов на нескольких машинах. Создайте новый коннект («NEW») или отточите своё мастерство при работе с уже установленными коннектами.

Источник

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

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

Управление портами на ПК необходимо для полноценной работы приложений.

Как посмотреть открытые порты

Если с запуском портов уже более или менее в голове что-нибудь прояснилось, то давайте разберём, что же делать, чтобы посмотреть открытые порты? Итак, этот метод предусматривает наличие установленной утилиты netstat на вашем компьютере под управлением операционной системы Linux. Если этой программы на вашем устройстве нет, то обязательно установите его уже знакомыми средствами. После, достаточно будет ввести следующую команду в консоль: netstat -ltupn. Таким образом откроется окно с портами, адресами IP, а также именами процессов, которые являются владельцами соединений. Способ достаточно простой и не требует каких-либо усилий с вашей стороны, кроме использования утилиты netstat.

Читайте также:  Ios или windows для программиста

Как открыть порт в Убунту

Теперь рассмотрим нашу вторую часть сегодняшнего обсуждения. Прежде всего вам потребуется запустить консоль для ввода команд и скриптов. Далее, пробуем следующие две комбинации, которые позволят вам открыть определённый порт. Стоит отметить, что все выполняемые действия производятся на ваш страх и риск, так как они предназначены для опытных пользователей. Любые неверные шаги или же неблагополучные манипуляции могут привести вас к неприятным последствиям. Например, есть вероятность потерять важные файлы и данные или же поломать что-нибудь в строе системы. Приступайте к следующим действиям только при полной уверенности своих сил и возможностей.

Способ первый

Ниже рассматриваются примеры для порта 7777:

  1. Итак, добавляем в нашу консоль правило: iptables -t filter -A INPUT -i eth0 -p tcp —dport 7777 -j ACCEPT.
  2. Если так не получилось, то стоит проверить настройки конфигурации файрволла, только потом ввести следующее значение: iptables -L. После этого для открытия нужного порта используете консольную команду: iptables -A INPUT -p tcp —dport 777 -j ACCEPT.
  3. Если же и эта команда вам не помогла, то воспользуйтесь следующей: sudo iptables -A INPUT -p tcp —dport 7777-j ACCEPT.

Стоит отметить, однако, очень важный момент. Дело в том, что файрволл iptables имеется абсолютно во всех дистрибутивах Linux. Более того, правила их являются также одинаковыми, но зато настройка и запуск может различаться. Вот почему может понадобиться наличие универсального способа. Вероятнее всего, что опытные пользователи не применят его, но вот обычные юзеры вполне могут воспользоваться им.

Способ второй

  1. Для начала стоит проверить наличие iptables в вашей ОС. Для этого делаем следующую команду в консоли: iptables -list. После этого вы получите необходимые вами данные.
  2. Наиболее приемлемым вариантом будет закрытие всех портов, необходимых операционке. Далее, устанавливая правила, откройте порты Linux для игры, трансфера документов и веб-сёрфинга. Чтобы сделать это, убедитесь в наличие iptables. После этого создайте файл /etc/iptables.sh с суперпользовательскими правами. Содержание файла будет следующее:

#!/bin/bash
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# закрываем все соединения
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# разрешаем трафик loopback, нужен обязательно
iptables -A INPUT -p all -m state —state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p all -m state —state NEW,ESTABLISHED,RELATED -j ACCEPT

# разрешаем инициированные программами, системой и их дочерние соединения.
iptables -A INPUT -m state —state INVALID -j DROP
iptables -A FORWARD -m state —state INVALID -j DROP

#отбрасываем все пакеты без статуса.

## далее команды чтобы открыть порт Linux:

iptables -A INPUT -i eth0 -p tcp —dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p udp —dport 80 -j ACCEPT

# открываем порты для посещения сайтов

iptables -A INPUT -i eth0 -p tcp —dport «номер нужного входящего порта» -j ACCEPT
iptables -A OUTPUT -i eth0 -p tcp —dport «номер нужного исходящего порта» -j ACCEPT

# добавляем ещё, которые нам нужны, в список открытых портов Linux

Этот скрипт подходит для всех дистрибутивов Linux, в том числе и Ubuntu. Поэтому можно не волноваться по поводу несовместимости кодов и их работы в операционной системе. Но вдруг если ни один из этих методов вам не помог, потребуется дополнительная диагностика. Например, вы можете посмотреть, не занят ли случайно необходимый порт другим приложением. Если ответ будет положительным, то понадобится закрыть все утилиты, связанные с ним. Только потом можно будет повторить свои попытки со скриптами и кодами.

Подведём итоги

Дорогие друзья, теперь вы знаете, как посмотреть открытые порты Ubuntu, а также как открыть порт. Вы знаете, что можно воспользоваться для последнего случая двумя способами, каждый из которых в своём роде выполняет свою работу. А первый вопрос легко решается с помощью утилиты netstat и не требует особой трудоёмкости. Надеемся, что у вас всё получилось сделать с первого раза. Поделитесь своим мнением, впечатлением, а также личным опытом в комментариях!

Источник

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