Використання iptables «як "відкрити порт" у віртуальну розробку

Епоха локальної розробки пішла в історію. Розвиток Інтернету зумовило об`єктивну необхідність розподіленої обробки інформації. Віртуалізація привела до того, що один комп`ютер вже не має значущої перспективи. Розробник повинен мати повний набір віртуальних машин з будь-якого фізичного пристрою. Налаштування віртуальності і технічної можливості роботи через iptables стала затребуваним і важливим фактором при створенні сучасних інформаційних система.

Сучасна розробка інформаційних систем

Високі технології при всіх своїх досягненнях засновані на жорстких синтаксичних конструкціях. Синтаксис мови програмування або конфігураційного файлу-менше зло, ніж жорсткість концепції розвитку комп`ютерного справи в цілому.

Спроба вивести синтаксис і семантику через гіпертекст не привела до якісного стрибка, але зробила необхідним перевести розробку в» розподілений " статус, в хмари і віртуальність.

Робота на одному комп`ютері та / або сервері-це обмеження. Розробник повинен мати арсенал операційних систем, середовище розробки та тестування. Розробник-це розподілена команда фахівців різної кваліфікації.

Віртуальна розробка

Ідея iptables пройшла довгий шлях за короткий час. Сьогодні вона надає досить зручний інструментарій для організації технологічний процес розробка програмне забезпечення і його використання.

За допомогою iptables відкрити порт для конкретного проекту - не проблема. Обмежити (закрити) доступ-просто і зручно. Фаєрвол firewalld-це CentOS і iptables. Відкрити порт тут можна спеціальним інструментом (утиліта). Це зручно, але не так практично як в Debian через посередництво командного рядка.

Вибір операційна система з сімейства лінуксоїдів в контексті рішення задачі розподілу портів має значення для системного адміністратора у контексті налаштування, але більш суттєвим є розуміння суті питання: як через iptables відкрити порт і забезпечити можливість роботи.

Комутатор і сервер

Перш ніж починати роботу з Linux-сервером, потрібно приділити серйозну увагу налаштуванню комутатора, що забезпечує вихід в Інтернет і внутрішню локальну мережу.

Налаштування головного комутатора

Це комутатор локальної мережі для невеликої компанії або домашнього застосування. Великий бізнес використовує більш технологічне обладнання, але в будь-якому випадку: пристрій виходу в Інтернет і організації локальної мережі має пропускати всі пакети і мати відкритими всі порти, які будуть необхідні.

Сервер Linux-це iptables. Як відкрити певні порти показують правила входу, виходу та транзиту (INPUT, OUTPUT та FORWARD). Правил не так багато, параметрів в них трохи більше, але комбінацій і можливостей вони надають достатню кількість. За допомогою iptables: відкрити порт-не проблема, працювати на вході (PREROUTING) або на виході (POSTROUTING) - теж.

Всі правила Linux-сервера еквівалентні: умова (критерій), опис, Дія і лічильник. Зміст правила залежить від його застосування.

Фізичний сервер віртуальних машин

Немає різниці між робочим комп`ютером і сервером, але завжди краще не завантажувати сервер приватними завданнями і робити його робочим комп`ютером конкретного розробника.

Фізичний сервер віртуальних машин

В ідеалі сервер ПОВИНЕН МАТИ графічну оболонку і "вести" власний робочий процес, поза адміністративним (файлове сховище, хостинг, веб-ресурс, ...). Зокрема, для вирішення завдання: самонавчальний парсинг і пошук інформації, файлове сховище і кілька віртуальних машин хорошим рішенням буде комп`ютер з встановленою системою Debian & Proxmox VE.

Тут потрібно iptables. Відкрити порт для кожної віртуальної машини-це половина битви. Потрібно налаштувати Мости, маршрути і організувати роботу самого сервера, як самостійного комп`ютера, керуючого Apache, MySQL, PHP і браузером. Потрібно також налаштувати Proxmox VE, як систему віртуальних машин, доступних всередині локальної мережі і поза нею.

Асорті правил iptables

Це практичний (робочий) приклад для iptables Debian. Як відкрити порт показано на безлічі прикладів. Це не оптимальний набір правил, але реально працює. Деякі правила дублюють один одного, але їх зіставлення дозволяє зрозуміти, як і що потрібно застосувати в конкретній ситуації.

Примітка. Позиції enp0s31f6, 192.168.100.0, 192.168.100.18 і 192.168.100.1 повинні бути замінені на реальний мережевий інтерфейс, реальну мережу, реальні IP-адреса сервера і IP-адреса шлюзу.

Порядок і правила роботи з iptables

Якщо потрібно внести зміни в існуючу систему, слід зберегти всі діючі правила і мережеві настройки. У працюючій системі при будь-яких обставинах нічого робити не можна. Кращий варіант-вести роботи на новому сервері, а по їх завершенні поміняти машини.

Краще починати з чистого аркуша. Через ключі-F і-X iptables відкрити порт не вийде, але таблиця правил очиститься і можна буде якісно виконати адміністративну роботу. Фаєрвол (ufw) краще відключити відразу. Можна почистити таблицю nat-це теж не буде зайвим.

Далі слід обов`язкове відкриття доступу по ssh (через iptables відкрити порт 22). Сервер зобов`язаний бути керований віддалено. Дозволити пінг і перевірити їх також обов`язково. Адміністратор сервера повинен бути впевнений в тому, що фізично (технічно) обладнання працює справно. А якщо виникає помилка, то вона буде лежати в правилах iptables. Відкрити порти pop, ftp, http, https та інші можна загальним правилом (multiport) або окремими.

Важливо врахувати, що правила мають значення не тільки за змістом, але і по послідовності вказівки. У контексті використання Proxmox VE обов`язково дотримати його вимоги (зокрема, через iptables відкрити порт 8006).

Портам 80 (8080) та 443 слід приділити особливу увагу. Наприклад, iptables (відкрити порти http & https) забезпечує трафік веб-ресурсів. Пошта і FTP доступ не критичні, якщо вони не включені в спектр функціональності сервера.

Правила iptables діють негайно. Ключ» - A " додає правило, а ключ «-D» видаляє його. Зберегти набір створених правил:

  • iptables-save > /etc/iptables.rules.

Відновити, раніше створений набір правил:

  • iptables-restore < /etc/iptables.rules.

Щоб включити iptables і відкрити порти при завантаженні системи, досить записати про це при піднятті основного інтерфейсу в файлі / etc / network / intefaces:

Автозавантаження правил iptables

Правила iptables - це не тільки порядок роботи на сервері і його безпеку. Це оптимізація на практиці. Правила iptables визначають конкретний спектр пакетів, який буде обробляти сервер, конкретизує його функціональність і управляє відвідувачами. За допомогою iptables можна налаштувати оптимальний режим адміністрування та користування машиною.

Статті на тему