Как открыть все порты ubuntu
Как открыть порт 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 сложно работать. Если разобраться, то все будет достаточно просто. Надеюсь, эта информация была полезной для вас.
Открытые порты 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, и я не раз наблюдал в логах попытки перебрать пароль от каких-то роутеров из локальной сети. И если даже вас некому ломать, это могут сделать вирусы. Так что будьте осторожны, и не оставляйте открытые порты, если в этом нет необходимости.
Открытие портов в Ubuntu
Дорогие друзья, сегодня мы с вами обсудим два вопроса: как открыть порт в Ubuntu и посмотреть список уже запущенных. Таким образом можно будет контролировать процессы на своём компьютере. То есть, например, если не получается открыть какую-то утилиту из-за занятости одного из портов, такое дело можно будет исправить. Для начала давайте узнаем, как посмотреть открытые порты? После этого уже рассмотрим вторую часть сегодняшней темы об открытии портов Убунту.
Управление портами на ПК необходимо для полноценной работы приложений.
Как посмотреть открытые порты
Как открыть порт в Убунту
Теперь рассмотрим нашу вторую часть сегодняшнего обсуждения. Прежде всего вам потребуется запустить консоль для ввода команд и скриптов. Далее, пробуем следующие две комбинации, которые позволят вам открыть определённый порт. Стоит отметить, что все выполняемые действия производятся на ваш страх и риск, так как они предназначены для опытных пользователей. Любые неверные шаги или же неблагополучные манипуляции могут привести вас к неприятным последствиям. Например, есть вероятность потерять важные файлы и данные или же поломать что-нибудь в строе системы. Приступайте к следующим действиям только при полной уверенности своих сил и возможностей.
Способ первый
Ниже рассматриваются примеры для порта 7777:
Стоит отметить, однако, очень важный момент. Дело в том, что файрволл iptables имеется абсолютно во всех дистрибутивах Linux. Более того, правила их являются также одинаковыми, но зато настройка и запуск может различаться. Вот почему может понадобиться наличие универсального способа. Вероятнее всего, что опытные пользователи не применят его, но вот обычные юзеры вполне могут воспользоваться им.
Способ второй
#отбрасываем все пакеты без статуса.
## далее команды чтобы открыть порт Linux:
# открываем порты для посещения сайтов
# добавляем ещё, которые нам нужны, в список открытых портов Linux
Этот скрипт подходит для всех дистрибутивов Linux, в том числе и Ubuntu. Поэтому можно не волноваться по поводу несовместимости кодов и их работы в операционной системе. Но вдруг если ни один из этих методов вам не помог, потребуется дополнительная диагностика. Например, вы можете посмотреть, не занят ли случайно необходимый порт другим приложением. Если ответ будет положительным, то понадобится закрыть все утилиты, связанные с ним. Только потом можно будет повторить свои попытки со скриптами и кодами.
Подведём итоги
Дорогие друзья, теперь вы знаете, как посмотреть открытые порты Ubuntu, а также как открыть порт. Вы знаете, что можно воспользоваться для последнего случая двумя способами, каждый из которых в своём роде выполняет свою работу. А первый вопрос легко решается с помощью утилиты netstat и не требует особой трудоёмкости. Надеемся, что у вас всё получилось сделать с первого раза. Поделитесь своим мнением, впечатлением, а также личным опытом в комментариях!
Как открыть порт 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 или любой другой на локальной машине. Теперь мы знаем, как открыть (или закрыть) конкретный порт, диапазон портов, в чем разница между входящими и исходящими соединениями, как работать с новыми и уже установленными соединениями.
Как открыть порты в Ubuntu и CentOS с помощью IPtables
Главное меню » Операционная система Linux » Как открыть порты в Ubuntu и CentOS с помощью IPtables
Прежде всего, подключитесь к Linux VPS через SSH и выведете список текущих правил Iptables с помощью следующей команды:
Если вы недавно настроили ваш сервер, то не будет никаких правил Iptables и вывод должен быть похож на один ниже:
Если уже есть какие-то правила, которые вы не хотите, чтобы были там, вы можете очистить правила, используя следующую команду:
Первое правило брандмауэра, которое необходимо добавить, заключается в следующем:
Это в основном говорит вашему брандмауэру, чтобы принять текущее соединение SSH. Следующий шаг, чтобы разрешить трафик на интерфейсе loopback и открыть некоторые основные порты, такие как 22 для SSH и 80 для HTTP.
Теперь вы готовы открыть другие порты, к которым вы хотите разрешить трафик. Используйте ту же команду, как вы использовали, чтобы открыть порт 22 и 80 в предыдущем примере.
Составьте список существующих правил с помощью:
Выход должен быть аналогичен приведенному ниже:
Для получения более подробной продукции вы можете использовать:
И выход должен быть похож на этот:
Последнее, что вам нужно сделать, это сохранить правила и сделать их постоянными. Если вы используете Ubuntu VPS, вы можете установить iptables-persistent для этой цели.
В Ubuntu 14.04 можно использовать следующие команды, чтобы сохранить/перезагрузить правила Iptables:
На Ubuntu 16.04 использовать следующие команды:
Если вы используете CentOS VPS, вы можете использовать следующую команду, чтобы сохранить правила Iptables:
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.





















