Как открыть порты linux ubuntu
Открытие портов в Ubuntu
Дорогие друзья, сегодня мы с вами обсудим два вопроса: как открыть порт в Ubuntu и посмотреть список уже запущенных. Таким образом можно будет контролировать процессы на своём компьютере. То есть, например, если не получается открыть какую-то утилиту из-за занятости одного из портов, такое дело можно будет исправить. Для начала давайте узнаем, как посмотреть открытые порты? После этого уже рассмотрим вторую часть сегодняшней темы об открытии портов Убунту.
Управление портами на ПК необходимо для полноценной работы приложений.
Как посмотреть открытые порты
Как открыть порт в Убунту
Теперь рассмотрим нашу вторую часть сегодняшнего обсуждения. Прежде всего вам потребуется запустить консоль для ввода команд и скриптов. Далее, пробуем следующие две комбинации, которые позволят вам открыть определённый порт. Стоит отметить, что все выполняемые действия производятся на ваш страх и риск, так как они предназначены для опытных пользователей. Любые неверные шаги или же неблагополучные манипуляции могут привести вас к неприятным последствиям. Например, есть вероятность потерять важные файлы и данные или же поломать что-нибудь в строе системы. Приступайте к следующим действиям только при полной уверенности своих сил и возможностей.
Способ первый
Ниже рассматриваются примеры для порта 7777:
Стоит отметить, однако, очень важный момент. Дело в том, что файрволл iptables имеется абсолютно во всех дистрибутивах Linux. Более того, правила их являются также одинаковыми, но зато настройка и запуск может различаться. Вот почему может понадобиться наличие универсального способа. Вероятнее всего, что опытные пользователи не применят его, но вот обычные юзеры вполне могут воспользоваться им.
Способ второй
#отбрасываем все пакеты без статуса.
## далее команды чтобы открыть порт Linux:
# открываем порты для посещения сайтов
# добавляем ещё, которые нам нужны, в список открытых портов Linux
Этот скрипт подходит для всех дистрибутивов Linux, в том числе и Ubuntu. Поэтому можно не волноваться по поводу несовместимости кодов и их работы в операционной системе. Но вдруг если ни один из этих методов вам не помог, потребуется дополнительная диагностика. Например, вы можете посмотреть, не занят ли случайно необходимый порт другим приложением. Если ответ будет положительным, то понадобится закрыть все утилиты, связанные с ним. Только потом можно будет повторить свои попытки со скриптами и кодами.
Подведём итоги
Дорогие друзья, теперь вы знаете, как посмотреть открытые порты Ubuntu, а также как открыть порт. Вы знаете, что можно воспользоваться для последнего случая двумя способами, каждый из которых в своём роде выполняет свою работу. А первый вопрос легко решается с помощью утилиты netstat и не требует особой трудоёмкости. Надеемся, что у вас всё получилось сделать с первого раза. Поделитесь своим мнением, впечатлением, а также личным опытом в комментариях!
Как открыть порт Ubuntu
Правильная настройка брандмауэра имеет очень важное значение для безопасности вашего сервера или даже домашнего компьютера, подключенного к сети интернет.
На промышленных серверах брандмауэр запрещает подключение к большинству из них, оставляя только необходимые. В этой статье мы рассмотрим как открыть порт iptables и закрыть все остальные. Хотя в большинстве дистрибутивов существуют специальные утилиты для настройки брандмауэра,мы будем использовать iptables, чтобы вы смогли понять процесс на самом низком уровне.
Просмотр правил Iptables
Прежде чем что-либо менять, нужно понять каким образом система работает сейчас. Возможно, для лучшего понимания материала вам сначала стоит ознакомиться со статьей iptables для начинающих. Для просмотра текущих правил iptables выполните такую команду:
Как открыть порт iptables с нуля
Если в iptables уже есть какие-либо правила и вы хотите их удалить просто выполните:
Теперь нам нужно добавить правила, которые разрешат обмен данными между любыми портами на локальном интерфейсе lo, это нужно чтобы не вызвать системных ошибок:
Если кратко, то здесь добавляется два правила в цепочки INPUT и OUTPUT, разрешающие отправку и прием данных из интерфейса lo. Еще одно интересное и важное правило, которое многие упускают. Нужно запрещать только новые соединения, а пакеты для уже открытых нужно разрешать. Иначе получится, что мы отправляем серверу запрос (цепочка OUTPUT открыта), соединение открывается, но сервер не может нам ответить, потому что все пакеты отбрасываются в INPUT. Поэтому нужно разрешить все пакеты с состоянием ESTABLISHED и RELATED. Для этого есть модуль state:
Теперь самое интересное, рассмотрим как открыть порт 22 и 80 для протокола TCP:
Вывод очень упрощен и понять здесь что-то сложно, например, может показаться что у нас два одинаковых правила, хотя это не так. Чтобы отобразить более подробную информацию используйте:

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

Выводы
В этой статье мы рассмотрели как открыть порт Ubuntu 16.04 или в любом другом Linux дистрибутиве, а также закрыть ненужные порты. Это повысит безопасность вашей системы. Только на первый взгляд кажется, что с iptables сложно работать. Если разобраться, то все будет достаточно просто. Надеюсь, эта информация была полезной для вас.
Как Настроить Брандмауэр с UFW в Ubuntu 18.04
Безопасность — это то, к чему не следует относиться легкомысленно в эпоху, когда киберпреступления фигурируют в заголовках практически всех статей, связанных с ИТ. Поэтому рекомендуется всегда следить и принимать все возможные меры, чтобы повысить уровень безопасности вашего сервера.
Защищая наш сервер, мы также защищаем наши данные. Эффективный способ сделать это в Ubuntu — настроить брандмауэр, он же firewall, он же межсетевой экран. Благодаря этому мы сможем контролировать входящие и исходящие подключения к нашему серверу. В этом руководстве мы научим вас, как настроить фаервол с помощью UFW в Ubuntu 18.04.
Ubuntu firewall и защита сервера
Брандмауэр — это компьютерное оборудование или программное обеспечение, которое контролирует входящий и исходящий трафик машины. Другими словами, это довольно важный элемент компьютерной безопасности. Если у вас есть компьютер, подключенный к интернету, рекомендуется защитить его, настроив фаервол.
Несмотря на то, что в Linux предусмотрены отличные функции безопасности, дополнительная осторожность не помешает.
Ubuntu поставляется с приложением, которое упрощает настройку брандмауэра. Оно называется UFW (Uncomplicated Firewall), который представляет собой интерфейс Iptables. В Ubuntu 18.04 UFW обычно установлен по умолчанию. Но, скорее всего, он будет отключен. UFW имеет графический интерфейс GUFW, который вы можете установить, если у вас есть среда рабочего стола.
Настройка брандмауэра с помощью UFW в Ubuntu 18.04
Как мы уже говорили, UFW по умолчанию установлен в Ubuntu 18.04, однако он не включен. Таким образом, первое, что нужно сделать, это включить UFW.
Для этого мы должны сначала подключиться к серверу с помощью SSH или, если Ubuntu 18.04 работает локально, просто открыть терминал. Если у вас возникли проблемы со входом на сервер, ознакомьтесь с этим руководством.
Как только у нас будет доступ к нашему серверу, мы включим UFW с помощью следующей команды:
Если вы увидите сообщение об ошибке «Команда не найдена», установите UFW с помощью следующей команды.
Затем мы должны проверить статус UFW.
Как мы видим, теперь UFW включен.
По умолчанию UFW запрещает все входящие и разрешает все исходящие соединения. Для многих пользователей этой конфигурации достаточно, но если у нас есть сетевые службы или приложения, мы должны установить некоторые правила.
Настройка правил брандмауэра в Ubuntu 18.04 с UFW
Правило брандмауэра — это инструкция, определяющая принцип работы межсетевого экрана. Правила определяют, какие соединения принимаются или запрещаются.
Далее мы настроим некоторые правила брандмауэра с помощью UFW:
Открытие и закрытие портов с помощью UFW
Порты — это интерфейсы подключения, используемые приложениями для установления соединения с сервером.
С UFW их довольно легко открывать или закрывать по своему усмотрению. Чтобы открыть порт, нам нужно запустить эту команду:
Если мы говорим о протоколах, то это могут быть TCP или UDP. Всё зависит от наших потребностей. Например:
Это означает, что все приложения или службы, которые пытаются подключиться к нашему серверу через порт 56, будут разрешены.
Однако мы можем запретить использование этого порта с помощью следующей команды:
Теперь все приложения, использующие TCP и пытающиеся подключиться к серверу через порт 56, не смогут этого сделать.
Мы также можем одной командой разрешить или заблокировать ряд портов. Это здорово экономит время. Базовый синтаксис выглядит так:
Чтобы открыть порты, команда будет выглядеть следующим образом:
Или, чтобы запретить их:
Работа со службами в Ubuntu firewall
UFW может применять некоторые сетевые службы. Чтобы управлять ими, нужно знать порт, который они используют для подключения к серверу.
Например, HTTP требует, чтобы был доступен порт 80, а HTTPS — порт 443.
Итак, для HTTP нам нужно запустить эту команду:
Выполнение этой команды эквивалентно включению порта 80.
Таким образом, нам нужно знать только порты, используемые сетевыми службами.
Запретить или разрешить подключения по IP-адресу
Также мы можем запретить доступ для определенного IP-адреса.
Для этого мы должны выполнить следующую команду:
Или наоборот, если мы хотим разрешить доступ только этому IP-адресу.
Ещё, если мы хотим, чтобы IP-адрес мог подключаться только к определённому порту, мы можем уточнить это следующим образом:
В реальном сценарии команда будет выглядеть так:
При таком раскладе IP-адрес сможет устанавливать соединение только в том случае, если он использует порт 44.
Удаление правила межсетевого экрана в Ubuntu
Мы можем удалить отдельное правило из нашего UFW с помощью одной записи в командной строке! Но сначала мы должны перечислить их все. Для этого мы должны запустить эту команду:
После этого удаляем то правило, которое хотим. Для примера давайте удалим правило номер четыре.
Вот мы и перечислили все основные функции, о которых стоит знать. Теперь вы готовы настроить безопасность своего сервера так, как считаете нужным. Если вам нужна дополнительная информация, просмотрите руководство UFW. Вызвать его можно с помощью следующей команды:
Итоги
Процесс настройки брандмауэра в Ubuntu 18.04 прост благодаря UFW. Однако у этого приложения есть ещё много возможностей для усиления защиты нашего сервера. Здесь вы узнали о его основных функциях, которые должен знать каждый. Мы надеемся, что это руководство было полезным для вас. Берегите себя и свои данные!
Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.
Открытые порты Ubuntu
Но порты представляют определённую угрозу. Если в программе есть какая-либо уязвимость, то любой пользователь локальной сети сможет получить доступ к вашему компьютеру, а в некоторых случаях даже к вашей информации. Поэтому нужно быть очень осторожным с открытыми портами. В этой статье мы разберёмся, как посмотреть открытые порты Ubuntu.
Что такое порты и зачем они нужны?
Таким образом, процесс прослушивает определённый порт на сервере, а клиент, который хочет к нему обратиться, должен знать этот порт. Вся обработка прав доступа к портам в большинстве случаев ложится на процесс, поэтому если в его коде есть уязвимости, то это может стать серьёзной проблемой безопасности.
Открытые порты Ubuntu
Существуют не только порты, к которым программы подключаются удалённо, но и локальные порты, используемые программами для общения между собой. В качестве локальных также могут использоваться удалённые.
netstat
Это одна из самых старых и популярных утилит для просмотра открытых портов. Мы описывали её в отдельной статье, а сейчас просто кратко рассмотрим, как с ней работать. Чтобы посмотреть открытые порты, выполните такую команду:
Опции -n и -P указывают, что необходимо отображать не только цифровые имена портов и ip-адреса, но и имена доменов и сервисов. Опция -i отображает все сетевые подключения, а с помощью grep мы фильтруем только те, которые находятся в состоянии прослушивания.
Представление информации немного отличается, но в общем и целом мы видим всё ту же информацию. Кроме неё, здесь ещё отображается имя пользователя, от которого запущен процесс. Вы можете не ограничиваться фильтрами и посмотреть все доступные соединения:

Сетевой сканер nmap позволяет проверить список портов Ubuntu так, как бы это делал злоумышленник при попытке атаки на вашу систему. Здесь вы будете видеть все порты, которые видны снаружи. Но для сканирования нужно использовать внешний ip-адрес. Не сетевой ip-адрес провайдера, а адрес вашего компьютера, например, в локальной сети чаще всего используется 192.168.1.2. Посмотреть ip вашего сетевого интерфейса можно с помощью команды ifconfig:
Чтобы просто просканировать открытые порты Ubuntu, будет достаточно выполнить:
Также можно выполнить комплексное сканирование всех уязвимостей. Важно отметить, что команда не находит все уязвимости, а проверяет только самые простые. Для активации этого режима используется опция -A:
Как пользоваться nmap, читайте в отдельной статье.
Выводы
В этой статье мы рассмотрели, как проверить порты Ubuntu с помощью нескольких утилит. Все они выводят подробную информацию, но для каждого отдельного случая может лучше подойти только одна из них. Например, проверять какие порты видят другие компьютеры извне лучше с помощью nmap. А чтобы посмотреть, какие службы или сокеты доступны локально, лучше применять netstat или ss.
Проверяйте, какие порты открыты, и если они не нужны, то закройте их в брандмауэре или просто отключите сервис. Иначе они ставят под угрозу безопасность вашей системы. Например, у меня на ноутбуке открыт порт SSH, и я не раз наблюдал в логах попытки перебрать пароль от каких-то роутеров из локальной сети. И если даже вас некому ломать, это могут сделать вирусы. Так что будьте осторожны, и не оставляйте открытые порты, если в этом нет необходимости.
Как открыть порт iptables
Самой распространенной операцией при работе с межсетевым экраном, по моему мнению, является операция закрытия и открытия портов на сетевом интерфейсе. Порт открывается для того чтобы к нему можно было получить доступ из вне. Закрывают же порт чтобы запретить устанавливать соединение с программой на вашем устройстве, работающей по этому порту. В этой статье мы рассмотрим как открыть порт iptables на примере Debian Linux.
Как открыть порт с помощью iptables
В iptables для создания нового правила или блока правил используется команда:
Рассмотрим подробно случай открытия порта с помощью iptables. Следует заметить, что понятие порт используется в протоколах tcp и udp, поэтому для разных протоколов доступны одинаковые номера портов, но при этом эти номера, говоря на языке нашего примера, означают разные квартиры в разных домах в разных микрорайонах, где за микрорайон можно принять наименование протокола.
Примечание: Существуют таблицы общепринятых номеров портов для распространённых программ и типов программ по функциональному назначению. Остальные порты являются свободно используемыми. Рассмотрение таблиц портов выходит за рамки данной статьи. Вернемся к простой задаче закрыть один порт.
Примечание: Если вы собираетесь открыть порт, убедитесь, что политика iptables по умолчанию блокировать всё соединения к портам (DROP). Если же используется политика по умолчанию ACCEPT, то ничего открывать не надо, все порты уже открыты, а вам нужно только закрыть те, которые должны быть недоступны из вне. Подробнее в статье как пользоваться iptables.
1. Один порт
Чтобы открыть порт iptables debian используется следующая команда:
В данном случае мы открыли в таблице filter в цепочке INPUT протокола tcp порт назначения 8081 с помощью действия ACCEPT (принять). Таким образом для всех внешних машин, пытающихся установить соединение по данному порту, данный порт будет теперь доступен. Если мы хотим открыть порт для конкретной машины следует использовать следующую команду:
Мы открыли порт 8080 на нашем компьютере для внешней машины с адресом 10.0.0.1.
2. Диапазон портов
Чтобы открыть диапазон портов iptables используется команда:
Данной командой мы открыли порты 18070-18081 для входящих пакетов, адресованных именно этому компьютеру, передаваемых по протоколу TCP.
3. Входящее и исходящее соединения
Все пакеты можно разделить на два типа: пакеты, приходящие на данный узел и пакеты, отправляемые данным узлом. В самом распространенном случае и для исходящих, и для входящих пакетов будет использоваться один и тот же сетевой интерфейс (физическое или логическое устройство, отвечающее за преобразование пакетов в сигналы и передачу сигналов в сеть).
Так вот, входящие пакеты будут создавать входящие соединения по определенным правилам для конкретных программ, и исходящие пакеты будут создавать исходящие соединения по определенным правилам для конкретных программ. При этом для каждой программы, нуждающейся в установлении связи с через сеть, чаще всего будут функционировать два соединения: входящее и исходящее, так как программе одновременно требуется в течении работы получать и отправлять данные.
Правила для входящих соединений будут в большинстве случаев расположены в цепочках PREROUTING, INPUT. Правила для исходящих соединений будут в большинстве случаев расположены в цепочках POSTROUTING, OUTPUT.
Чтобы разрешить порт iptables для входящего соединения:
Пример для исходящего соединения:
Примечание: В данном случае правила выглядят очень похоже, но смысловое значение у них будет абсолютно противоположное. В первом случае мы имеем дело с пакетом ВХОДЯЩИМ, который должен поступить на порт назначения 8080 НАШЕГО компьютера. Во втором случае мы имеем дело с пакетом ИСХОДЯЩИМ, который должен поступить на порт назначения 8080 УДАЛЕННОГО компьютера. Следует также заметить, что программа не использует на нашем компьютере и удаленном компьютере одинаковый номер порта для одной программы. Порты будут различаться.
4. Состояние соединения
Открытие портов iptables для новых соединений:
В этом примере в таблицу filter в цепочку INPUT для протокола tcp, от компьютера из подсети 192.168.1.0/24, на порт назначения 445 (так как цепочка входящая, то порт назначения находится на данном компьютере) для пакетов, открывающих новое соединение, применить действие ACCEPT (принять пакет).
А такая команда позволяет добавить порт iptables для уже установленных соединений:
В данном случае в таблицу filter в цепочку INPUT для протокола tcp, от компьютера из подсети 192.168.2.0/24, на порт назначения 445 (так как цепочка входящая, то порт назначения находится на данном компьютере) для пакетов, поступающих в рамках уже открытого соединения, применить действие ACCEPT (принять пакет).
Как закрыть порт iptables
Если вы открыли порт с помощью описанных выше правил и политика брандмауэра по умолчанию DROP, то достаточно это правило удалить. Если же у вас стоит политика по умолчанию ACCEPT, то чтобы закрыть порт надо использовать действие DROP.
Эта команда в таблицу filter в цепочку INPUT запишет правило для протокола TCP, от компьютера из подсети 192.168.3.0/24, на порт назначения 445 (так как цепочка входящая, то порт назначения находится на данном компьютере) для пакетов, поступающих в рамках уже открытого соединения, применять действие DROP (отбросить пакет).
Для правил, запрещающих прием пакета, применимо всё сказанное выше для закрытия порта (одиночный порт, диапазон портов, входящие и исходящие соединения, действия для установленных соединений и новых соединений). Про закрытие портов в iptables читайте более подробно в отдельной статье.
Проверка открыт ли порт
$ telnet ip-адрес порт
telnet 192.168.1.5 443
В данной команде будет проверен 443 порт у машины с ip-адресом 192.168.1.5. Если на порту 443 на удаленной машине разрешено входящее соединение и правила на локальной машине разрешают исходящее соединение на порту 443, то получим сообщение:
Connection closed by foreign host.
Или неожиданно можем получить приглашение доступа к данной машине, если на этом порте ожидает подключения серверная часть telnet.
Если же правила запрещают входящее соединение на удаленной машине, или исходящее соединение на нашей локальной машине на порту 443, то получим сообщение:
telnet: Unable to connect to remote host: Connection timed out
Примечание: Чтобы получить результаты необходимо подождать довольно продолжительное время, чтобы telnet получил результат попытки соединения по указанному порту.
Выводы
Итак, сегодня мы рассмотрели как открыть порт 80 iptables или любой другой на локальной машине. Теперь мы знаем, как открыть (или закрыть) конкретный порт, диапазон портов, в чем разница между входящими и исходящими соединениями, как работать с новыми и уже установленными соединениями.





















