Как открыть порты в Linux

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

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

Что такое порт и зачем мне его открывать?

Порт — это конечная точка в сети. Думайте об этом как о двери, ведущей в определенную комнату или во внешний мир, но на вашем компьютере. Все, что вы делаете в Интернете, использует определенный порт или серию портов.

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

Порты стандартизированы для всех устройств, подключенных к сети. Первые 1024 порта (от 0 до 1023) называются общеизвестными номерами портов . Они зарезервированы для наиболее часто используемых сервисов, таких как HTTP и HTTP (порты 80 и 443 соответственно) и SSH (порт 22).

Номера портов выше 1024 называются эфемерными портами и обычно доступны для использования в онлайн-играх, частных веб-серверах и т. д. Порты с номерами от 1024 до 49151 называются зарегистрированными или пользовательскими портами , а порты с номерами от 49152 до 65535 называются динамическими или частными портами .

Список открытых портов в Linux

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

netstat -lntu

Как открыть порты в Linux

Это напечатает все прослушиваемые сокеты ( -l ) вместе с номером порта ( -n ). Он включает порты TCP ( -t ), а также UDP ( -u ). Если в вашей системе нет netstat , просто используйте ss с теми же параметрами.

ss -lntu

Как открыть порты в Linux

Как открыть порты в Linux

Для этого примера предположим, что мы хотим открыть порт 4000 для соединений TCP. Сначала нам нужно убедиться, что порт еще не используется. Делаем это через netstat или ss .

netstat -na | grep :4000 ss -na | grep :4000

Предполагая, что вывод пуст, мы можем добавить соответствующие правила для портов в системный брандмауэр. Методы для этого будут различаться в зависимости от вашего дистрибутива и от того, использует ли он более новый брандмауэр ufw или firewalld . Ubuntu предпочитает ufw , в то время как CentOS вместо этого обычно использует firewalld . Конечно, некоторые дистрибутивы Linux все еще используют старый брандмауэр iptables .

Для пользователей Ubuntu и других систем на базе брандмауэра ufw

Вместо использования старого брандмауэра iptables Ubuntu и некоторые другие дистрибутивы используют ufw . В этих системах следующая команда откроет порт.

sudo ufw allow 4000

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

Как открыть порты в Linux с помощью CentOS и других систем на основе брандмауэра

Если в вашей системе используется firewalld , лучше всего использовать команду firewall-cmd для обновления правил.

sudo firewall-cmd --add-port=4000/tcp

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

Для других дистрибутивов Linux

Если в вашей системе Linux нет ufw или firewalld , вам нужно использовать iptables . Если он не установлен, загрузите его с помощью выбранного менеджера пакетов. После установки эти команды откроют порт 4000:

sudo iptables -A INPUT -p tcp --dport 4000 -j ACCEPT sudo service iptables restart

Если ваша система использует systemctl , замените вторую команду на:

sudo systemctl restart iptables

Тестирование недавно открытых портов для соединений

Затем мы должны протестировать порт, чтобы убедиться, что он принимает соединения. Мы делаем это, используя netcat ( nc ) для прослушивания порта, а затем пытаемся подключиться к нему через telnet.

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

sudo ls | nc -l -p 4000

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

telnet [hostname/IP address] [port number]

Замените [имя хоста/IP-адрес] на IP-адрес вашей системы и [номер порта] на номер порта, который вы открыли.

telnet localhost 4000

Вы должны увидеть вывод, как показано ниже, указывающий на открытое соединение с nc .

Как открыть порты в Linux

Мы также можем показать, что порт открыт, используя nmap . Опять же, если команда еще не установлена, используйте диспетчер пакетов для ее получения.

nmap localhost -p 4000

Как открыть порты в Linux

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

Я не могу подключиться к только что открытому порту, что теперь?

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

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

Как навсегда открыть порт в Linux

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

Для пользователей брандмауэра

Заставить правило порта оставаться после перезагрузки легко с помощью firewalld . Просто добавьте флаг —permanent к своей начальной команде, и он будет включен в правила брандмауэра вашей системы Linux при запуске.

sudo firewall-cmd --add-port=4000/tcp --permanent

Если вы все еще используете iptables

Брандмауэр iptables доставляет гораздо больше хлопот (возможно, это хорошая причина для перехода на firewalld или ufw ). Чтобы «навсегда» открыть порт в iptables , вы можете установить в помощь пакет iptables-persistent .

Когда вы впервые устанавливаете iptables-persistent в системе на основе Debian, ваши текущие правила будут сохранены либо в /etc/iptables/rules.v4 , либо в /etc/iptables/rules.v6 . Чтобы добавить новые правила, введите следующую команду:

sudo iptables-save > /etc/iptables/rules.v4

ИЛИ ЖЕ

sudo iptables-save > /etc/iptables/rules.v6

Для тех, кто использует дистрибутивы Linux на основе RPM, все немного по-другому. Пакет называется iptables-services , а файлы сохранения — /etc/sysconfig/iptables и /etc/sysconfig/ip6tables .

В дистрибутивах на основе RPM для портов IPv6 также используется другая команда. Сохранение ваших правил выполняется с помощью одной из этих двух команд:

sudo iptables-save > /etc/sysconfig/iptables sudo ip6tables-save > /etc/sysconfig/iptables

Обязательно следите за использованием порта

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

Оставить комментарий

Outlook получает почту, но не отправляет? Как найти и устранить истинную причину

Outlook получает почту, но не отправляет? Как найти и устранить истинную причину

Исправьте Outlook, когда входящая почта работает, а отправка не удается. Изолируйте проблемы с веб-почтой, папкой «Исходящие», SMTP, лимитами аккаунта и профилем без догадок.

Как конвертировать PDF в редактируемый документ Word без потери форматирования

Как конвертировать PDF в редактируемый документ Word без потери форматирования

Конвертируйте PDF в редактируемый Word, сохраняя максимальное количество форматирования. Узнайте о лучшем методе, проверке качества, опциях OCR и случаях, когда стоит сменить подход.

Как запретить Excel автоматически преобразовывать числа в даты

Как запретить Excel автоматически преобразовывать числа в даты

Узнайте, как предотвратить превращение записей вроде 1-2, 3/4, JAN1 и кодов товаров в даты. Используйте текстовый формат, апостроф, настройки автоматического преобразования данных или контролируемый импорт CSV.

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

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

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

Как исправить ошибку открытия документа Word в режиме «Только для чтения» на Mac

Как исправить ошибку открытия документа Word в режиме «Только для чтения» на Mac

Исправьте ошибку открытия документа Word в режиме «Только для чтения» на Mac, проверив режим Word, разрешения Finder, права доступа, обновления Office и активацию.

Простой шаблон матрицы делегирования задач в Word для руководителей небольших команд

Простой шаблон матрицы делегирования задач в Word для руководителей небольших команд

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

6 простых и быстрых решений для исправления ошибки PS4 CE-32895-7

6 простых и быстрых решений для исправления ошибки PS4 CE-32895-7

Получение ошибки CE-32895-7 при попытке войти в систему или подключиться к PS4, затем следуйте приведенным решениям и легко устраните ошибку PS4 CE-32895-7.

7 быстрых исправлений ошибки ReCaptcha для владельца сайта: неверный тип ключа

7 быстрых исправлений ошибки ReCaptcha для владельца сайта: неверный тип ключа

Увидев Google ReCaptcha «Ошибка для владельца сайта: неверный тип ключа», попробуйте исправить, например, перейти на ключ ReCaptcha V2, обновить браузер и т. д.

Распространенные проблемы Pixel 6 и Pixel 6 Pro и способы их решения

Распространенные проблемы Pixel 6 и Pixel 6 Pro и способы их решения

Мы составили список наиболее распространенных проблем с Pixel 6 и Pixel 6 Pro, а также некоторые применимые решения. Узнайте больше здесь и дайте нам свои 2 цента.

Как решить проблему «Sims 4 Сим не спит»? [ПРОВЕРЕННЫЕ СПОСОБЫ]

Как решить проблему «Sims 4 Сим не спит»? [ПРОВЕРЕННЫЕ СПОСОБЫ]

Обеспокоены уровнем энергии симов, поскольку симы не остаются в постели и не засыпают? Прочитайте о решениях проблемы Sims 4: сим не спит.