Udp открывает порт linux

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

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

Если это 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»?

Источник

Как подключиться к открытому порту

Процесс(chrome) открыл UDP порт 54281. Комп за НАТом. Хочу проверить имеет ли сервер доступ к этому порту.

На сервере делаю

telnet udp не умеет, проверяй nmap и прочими, в гугле поищи

Telnet же по TCP. man nmap.

You do it wrong.

дома журнал как раз со статьёй на эту тему. Сейчас не помню, но есть свой инструмент для UDP. Вечером гляну.

netcat

Ещё nc умеет UDP.

точно, про netcat там было

Запустил, уже больше минуты висит, ничего не пишет в ответ.

не надо проверять локальные порты через nmap. Это делается через netstat -tunelp

Мне не локальный нужно проверить, а удаленный, который за НАТом

К UDP вообще, внезапно, нельзя *подключиться* т.к. это connectionless протокол. Можно на том конце открыть порт в nc и слушать, а снаружи тем же nc в него плевать.

Надеюсь, ты проверяешь с внешнего хоста, а не изнутри сети?

Читайте также:  Windows команда копирования папки

Роутинг внешинх занатеных портов во внутреннюю сеть — дело не тривиальное и скорее всего у тебя не настроено (там нужен double-nat).

Если комп не за натом, что отлично проверяется nmap

На винде браузер хром открыл UDP на порту 62567

На сервере делаю

Хочу проверить имеет ли сервер доступ к этому порту.

Основы почитайте, для начала. Других вариантов не вижу.

Источник

Гайд Как открыть порт в Linux? Очень просто!

FIELD LINE

Статья рассчитана на новичков, использующих Linux.

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

Сервер запускается, но порт закрыт, я не могу к нему подключиться. Что же делать?

Нужно прописать правила Firewall’а, что бы нужный порт был открыт.

Для начала немного теории. Сервера по Counter-Strike, абсолютно всех версий, используют 2 протокола, TCP и UDP.

Значит нужно 2 правила для Iptables, что бы открыть порт.

Вопрос: Что такое Iptables?
Ответ: Iptables это самый распространенный и используемый Linux Firewall, для защиты, фильтрации, проброса портов, и многого другого. Подробнее можете почитать в wikipedia.

Допустим, у вас Counter-Strike 1.6 сервер, и вы хотите открыть порт 27015. Для этого пропишите в терминал 2 правила.

Первое правило для открытия протокола TCP на порте 27015, а второе правило для открытия протокола UDP на порте 27015.

Другой небольшой пример:
Стандартный порт ssh в Linux находится на 22’ом порте, но использует только протокол TCP. Как же открыть стандартный порт ssh?

Что бы его открыть, нужно прописать очень простое правило Iptables, но для порта 22 только на протоколе TCP. Открывать порт на протоколе UDP в данной ситуации не нужно.

Введите в терминал данное правило Iptables:

Дополнительно:
Как открыть нужные порты в Linux для сервера по игре RUST?

Типичный вопрос пользователя: Столкнулся с проблемой! Запустил сервер по игре RUST, но не могу к нему подключиться, сервер вообще не виден. Помогите!
Ответ: Сервер по игре RUST использует сразу 2 игровых порта. Первый порт служит для подключения клиента к серверу, второй служит для rcon администрирования.

Стандартный порт по игре RUST 28015 использующий протоколы TCP и UDP, второй порт для администрирования 28016 использует только протокол TCP.

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

Источник

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Настройка линукс минт 19 xfce после установки

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

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

  • -A — добавить новое правило в цепочку;
  • -p — протокол tcp;
  • ACCEPT — разрешить.

После этого все внешние устройства смогут установить связь по порту 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

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

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

Читайте также:  Блокировка windows 10 во время работы

Просмотр правил Iptables

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

sudo iptables -L

Здесь мы видим три цепочки OUTPUT, INPUT и FORWARD, за открытые порты отвечает цепочка INPUT, именно через нее проходят все входящие пакеты. Сейчас политика по умолчанию — ACCEPT, это значит, что подключение ко всем портам разрешено. Здесь нам нужно настроить все самим и это будет проще если бы какая-либо программа уже создала свои настройки, но этот вариант мы тоже рассмотрим ниже.

Как открыть порт iptables с нуля

Если в iptables уже есть какие-либо правила и вы хотите их удалить просто выполните:

sudo iptables -F

Теперь нам нужно добавить правила, которые разрешат обмен данными между любыми портами на локальном интерфейсе lo, это нужно чтобы не вызвать системных ошибок:

sudo iptables -A INPUT -i lo -j ACCEPT
$ sudo iptables -A OUTPUT -o lo -j ACCEPT

Если кратко, то здесь добавляется два правила в цепочки INPUT и OUTPUT, разрешающие отправку и прием данных из интерфейса lo. Еще одно интересное и важное правило, которое многие упускают. Нужно запрещать только новые соединения, а пакеты для уже открытых нужно разрешать. Иначе получится, что мы отправляем серверу запрос (цепочка OUTPUT открыта), соединение открывается, но сервер не может нам ответить, потому что все пакеты отбрасываются в INPUT. Поэтому нужно разрешить все пакеты с состоянием ESTABLISHED и RELATED. Для этого есть модуль state:

sudo iptables -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT

Теперь самое интересное, рассмотрим как открыть порт 22 и 80 для протокола TCP:

sudo iptables -A INPUT -p tcp —dport 22 -j ACCEPT
$ sudo iptables -A INPUT -p tcp —dport 80 -j ACCEPT

Опция -A сообщает, что нужно добавить пакет в конец цепочки, -p — указывает протокол, а —dport или Destination Port (порт назначения) указывает из какого порта пакеты нужно принимать. Теперь вы можете снова посмотреть список правил:

sudo iptables -L

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

sudo iptables -nvL

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

sudo iptables -P INPUT DROP

Все, можете проверять. Все пользователи смогут получить доступ к портам 22 и 80, а к остальным доступа не будет.

Как открыть порт, если уже есть правила

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

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

sudo iptables -A INPUT -j DROP

Как вы понимаете, это значит, что все пакеты, которые до него доходят, будут отброшены. Ваше правило добавляется в конец цепочки, уже после этого. Естественно, что к нему уже никакие пакеты не дойдут, потому что они были отброшены ранее. Чтобы обойти эту проблему нужно использовать опцию -I (INSERT) вместо -A (ADD), она добавляет правило в начало цепочки и все будет работать. Осталось открыть порты Linux:

sudo iptables -I INPUT -p tcp —dport 1924 -j ACCEPT

Теперь смотрим список правил и проверяем:

sudo iptables -L

Выводы

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

Источник

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