Новичкам
August 4, 2021

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

1package & Let's Node

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


Содержание


Общая информация

К содержанию

⠀В большинстве случаев (зависит от арендованных серверов), можно столкнуться с 2-мя возможными сценариями открытия портов:

  1. Брандмауэр будет активирован и открыть порт можно будет 1 командой;
  2. Брандмауэр отключен, открывать порты нужно другим способом и при этом нужно быть аккуратным.

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

К содержанию

Ручное

1) Остановить ноду

sudo systemctl stop SERVICE_FILE_NAME

SERVICE_FILE_NAME — название сервисного файла, например massad

2) Проверить, включен ли брандмауэр командой

sudo ufw status

3) Открыть необходимые порты

# Если команда из шага 2 вернула "Status: active"
sudo ufw allow REQUIRED_PORT

REQUIRED_PORT — порт, который нужно открыть, например 8888

⠀Перейти на шаг 4

# Если команда из шага 2 вернула "Status: inactive" или ошибку
sudo iptables -I INPUT -p tcp --dport REQUIRED_PORT -j ACCEPT
sudo apt-get -y install iptables-persistent
sudo netfilter-persistent save

⠀При включении ранее выключенного брандмауэра необходимо открыть 22 порт, позволяющий подключаться через SSH, чтобы не потерять подключение к серверу

sudo ufw allow 22

⠀Если это не было сделано и потерян доступ к подключению через SSH, то необходимо:

  1. Подключиться к серверу через VNC;
  2. Вписать имя пользователя;
  3. Ввести пароль от этого пользователя;
  4. Открыть 22 порт.

4) Проверить, открылись ли порты

ss -tulpn

5) Перезагрузить ноду

sudo systemctl restart SERVICE_FILE_NAME

SERVICE_FILE_NAME — название сервисного файла, например massad

Автоматическое

1) Запустить скрипт

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/ports_opening.sh) \
REQUIRED_PORT1 REQUIRED_PORT2

REQUIRED_PORT... — открываемый порт, например 8888

2) Перезагрузить ноду

sudo systemctl restart SERVICE_FILE_NAME

SERVICE_FILE_NAME — название сервисного файла, например massad


Благодарности

К содержанию

Команда 1package — написание статьи

Выразить благодарность