Як відкрити порти в 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 чи брандмауер . 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, ви також повинні регулярно перевіряти свої відкриті порти. Закрийте всі відкриті порти, які більше не потрібні. Разом із регулярною зміною пароля це хороша практика безпеки, яка допоможе вам уникнути вторгнень у систему та експлойтів безпеки.

Tags: #ЯК

[100% вирішено] Як виправити повідомлення «Помилка друку» у Windows 10?

[100% вирішено] Як виправити повідомлення «Помилка друку» у Windows 10?

Отримання повідомлення про помилку друку у вашій системі Windows 10, тоді дотримуйтеся виправлень, наведених у статті, і налаштуйте свій принтер на правильний шлях…

Як записати та відтворити запис Microsoft Teams

Як записати та відтворити запис Microsoft Teams

Ви можете легко повернутися до своїх зустрічей, якщо запишете їх. Ось як записати та відтворити запис Microsoft Teams для наступної зустрічі.

Як скинути програми за замовчуванням на Android

Як скинути програми за замовчуванням на Android

Коли ви відкриваєте файл або клацаєте посилання, ваш пристрій Android вибирає програму за умовчанням, щоб відкрити його. Ви можете скинути стандартні програми на Android за допомогою цього посібника.

ВИПРАВЛЕНО: помилка сертифіката Entitlement.diagnostics.office.com

ВИПРАВЛЕНО: помилка сертифіката Entitlement.diagnostics.office.com

ВИПРАВЛЕНО: помилка сертифіката Entitlement.diagnostics.office.com

10 найпопулярніших веб-сайтів з іграми, які школа не блокувала у 2022 році

10 найпопулярніших веб-сайтів з іграми, які школа не блокувала у 2022 році

Щоб дізнатися про найкращі ігрові сайти, які не блокуються школами, прочитайте статтю та виберіть найкращий веб-сайт із розблокованими іграми для шкіл, коледжів і робіт

ВИПРАВЛЕНО: принтер у стані помилки [HP, Canon, Epson, Zebra та Brother]

ВИПРАВЛЕНО: принтер у стані помилки [HP, Canon, Epson, Zebra та Brother]

Якщо ви зіткнулися з проблемою стану помилки принтера на ПК з Windows 10 і не знаєте, як із нею впоратися, дотримуйтесь цих рішень, щоб її виправити.

Як створити резервну копію Chromebook (2022)

Як створити резервну копію Chromebook (2022)

Якщо вам цікаво, як створити резервну копію Chromebook, ми допоможемо вам. Дізнайтеся більше про те, що створюється автоматично, а що ні, тут

Як виправити, що програма Xbox не відкривається в Windows 10 [КОРОТКИЙ ПОСІБНИК]

Як виправити, що програма Xbox не відкривається в Windows 10 [КОРОТКИЙ ПОСІБНИК]

Хочете виправити програму Xbox, яка не відкривається в Windows 10, а потім дотримуйтеся виправлень, як-от увімкнути програму Xbox із служб, скинути налаштування програми Xbox, скинути пакет програми Xbox тощо.

Що таке LogiOptions.exe (UNICODE) і чи безпечний процес?

Що таке LogiOptions.exe (UNICODE) і чи безпечний процес?

Якщо у вас клавіатура та миша Logitech, ви побачите, що цей процес виконується. Це не шкідливе програмне забезпечення, але це не важливий виконуваний файл для ОС Windows.

Виправлена ​​помилка оновлення/встановлення Java 1603 у Windows 10

Виправлена ​​помилка оновлення/встановлення Java 1603 у Windows 10

Прочитайте статтю, щоб дізнатися, як виправити помилку Java Update 1603 у Windows 10, спробуйте наведені виправлення одне за одним і легко виправте помилку 1603…