Перейти к содержимому

Как открыть 22 порт ubuntu

  • автор:

Sorry, you have been blocked

This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.

What can I do to resolve this?

You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.

Cloudflare Ray ID: 7a25f7d4d93f2d97 • Your IP: Click to reveal 88.135.219.175 • Performance & security by Cloudflare

Как открыть порт на VPS

Для данной ОС управление открытием и закрытием портов как правило производится через файрволл ufw.

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

Команды:

— открываем стандартный порт для ssh. Если у Вас ssh у Вас работает по другому порту, то замените 22 на его номер.

Если открытие порта пройдет успешно, то появится сообщение «Rules updated».

открытые порты

— включаем файрволл.

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

Если после этого повторно выполнить sudo ufw status verbose, то увидим, что статус сменился на active, а также уже открытые порты.

После активации файрволла открыть порт можно командой: sudo ufw allow порт/протокол (можно указать диапазон портов через двоеточие). Пример:

Открыть порт

Выполнив ещё раз sudo ufw status verbose можем убедиться, что порты успешно открылись.

2. Открыть порт на Ubuntu 18.04.

Будем использовать iptables. Посмотрим список действующих правил iptables. Команда:

Правила iptables на vps

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

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

Добавим правила, которые разрешат обмен данными между любыми портами на локальном интерфейсе lo и добавим в разрешенные уже установленное нами подключение, чтобы не потерять доступ к VPS по ssh. Команды:

Также откроем 22 порт для ssh-доступа в дальнейшем. Команда:

И сменим политику по умолчания для входящих подключений с разрешения на блокирование. Команда:

Сохраним изменения командой (иначе они пропадут после перезагрузки VPS):

Добавление правил изменение политики на VPS

Теперь снова смотрим список действующих правил командой:

Список действующих правил

Видим, что для входящих (цепочка INRUT) политика сменилась на DROP, а разрешены только те входящие подключения, правила для которых мы добавили выше.

Новый порт можно открыть командой вида: sudo iptables -I INPUT -p протокол —dport номер порта -j ACCEPT.

Обратите внимание, что ранее мы использовали -A, сейчас используем -I, чтобы избежать конфликта с правилам и добавленными ранее — опция -I добавит новое правило в начало списка.

Пример команды на открытие порта 1888 для протокола tcp:

Также не забываем сохранить командой: sudo /sbin/iptables-save

Открытие нового порта

Командой sudo iptables -L снова проверим список правил. Видим, что порт успешно открыт.

Список правил

3. Открытие портов через CSF

Сначала обновим пакеты на VPS, команды:

обновим пакеты на VPS

Сначала установим модули Perl, необходимые для CSF. Команды:

На Centos

На Ubuntu/Debian

Далее скачаем архив csf с официального сайта. Распакуем, перейдем в каталог с распакованным архивом и запустим установку.

скачаем архив csf с официального сайта

Запуск установку

В случае успешной установки должно вывестись сообщение «Install ation Completed». Далее нужно протестировать работу модулей командой:

RESULT: csf should function on this server

Если все установлено и работает корректно, результатом вывода должно стать сообщение «RESULT: csf should function on this server».

Следующим шагом откроем конфигурационный файл CSF и переведем файрволл из тестового режима в рабочий. Команда:

Изменение значения TESTING

Нам нужно сначала в файле изменить значение TESTING = «1» на TESTING = «0».

Далее запускаем файрволл и проверяем его статус. Должно быть «Active».

Запуск файрволл

Чтобы теперь открыть порт через CSF, нам нужно снова открыть файл /etc/csf/csf.conf и найти строки, начинающиеся с директив TCP_IN, TCP_OUT, UDP_IN, UDP_OUT.

Секция TCP_IN открывает порты для входящих соединений по tcp-протоколу, секция TCP_OUT — для исходящих.

Секции UDP_IN и UDP_OUT = для входящих и исходящих соединений по udp-протоколу.

В соответствующей строке через запятую указываем номера портов, которые нужно открыть. В данном примере прописан tcp-порт 8888 для входящих соединений, также оставлены порты, которые в момент установки csf прописывает по умолчанию.

открыть порт через CSF

Сохраняем изменения и перезапускаем csf командой csf -r

Готово, порт открыт.

4. Открыть порт на Centos 7

На Centos7 в комплекте идет свой файрволл-надстройка над Iptables, который называется Firewalld.

Сначала проверим, запущен ли данный сервис, командой:

  • drop — блокировать все входящие пакеты, разрешить только исходящие.
  • block — в отличие от предыдущего варианта отправителю пакета будет отправлено сообщение по блокировке его пакета.
  • public — поддерживаются входящие соединения только для ssh и dhclient.
  • external — поддерживает NAT для скрытия внутренней сети.
  • internal и home — разрешены сервисы ssh, samba, mdns и dhcp.
  • dmz — используется для изолированных серверов, у которых нет доступа к сети. Разрешено только подключение по SSH.
  • work — разрешены сервисы ssh и dhcp.
  • trusted — всё разрешено.

На свежеустановленной Centos7 имеющемся интерфейсам по умолчанию будет назначена зона public. Посмотреть информацию о действующих правилах для зоны можно командой вида: sudo firewall-cmd —zone= имя зоны —list-all. Соответственно для зоны public команда будет выглядеть, как:

Проверка зон

Можем видеть, что в зону public у нас уже по умолчанию добавлены сервисы ssh и dhcpv6-client

5. Открыть порт двумя способами

Первый способ — прямой командой вида: sudo firewall-cmd —zone=имя зоны —remove-port=номер порта/протокол —permanent

Пример для зоны: public, порта: 3471 и протокола: tcp

Опция —permanent нужна, чтобы добавленные правила сохранились после перезагрузки VPS. В завершение нужно перезапустить файрволл командой:

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

В случае успешного выполнения команд получим сообщение «success».

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

Второй способ открыть порт

Добавить сервис в зону — командой вида: sudo firewall-cmd —zone=имя зоны —add-service=имя сервиса —permanent

Например, команда добавления сервиса SMTP в зону public будет иметь вид:

После также нужно перезапустить файрволл sudo firewall-cmd —reload

Добавить сервис в зону

Для проверки еще раз выполним sudo firewall-cmd —zone=public —list-all, как можем видеть в результатах вывода — сервис smtp добавлен, порт открыт.

сервис smtp добавлен, порт открыт

Подобрать лучшие VPS с SSD-дисками, можно на нашем сайте.

How To Open a Port on Linux

How To Open a Port on Linux

A port is a communication endpoint. Within an operating system, a port is opened or closed to data packets for specific processes or network services.

Typically, ports identify a specific network service assigned to them. This can be changed by manually configuring the service to use a different port, but in general, the defaults can be used.

The first 1024 ports (port numbers 0 to 1023 ) are referred to as well-known port numbers and are reserved for the most commonly used services. These include SSH (port 22 ), HTTP (port 80 ), HTTPS (port 443 ).

Port numbers above 1024 are referred to as ephemeral ports.

  • Port numbers 1024 to 49151 are called the registered/user ports.
  • Port numbers 49152 to 65535 are called the dynamic/private ports.

In this tutorial, you will open an ephemeral port on Linux, since the most common services use the well-known ports.

Prerequisites

To complete this tutorial, you will need:

  • Familiarity with using the terminal.

List All Open Ports

Before opening a port on Linux, you must check the list of all open ports, and choose an ephemeral port to open that is not on that list.

Use the netstat command to list all open ports, including TCP and UDP, which are the most common protocols for packet transmission in the network layer.

This will print:

  • all listening sockets ( -l )
  • the port number ( -n )
  • TCP ports ( -t )
  • UDP ports ( -u )

Note: If your distribution doesn’t have netstat , you can use the ss command to display open ports by checking for listening sockets.

Verify that you are receiving consistent outputs using the ss command to list listening sockets with an open port:

This will print:

This gives more or less the same open ports as netstat .

Opening a Port on Linux to Allow TCP Connections

Now, open a closed port and make it listen for TCP connections.

For the purposes of this tutorial, you will be opening port 4000 . However, if that port is not open in your system, feel free to choose another closed port. Just make sure that it’s greater than 1023 .

Ensure that port 4000 is not used using the netstat command:

Or the ss command:

The output must remain blank, thus verifying that it is not currently used, so that you can add the port rules manually to the system iptables firewall.

For Ubuntu Users and ufw -based Systems

Use ufw — the command line client for the UncomplicatedFirewall.

Your commands will resemble:

Refer to How to Setup a ufw Firewall Setup for your distribution.

Note:

  • Ubuntu 14.0.4: “Allow Specific Port Ranges”
  • Ubuntu 16.0.4/18.0.4/20.0.4/22.0.4: “Allowing Other Connections / Specific Port Ranges”
  • Debian 9/10/11: “Allowing Other Connections / Specific Port Ranges”

For CentOS and firewalld -based Systems

Use firewall-cmd — the command line client for the firewalld daemon.

Your commands will resemble:

Refer to How to Set Up firewalld for your distribution.

Note:

  • CentOS 7/8: “Setting Rules for your Applications / Opening a Port for your Zones”
  • Rocky Linux 8/9: “Setting Rules for your Applications / Opening a Port for your Zones”

For Other Linux Distributions

Use iptables to change the system IPv4 packet filter rules.

Note:

  • Ubuntu 12.04: “A Basic Firewall”
  • Ubuntu 14.04: “Accept Other Necessary Connections”

Test the Newly Opened Port for TCP Connections

Now that you have successfully opened a new TCP port, it is time to test it.

First, start netcat ( nc ) and listen ( -l ) on port ( -p ) 4000 , while sending the output of ls to any connected client:

Now, after a client has opened a TCP connection on port 4000 , they will receive the output of ls . Leave this session alone for now.

Open another terminal session on the same machine.

Since you opened a TCP port, use telnet to check for TCP Connectivity. If the command doesn’t exist, install it using your package manager.

Input your server IP and the port number ( 4000 in this example) and run this command:

This command tries to open a TCP connection on localhost on port 4000 .

You’ll get an output similar to this, indicating that a connection has been established with the listening program ( nc ):

The output of ls ( while.sh , in this example) has also been sent to the client, indicating a successful TCP Connection.

Use nmap to check if the port ( -p ) is open:

This command will check the open port:

The port has been opened. You have successfully opened a new port on your Linux system.

Note: nmap only lists opened ports that have a currently listening application. If you don’t use any listening application, such as netcat, this will display the port 4000 as closed since there isn’t any application listening on that port currently. Similarly, telnet won’t work either since it also needs a listening application to bind to. This is the reason why nc is such a useful tool. This simulates such environments in a simple command.

But this is only temporary, as the changes will be reset every time you reboot the system.

Persisting Rules

The approach presented in this article will only temporarily update the firewall rules until the system shuts down or reboots. So similar steps must be repeated to open the same port again after a restart.

For ufw Firewall

ufw rules do not reset on reboot. This is because it is integrated into the boot process, and the kernel saves the firewall rules using ufw by applying appropriate config files.

For firewalld

You will need to apply the —permanent flag.

Refer to How to Set Up firewalld for your distribution.

Note:

  • CentOS 7/8: “Setting Rules for your Applications”
  • Rocky Linux 8/9: “Setting Rules for your Applications”

For iptables

You will need to save the configuration rules. These tutorials recommend iptables-persistent .

Note:

  • Ubuntu 12.04: “Saving Iptables Rules”
  • Ubuntu 14.04: “Saving your Iptables Configuration”

Conclusion

In this tutorial, you learned how to open a new port on Linux and set it up for incoming connections. You also used netstat , ss , telnet , nc , and nmap .

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Luxury Car Rental in Miami | Reserve a Premium Vehicle with RealCar