Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

7.4.1. Поведінка Netfilter


Netfilter використовує чотири різні таблиці, в яких зберігаються правила, що регулюють три види операцій з пакетами:

фільтрувати стосується правил фільтрації (прийняття, відмова чи ігнорування пакета);

nat (Переклад мережевих адрес) стосується перекладу адрес джерела або призначення та портів пакетів;

гадюка стосується інших змін IP-пакетів (включаючи Умови обслуговування —Тип послуги—поле та варіанти);

сировина дозволяє вносити інші ручні зміни пакетів до того, як вони досягнуть системи відстеження з’єднання.

Кожна таблиця містить списки правил, що називаються ланцюга. Брандмауер використовує стандартні ланцюжки для обробки пакетів на основі заздалегідь визначених обставин. Адміністратор може створювати інші ланцюжки, які використовуватимуться лише за посиланням одного зі стандартних ланцюжків (прямо або опосередковано).

Команда фільтрувати стіл має три стандартні ланцюжки:

ВХІД: стосується пакетів, призначенням яких є сам брандмауер;

ВИХІД: стосується пакетів, що випускаються брандмауером;

ВПЕРЕД: стосується пакетів, що проходять через брандмауер (який не є ні їх джерелом, ні призначенням).

Команда nat стіл також має три стандартних ланцюжка:

ПЕРЕДПРАВЛЕННЯ: змінювати пакети, щойно вони надходять;

ПОСТРАУТУВАННЯ: змінювати пакети, коли вони готові відправитися в дорогу;

ВИХІД: для зміни пакетів, створених самим брандмауером.

Ці ланцюжки проілюстровані на малюнку 7.1, «Як називаються ланцюги Netfilter” [сторінка 155].


зображення


малюнок 7.1 Як netfilter Ланцюги називаються


Кожен ланцюжок — це список правил; кожне правило — це набір умов і дії, які потрібно виконати, коли умови виконуються. Під час обробки пакету брандмауер сканує відповідний ланцюжок одне правило за іншим, а коли виконуються умови для одного правила, він переходить (отже, -j опцію в командах) до вказаної дії для продовження обробки. Найпоширеніша поведінка є стандартизованою, і для них існують спеціальні дії. Виконання однієї з цих стандартних дій перериває обробку ланцюга, оскільки доля пакетів уже запечатана (за винятком, зазначеним нижче). Нижче перераховані netfilter дії.

ПРИЙНЯТИ: дозволити пакету продовжити свій шлях.

ОТХОДИТИ: відхилити пакет з пакетом помилок протоколу керуючих повідомлень Інтернету (ICMP) ( --відхилити-з тип можливість Iptables визначає тип помилки для надсилання).

DROP: видалити (ігнорувати) пакет.

ВХІД: журнал (через syslogd) повідомлення з описом пакета. Зауважте, що ця дія не перериває обробку, а виконання ланцюжка продовжується за наступним правилом, тому для реєстрації відхилених пакетів потрібно як правило LOG, так і правило REJECT/DROP. Загальні параметри, пов’язані з журналом, включають:

- -- рівень журналу, зі значенням за замовчуванням попередження, вказує на системний журнал рівень тяжкості.

- --префікс журналу дозволяє вказати текстовий префікс, щоб розрізняти зареєстровані повідомлення.

- --log-tcp-sequence, --log-tcp-options та --log-ip-options вказують на додаткові дані, які потрібно інтегрувати в повідомлення: відповідно, порядковий номер TCP, параметри TCP та параметри IP.

УЛОГ: зареєструвати повідомлення через ulogd, який може бути краще адаптований та ефективніший, ніж syslogd для обробки великої кількості повідомлень; зауважте, що ця дія, як і LOG, також повертає обробку до наступного правила в ланцюжку викликів.

назва_ланцюга: перейти до заданого ланцюжка та оцінити його правила.

ПОВЕРНЕННЯ: переривання обробки поточного ланцюга і повернення до ланцюга виклику; якщо поточний ланцюжок є стандартним, ланцюга викликів немає, тому дія за замовчуванням (визначається за допомогою -P варіант до Iptables) замість цього виконується.


СНАТ (тільки в nat таблиця): застосувати Переклад мережевої адреси джерела (SNAT). Додаткові параметри описують точні зміни, які потрібно застосувати, зокрема --до джерела адреса:порт параметр, який визначає нову вихідну IP-адресу та/або порт.


ДНАТ (тільки в nat таблиця): застосувати Переклад мережевої адреси призначення (ДНАТ). Додаткові параметри описують точні зміни, які необхідно застосувати, включно з -- до пункту призначення адреса:порт параметр, який визначає нову IP-адресу та/або порт призначення.


МАСКАРАД (тільки в nat таблиця): застосувати маскарад (окремий випадок Джерело NAT).


ПЕРЕДАЧА (тільки в nat таблиця): прозоро перенаправляє пакет на заданий порт самого брандмауера; це можна використовувати для налаштування прозорого веб-проксі, який працює без конфігурації на стороні клієнта, оскільки клієнт думає, що він підключається до одержувача, тоді як зв'язок насправді проходить через проксі-сервер. The --до портів порт(и) Параметр вказує порт або діапазон портів, куди мають бути перенаправлені пакети.


Інші дії, зокрема щодо гадюка таблиці, виходять за рамки цього тексту. The iptables(8) та ip6tables(8) Довідкові сторінки мають вичерпний список.



Що таке ICMP? Протокол керуючих повідомлень Інтернету (ICMP) — це протокол, що використовується для передачі допоміжної інформації про комунікації. Він перевіряє підключення до мережі за допомогою пінг команду, яка надсилає ICMP ехо-запит повідомлення, на яке одержувач повинен відповісти ICMP ехо-відповідь повідомлення. Він сигналізує брандмауеру, що відхиляє пакет, вказує на переповнення в буфері прийому, пропонує кращий маршрут для наступних пакетів у з’єднанні тощо. Цей протокол визначається кількома документами RFC. RFC777 і RFC792 були першими, але багато інших розширили та/або переглянули протокол.

http://www.faqs.org/rfcs/rfc777.html

http://www.faqs.org/rfcs/rfc792.html

Для довідки, буфер прийому - це невелика зона пам'яті, в якій зберігаються дані між моментом їх надходження з мережі і часом, коли ядро ​​обробляє їх. Якщо ця зона заповнена, нові дані не можуть бути отримані, і ICMP сигналізує про проблему, щоб випромінювач міг уповільнити швидкість передачі (яка в ідеалі має досягти рівноваги через деякий час).

Зауважте, що хоча мережа IPv4 може працювати без ICMP, ICMPv6 є суворо потрібним для мережі IPv6, оскільки він поєднує кілька функцій, які в світі IPv4 були поширені в ICMPv4, Протокол членства в Інтернет-групі (IGMP), і Протокол визначення адреси (ARP). ICMPv6 визначено в RFC4443.

http://www.faqs.org/rfcs/rfc4443.html

Що таке ICMP? Протокол керуючих повідомлень Інтернету (ICMP) — це протокол, що використовується для передачі допоміжної інформації про комунікації. Він перевіряє підключення до мережі за допомогою пінг команду, яка надсилає ICMP ехо-запит повідомлення, на яке одержувач повинен відповісти ICMP ехо-відповідь повідомлення. Він сигналізує брандмауеру, що відхиляє пакет, вказує на переповнення в буфері прийому, пропонує кращий маршрут для наступних пакетів у з’єднанні тощо. Цей протокол визначається кількома документами RFC. RFC777 і RFC792 були першими, але багато інших розширили та/або переглянули протокол.

http://www.faqs.org/rfcs/rfc777.html

http://www.faqs.org/rfcs/rfc792.html

Для довідки, буфер прийому - це невелика зона пам'яті, в якій зберігаються дані між моментом їх надходження з мережі і часом, коли ядро ​​обробляє їх. Якщо ця зона заповнена, нові дані не можуть бути отримані, і ICMP сигналізує про проблему, щоб випромінювач міг уповільнити швидкість передачі (яка в ідеалі має досягти рівноваги через деякий час).

Зауважте, що хоча мережа IPv4 може працювати без ICMP, ICMPv6 є суворо потрібним для мережі IPv6, оскільки він поєднує кілька функцій, які в світі IPv4 були поширені в ICMPv4, Протокол членства в Інтернет-групі (IGMP), і Протокол визначення адреси (ARP). ICMPv6 визначено в RFC4443.

http://www.faqs.org/rfcs/rfc4443.html

Найпопулярніші хмарні обчислення ОС на OnWorks: