Открыть порт linux ubuntu

Содержание
  1. 4 способа узнать, какие порты прослушиваются в Linux
  2. 1. Используя команду netstat
  3. 2. Используя команду ss
  4. 3. Используя программу Nmap
  5. 4. Используя команду lsof
  6. Как настроить брандмауэр UFW на Ubuntu и Debian
  7. Введение
  8. Установка UFW Firewall на Ubuntu и Debian
  9. Проверка брандмауэра UFW
  10. Включение брандмауэр UFW
  11. Политика безопасности для UFW
  12. Профили приложений UFW
  13. Включение UFW под IPv6
  14. Разрешение соединения SSH на UFW
  15. Включение определенных портов в UFW
  16. Открытие порта 80 HTTP на UFW
  17. Открытие порта 443 HTTPS на UFW
  18. Разрешим диапазоны портов для UFW
  19. Разрешим определенные IP-адреса
  20. Разрешим определенные IP-адреса по конкретному порту
  21. Разрешим подсети для конкретного порта
  22. Разрешим доступ через определенный сетевой интерфейс
  23. Запретим соединения для UFW
  24. Открытие портов в Ubuntu
  25. Как посмотреть открытые порты
  26. Как открыть порт в Убунту
  27. Способ первый
  28. Способ второй
  29. Подведём итоги
  30. Как открыть порт Ubuntu
  31. Просмотр правил Iptables
  32. Как открыть порт iptables с нуля
  33. Как открыть порт, если уже есть правила
  34. Выводы
  35. Проброс портов в Ubuntu: как сделать
  36. Что такое проброс портов в Linux
  37. С помощью маршрутизатора
  38. С помощью установки Hamachi в Ubuntu
  39. С помощью Squid
  40. С помощью Iptables
  41. Распространенные ошибки
  42. Использование утилиты UFW на Linux. Настройка UFW на Linux (Ubuntu)
  43. Предварительные требования
  44. Проверка правил и текущего состояния UFW
  45. Краткое описание
  46. Предварительная подготовка
  47. Настройка
  48. Операции с портами
  49. Операции с IP-адресами
  50. netstat – проверка открытых портов в Linux
  51. Используя команду netstat
  52. Список подключенных хостов
  53. Используя команду ss
  54. Используя команду lsof
  55. Используя команду netcat

4 способа узнать, какие порты прослушиваются в Linux

Открыть порт linux ubuntu

Порт может в одном из следующих состояний: открыт (open), фильтруется (filtered), закрыт (closed), без фильтрации (unfiltered).

Порт называется открытым если какое-либо приложение, служба на целевой машине прослушивает (listening) его в ожидании соединений/пакетов.

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

Термин «привязка» используют по отношению к службам, которые прослушивают порт на постоянной основе и готовы принять входящие соединения. Примером таких служб являются SSH, MySQL, веб-сервер. Некоторые приложения (например, веб-браузер) делают исходящие соединения.

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

Если ей понадобится вновь сделать запрос, то она может выбрать любой другой незанятый порт — необязательно тот же самый. Такие порты не являются прослушивающими, то есть они не принимают внешние запросы на инициализацию соединения.

Это состояние сокета называется ESTABLISHED, его нужно отличать от прослушивания порта (LISTENING), то есть от открытых портов.

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

1. Используя команду netstat

Netstat — это широко применяемый инструмент для запроса информации о сетевой подсистеме Linux. Вы можете использовать её для показа всех открытых портов примерно так:

sudo netstat -ltup

Флаг -l говорит netstat вывести все прослушивающие сокеты, -t означает показать все TCP соединения, -u для показа всех UDP соединений и -p включает показывать PID и имя программы/приложения, которое прослушивает порт.

Обратите внимание, что вместо номеров портов программа выводит имена популярных служб. Если вы хотите, чтобы порты были показаны как числа, то добавьте флаг -n.

sudo netstat -lntup

Вы также можете использовать команду grep для определения, какое приложение прослушивает определённый порт, например:

sudo netstat -lntup | grep “httpd”

Можно искать не по имени службы, а по номеру порта, с помощью этого можно определить, какая служба привязана к определённому порту:

sudo netstat -lntup | grep “:80”

Если вам нужно чтобы данные постоянно обновлялись, то используйте ключ -c, тогда новые данные будут выводиться каждую секунду.

sudo netstat -lntupc

2. Используя команду ss

ss — это другой полезный инструмент для отображения информации о сокетах. Её вывод выглядит похоже с тем, какую информацию даёт netstat. В документации netstat сказано, что она в основном устарела и её заменой является как раз ss.

Следующая команда покажет все прослушиваемые порты для TCP и UDP соединений в виде цифровых значений:

sudo ss -lntu

Опции имеют такое же значение:

  • -l означает показать только прослушивающие сокеты (по умолчанию они опускаются);
  • -t означает показать TCP сокеты;
  • -u означает показать UDP сокеты.

Если добавить ключ -p, то программа дополнительно покажет процессы, использующие сокет:

sudo ss -lntup

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

3. Используя программу Nmap

Nmap — это мощный и популярный инструмент исследования сети и сканер портов. Для установки nmap в вашу систему используйте стандартный менеджер пакетов как показано ниже.

На Debian/Ubuntu/Linux Mint:

sudo apt install nmap

На CentOS/RHEL:

sudo yum install nmap

На Fedora 22+:

sudo dnf install nmap

На Arch Linux:

sudo pacman -S nmap

Для сканирования открытых/прослушиваемых портов на вашей системе Linux, запустите следующую команду (она может занять долгое время для завершения):

sudo nmap -n -Pn -sS -sU -p- localhost

4. Используя команду lsof

Последний инструмент, который мы рассмотрим в этой статье, это команда lsof, которая используется для вывода списка открытых файлов в Linux. Поскольку в Unix/Linux всё является файлом, открытый файл может быть потоком или сетевым файлом.

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

sudo lsof -i

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

sudo lsof -i :80

Вот и всё! В этой статье мы узнали четыре способа проверить открытые порты в Linux. Мы также показали, как проверить, какой процесс привязан к определённому порту.

О том, как правильно понимать вывод этих команд, смотрите статью «Что означают 0.0.0.0, :*, [::], 127.0.0.1. Как понять вывод NETSTAT».

Источник: https://ZaLinux.ru/?p=2365

Как настроить брандмауэр UFW на Ubuntu и Debian

Открыть порт linux ubuntu

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

По умолчанию дистрибутив Debian и Ubuntu поставляется с инструментом настройки брандмауэра под названием UFW (Uncomplicated Firewall), который является самым популярным и простым в использовании инструментом командной строки для настройки и управления брандмауэром в дистрибутивах Ubuntu и Debian.

В этой статье мы расскажем, как установить и настроить брандмауэр UFW в дистрибутивах Ubuntu и Debian.

Введение

Прежде чем вы начнете настройку, убедитесь, что вы вошли в ваш сервер Ubuntu или Debian с пользователем sudo или с учетной записью root. Если у вас не создан пользователь с правами sudo, вы можете создать его, используя следующие команды (выполните их как пользователь root):

# adduser username # usermod -aG sudo username # su – username $ sudo whoami

Установка UFW Firewall на Ubuntu и Debian

UFW (Uncomplicated Firewall) обычно установлен по умолчанию в Ubuntu и Debian, если нет, установите его с помощью диспетчера пакетов APT, используя следующую команду:

$ sudo apt install ufw

Проверка брандмауэра UFW

После завершения установки вы можете проверить статус UFW:

$ sudo ufw status verbose

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

Status: inactive

Включение брандмауэр UFW

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

$ sudo ufw enable

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

$ sudo ufw disable

Политика безопасности для UFW

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

Политики брандмауэра UFW находится в файле /etc/default/ufw и могут быть изменены с помощью следующей команды.

$ sudo ufw default deny incoming $ sudo ufw default allow outgoing

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

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

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

$ sudo ufw app list

В зависимости от комплектации установленных пакетов в терминале вы получите примерно такой выход:

Available applications: APACHE APACHE Full APACHE SECURE CUPS OpenSSH Postfix Postfix SMTPS Postfix Submission

Если вы хотите получить дополнительную информацию о конкретном профиле и определенных правилах, вы можете использовать следующую команду.

$ sudo ufw app info 'Apache' Profile: Apache Title: Web Server Description: Apache V2 is the next generation f the omnipresent Apache web server. Ports: 80/tcp

Включение UFW под IPv6

Если ваш сервер настроен на IPv6, убедитесь, что ваш брандмауэр UFW настроен с поддержкой IPv6 и IPv4. Чтобы проверить его настройки, откройте файл конфигурации UFW, используя ваш любимый редактор (в нашем случае любимый редактор — vi):

$ sudo vi /etc/default/ufw

Затем убедитесь, что значение около «IPV6» — «yes» в файле конфигурации, как показано в выводе ниже:

IPV6=yes

Сохраните и выйдите. Затем перезапустите брандмауэр следующими командами:

$ sudo ufw disable $ sudo ufw enable

Разрешение соединения SSH на UFW

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

Давайте настроим SSH-подключение с нашим сервером, используя следующую команду:

$ sudo ufw allow ssh

Если вы используете пользовательский SSH-порт (например, порт 2222), вам необходимо открыть этот порт на брандмауэре UFW, используя следующую команду.

$ sudo ufw allow 2222/tcp

Чтобы заблокировать все подключения SSH, введите следующую команду.

$ sudo ufw deny ssh/tcp $ sudo ufw deny 2222/tcp [If using custom SSH port]

Включение определенных портов в UFW

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

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

Открытие порта 80 HTTP на UFW

$ sudo ufw allow http [By service name] $ sudo ufw allow 80/tcp [By port number] $ sudo ufw allow 'Apache' [By application profile]

Открытие порта 443 HTTPS на UFW

$ sudo ufw allow http $ sudo ufw allow 443/tcp $ sudo ufw allow 'Apache Secure'

Разрешим диапазоны портов для UFW

Предположим, что у вас есть приложения, которые вы хотите запускать на нескольких портах (5000-5003), вы можете добавить все эти порты, используя следующие команды.

sudo ufw allow 5000:5003/tcp sudo ufw allow 5000:5003/udp

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

Если вы хотите разрешить соединения на всех портах с определенного IP-адреса 192.168.56.1, вам необходимо указать этот IP-адрес следующим образом:

$ sudo ufw allow from 192.168.56.1

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

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

$ sudo ufw allow from 192.168.56.1 to any port 22

Разрешим подсети для конкретного порта

Чтобы разрешить соединения для определенных IP-адресов от 192.168.1.1 до 192.168.1.254 для порта 22 (SSH), выполните следующую команду:

$ sudo ufw allow from 192.168.1.0/24 to any port 22

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

Чтобы разрешить соединения с определенным сетевым интерфейсом eth2 для конкретного порта 22 (SSH), выполните следующую команду:

$ sudo ufw allow in on eth2 to any port 22

Запретим соединения для UFW

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

Источник: https://blog.sedicomm.com/2018/07/06/kak-nastroit-brandmauer-ufw-na-ubuntu-i-debian/

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

Открыть порт linux ubuntu

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

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

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

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

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

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

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

Способ достаточно простой и не требует каких-либо усилий с вашей стороны, кроме использования утилиты netstat.

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

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

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

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

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

Ниже рассматриваются примеры для порта 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/bashiptables -P INPUT DROPiptables -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. Поэтому можно не волноваться по поводу несовместимости кодов и их работы в операционной системе.

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

Если ответ будет положительным, то понадобится закрыть все утилиты, связанные с ним. Только потом можно будет повторить свои попытки со скриптами и кодами.

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

Источник: https://nastroyvse.ru/opersys/lix/kak-otkryt-port-v-ubuntu.html

Как открыть порт Ubuntu

Открыть порт linux ubuntu

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

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

Просмотр правил 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 сложно работать. Если разобраться, то все будет достаточно просто. Надеюсь, эта информация была полезной для вас.

(11 4,55 из 5)
Загрузка…

Источник: https://losst.ru/kak-otkryt-port-ubuntu

Проброс портов в Ubuntu: как сделать

Открыть порт linux ubuntu

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

Для решения этой проблемы есть такое явление, как проброс портов в Ubuntu. Этот процесс имеет свои преимущества и недостатки. Также для него характерны некоторые специфические нюансы и методики решения проблем у новичков в области IT-технологии.

Что такое проброс портов в Linux

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

В целом проброс портов debain или иными словами, настройка rinetd, осуществляется с помощью общей программы NAT.

Работа передачи данных достаточно проста и понятна: компьютер или ноутбук имеет свой уникальный адрес.

Когда с помощью него нужно передать какие-то программы или документы, идет запрос к роутеру, а тот меняет адрес компьютера на уникальный адрес сервера. Таким образом, устанавливается связь пользователя с сервером.

Обратный ответ получается аналогично через роутер. Чтобы можно было устанавливать свои адреса для роутера, было создано перенаправление портов Ubuntu.

Ubuntu port forwarding имеет несколько этапов работы:

  1. Переадресация трафика на ядерном уровне. Это происходит с помощью выражения echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward. Чтобы это состояние и возможные изменения смогли сохраниться после перезагрузки оборудования, нужно ввести команду sudo sysctl –w net.ipvip_forward=1.
  2. Настройка прохождения пакетов. Чтобы новые пакеты беспрепятственно приходили на определенный порт, следует ввести выражение sudo iptables -A FORWARD -i eth0 -o eth1 -p tcp –syn –dport 80 -m conntrack –ctstate NEW -j ACCEPT. Для разрешения прохода другого трафика нужно ввести команду sudo iptables -A FORWARD -i eth0 -o eth1 -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT. Чтобы процесс хорошо проходил в обоих направлениях, нужно ввести запись $ sudo iptables -A FORWARD -i eth1 -o eth0 -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT. По умолчанию поставить режим DROP: sudo iptables -P FORWARD DROP.
  3. Модификация пакетов. В этом случае создаются определенные правила работы системы с пакетами. Чтобы осуществлялось перенаправление документов только на один порт, нужна команда: sudo iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to-destination168.1.2. Можно настроить получение пакетов на маршрутизатор: sudo iptables -t nat -A POSTROUTING -o eth1 -p tcp –dport 80 -d 192.168.1.2 -j SNAT –to-source 192.168.1.1. Для установки еще одного порта: sudo iptables -t nat -A POSTROUTING -o eth1 -p tcp –dport 80 -d 192.168.1.2 -j SNAT –to-source 192.168.1.1:8080. Для указания возможного диапазона: sudo iptables -t nat -A POSTROUTING -o eth1 -p tcp –dport 1000:2000 -d 192.168.1.2 -j SNAT –to-source 192.168.1.1
  4. Сохранение настроек. Это делается просто, одной записью: sudo service iptables-persistent save.

Технология Ubuntu port forwarding достаточна проста.

Совет! Начинающему пользователю для профилактики различных проблем лучше перед началом проброса портов проконсультироваться со специалистами сервисного центра.

Проброс портов в Ubuntu server может происходить разными путями. Причем у каждого метода есть своя специфическая методика.

С помощью маршрутизатора

Пусть есть конкретная ситуация:

$EXT_IP – внешний, реальный IP-адрес шлюза

$INT_IP – внутренний IP-адрес шлюза, в локальной сети

$LAN_IP – внутренний IP-адрес сервера, предоставляющего службы внешнему миру

$SRV_PORT – порт службы. Для веб-сервера равен 80, для SMTP – 25 и т. д.

eth0- внешний интерфейс шлюза. Именно ему присвоен сетевой адрес $EXT_IP

eth1 – внутренний интерфейс шлюза, с адресом $INT_IP

А для облегчения понимания, в таких блоках рассмотрены конкретные ситуации:

1.2.3.4 – внешний адрес шлюза

192.168.0.1 – внутренний адрес шлюза

В локальной сети работает веб-сервер (порт 80) для сайта webname.dom

192.168.0.22 – внутренний адрес веб-сервера

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

  1. Маршрутизация: установка параметров маршрутизатора iptables -t nat -A PREROUTING –dst2.3.4 -p tcp –dport 80 -j DNAT –to-destination 192.168.0.22 и установка процесса iptables -I FORWARD 1 -i eth0 -o eth1 -d 192.168.0.22 -p tcp -m tcp –dport 80 -j ACCEPT.
  2. Для разрешения доступа других пользователей с другими адресами: iptables -t nat -A POSTROUTING –dst168.0.22 -p tcp –dport 80 -j SNAT –to-source 192.168.0.1.
  3. Для предотвращения переадресации к маршрутизатору: iptables -t nat -A OUTPUT –dst2.3.4 -p tcp –dport 80 -j DNAT –to-destination 192.168.0.22.

Для автоматического запуска изучаемого процесса можно создать скрипт.

И дальнейшее обращение к пробросу будет выполняться пользователем записью в командной строке: ./script.sh 192.168.0.56 20,21.

С помощью установки Hamachi в Ubuntu

Технология немного отличается от предыдущего варианта:

  1. Скачивание, загрузка и «сборка» необходимого пакета программы: wgethttps://secure.logmein.com/labs/logmein-hamachi_2.1.0.119-1_amd64.deb; sudo apt-get install lsb; dpkg -i logmein-hamachi_2.1.0.119-1_amd64.deb.
  2. Запуск программы, наименование гаджета и подключение к сети: service logmein-hamachi start hamachi login; hamachi set-nick $NAME; hamachi join $NAME_NETWORK.
  3. Выбор необходимой сети: hamachi list.
  4. Далее следует изменить настройки: sudo apt-get install rinetd; nano /etc/rinetd.conf; IP_in port_in IP_out port_out.
  5. Перезапустить службу: service rinetd restart.
  6. Выключить менеджер задач: sudo ufw disable.

Осталось только перезагрузить систему.

С помощью Squid

Он используется для контроля слишком большого трафика.

Алгоритм также прост:

  1. Установка: sudo apt-get install squid3.
  2. Настройка: /etc/squid/squid.conf.

Затем действия идут такие же, как и в предыдущем варианте.

С помощью Iptables

Такая программа аналогична первому варианту. Собственно алгоритм будет такой же:

  1. Маршрутизация: установка параметров маршрутизатора iptables -t nat -A PREROUTING –dst2.3.4 -p tcp –dport 80 -j DNAT –to-destination 192.168.0.22 и установка процесса iptables -I FORWARD 1 -i eth0 -o eth1 -d 192.168.0.22 -p tcp -m tcp –dport 80 -j ACCEPT.
  2. Для разрешения доступа других пользователей с другими адресами: iptables -t nat -A POSTROUTING –dst168.0.22 -p tcp –dport 80 -j SNAT –to-source 192.168.0.1.
  3. Для предотвращения переадресации к маршрутизатору: iptables -t nat -A OUTPUT –dst2.3.4 -p tcp –dport 80 -j DNAT –to-destination 192.168.0.22.

Для автоматического запуска изучаемого процесса можно создать скрипт.

И дальнейшее обращение к пробросу будет делаться пользователем записью в командной строке: ./script.sh 192.168.0.56 20,21.

Распространенные ошибки

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

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

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

Источник: https://iwsm.ru/operatsionnye-sistemy/linux/probros-portov-v-linux

Использование утилиты UFW на Linux. Настройка UFW на Linux (Ubuntu)

Открыть порт linux ubuntu

UFW (Uncomplicated Firewall — несложный фаервол) —  удобный интерфейс для управления политиками безопасности межсетевого экрана. Наши серверы постоянно подвергаются различным атакам или сканируются в поиске уязвимостей.

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

В нашем руководстве мы рассмотрим основные команды и правила работы с утилитой UFW.

Предварительные требования

  1. Для начала работы с UFW вам потребуется суперпользователь(возможность исполнения команд под sudo).  

  2. Утилита  UFW предустановлена в системе. Если по какой-то причине она была отсутствует, вы можете установить ее  с помощью команды:

    sudo apt-get install ufw

Проверка правил и текущего состояния UFW

В любое время вы можете проверить состояние UFW с помощью команды:

sudo ufw status verbose

По умолчанию UFW отключен, так что вы должны увидеть что-то вроде этого:

Status: inactive

Если UFW включен, то в консоли будут перечисляться заданные правила. Например, если firewall настроен таким образом — SSH (порт 22) соединение из любой точки мира, консоль может выглядеть следующим образом:

Status: activeLogging: on (low)Default: deny (incoming), allow (outgoing), disabled (routed)New profiles: skip To                         Action      From—                         ——      —-22                         ALLOW IN    Anywhere22 (v6)                    ALLOW IN    Anywhere (v6)

Так вы всегда можете узнать как настроен фаервол. 

Внимание! Проведите начальную настройку перед включением UFW. В частности, должен быть доступен SSH(22 порт). В ином случае вы рискуете потерять доступ к серверу.

Краткое описание

С английского языка название дословно переводится как несложный (упрощенный) брандмауэр. Особенность продукта — минимализм с графической оболочкой на основе командной строки.

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

Создание более сложных правил и тонкая настройка доступны в iptables.

Изначально решение разрабатывалось для операционных систем семейства Debian и Ubuntu. Дальнейшие действия выполняются под управлением Ubuntu.

Предварительная подготовка

Если UFW не установлен на серверной платформе, используем стандартную утилиту:

sudo apt-get install ufw

Второй вариант – утилита установлена, но неактивна, тогда прописываем:

sudo ufw enable

Важно! Любые действия, связанные с конфигурированием продукта, выполняются с правами суперпользователя.

После инсталляции проверим состояние программы:

sudo ufw status verbose

Стандартная конфигурация программы блокирует входящий трафик, но разрешает исходящий. Чтобы изменить параметры, открываем системный файл:

sudo nano /etc/default/ufw

sudo ufw default deny incoming
sudo ufw default allow outgoing

Первая строка отвечает за блокировку, а вторая за исходящие подключения.

Настройка

UFW распределяет правила согласно профилям программ. Они хранятся по следующему пути:

/etc/ufw/applications.d

Создание нового или редактирование текущего профиля проводится администратором в ручном режиме. Для начала ознакомимся с текущими профилями:

sudo ufw app list

Просмотр подробной информации по любой записи осуществляется при помощи следующей команды:

sudo ufw app info ‘name’

Где name — наименование профиля, которое заключается в одинарные кавычки.

Например, просмотрим сервис OpenSSH:

Первая строка — имя новой записи в UFW. Вторая описывает заголовок, по которому профиль будет идентифицироваться. Третья содержит краткое описание сервиса (рекомендуется использовать 1-2 предложения). Последняя строка указывает порты, которые необходимо открыть для работы приложения.

Сохраняем файл и перезагружаем межсетевой экран:

ufw reload

Следующий шаг — прописываем политику для новой записи. Доступно два режима: разрешить (Allow) и запретить (Deny). Синтаксис выглядит следующим образом:

ufw

Где action – одно из двух значений Allow или Deny, а name_profile — наименование профиля.

Операции с портами

Для открытия/закрытия портов также используется команды Allow/Deny, в зависимости от требований администратора. Синтаксис выглядит следующим образом:

sudo ufw /

Расшифровка:

1. action — одно из двух действий: разрешить (Allow) или запретить (Deny);2. port — цифровое имя порта, для которого применяется правило;

3. name_protocol — наименование протокола.

Если требуется указать перечень портов, используем двоеточие между начальной и конечной точкой. Альтернативный вариант — использовать имя службы, для которой создается запись. Например, откроем порт для сервиса HTTP:

sudo ufw allow http

Важно! UFW разрешает стандартный порт, который закреплен за службой. Если значение отличается от общепринятых, то создавать правило по имени сервиса нельзя — оно не активируется.

Операции с IP-адресами

Аналогично портам правила создаются правила и для IP-адресов. Синтаксис идентичен предыдущему пункту:

sudo ufw from

Action – принимает значение Allow или Deny, IP-адрес – адрес оборудования, которому предоставляется/запрещается доступ к серверу.

Источник: https://GitJournal.tech/nastrojka-faervola-v-ubuntu-s-pomoshhju-utility-ufw/

netstat – проверка открытых портов в Linux

Открыть порт linux ubuntu

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

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

Злоумышленники любят, когда порты открыты, так как приложения, прослушивающие эти порты, являются простыми целями.

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

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

Используя команду netstat

netstat -anltp | grep “LISTEN”

Обычный веб-сервер, на котором запущены FTP, SSH и MySQL, выведет следующую информацию:

tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 21432/mysqld

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4090/apache2

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 7213/sshd

tcp6 0 0 :::21 :::* LISTEN 19023/proftpd

tcp6 0 0 :::22 :::* LISTEN 7234/sshd

Вышеуказанная команда запускает утилиту netstat с соответствующими флагами и передает вывод функции grep, которая извлекает строки, содержащие слово «LISTEN». В результате мы получаем список открытых портов и имена процессов, прослушивающих эти порты.

Все команды netstat, ss, netcat относится к сетевым утилитам и доступны по-умолчанию в большинстве linux-дистрибутивах.

Команда netstat умеет показывать сетевые соединения (входящие/исходящие), таблицу маршрутизации, статистику по сетевым интерфейсам и т.д.

Список подключенных хостов

netstat -lantp | grep ESTABLISHED |awk '{print $5}' | awk -F: '{print $1}' | sort -u

Используя команду ss

Утилита ss позволяет просматривать информацию об используемых сокетах в системе. Эта команда обладает схожим функционалом к netstat, но есть и уникальные возможности. Например можно фильтровать вывод по установленным соединениям с определенным портом.

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

ss -p

Список сокетов в режиме прослушивания

ss -l

Пример фильтра — список всех соединений к порту 80

ss -o state established '( dport = :www or sport = :www )'

Используя команду lsof

Утилита lsof умеет отображать процессы, которые работают с определенным файлом или сокетом.

Список всех сетевых соединений

lsof -i

Список процессов, работающих с портом 80

lsof -i :80

Используя команду netcat

Утилита netcat позволяет передавать/принимать данные через TCP/UDP соединения.

Шаблон вызова утилиты

nc host port

Откроем прием (ключ -l) данных на порте 1234 с подробным выводом информации (ключ -v) и продолжением работы после разрыва соединения (ключ -k), по-умолчанию nc разрывает соединение после первого дисконекта.

nc -l 1234

Подключаемся к открытому порту и отправим import antigravity

Источник: https://svictor.ru/port-ubuntu-linux/

Лайфхаки
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: