Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Лабораторна Робота №2
Фільтрація пакетів на базі утиліти NETFILTER
Мета роботи: Ознайомитись з утилітою фільтрації IP пакетів NETFILTER
Завдання: Розробити схеми проходження мережевих пакетів через таблиці NETFILTER
Теоретичні відомості
Після отримання пакета з мережевого пристрою він передається через драйвер пристрою в ядро. Після цього пакет проходить через ряд таблиць і передається локальному процесу або перенаправляється на іншу машину. Порядок проходження пакету даних зображено на Рис. 1.
Рис. 1 – Порядок проходження пакетів в мережевому екрані Netfilter
Рис. 1 дає уявлення про порядок проходження пакетів через ланцюжки. В першій точці прийняття рішення про маршрутизацію (routing decision) всі пакети, призначенні даному вузлу направляються в ланцюжок INPUT, інші - в ланцюжок FORWARD.
В пакетах, з адресою призначення на мережевий вузол, може відбутись зміна мережевої адреси призначення (DNAT) в ланцюжку PREROUTING таблиці nat и відповідно подальша маршрутизація в першій точці буде виконуватись в залежності від проведених змін.
В Таблиця 1 зображено порядок проходження транзитних пакетів.
Таблиця 1
Порядок проходження транзитних пакетів
№
Таблиця
Ланцюжок
Примітка
1
Кабель
2
Мережевий інтерфейс
3
Mangle
PREROUTING
Цей ланцюжок використовується для зміни заголовку пакета.
4
NAT
PREROUTING
Цей ланцюжок використовується для трансляції мережевих адрес (Destination Network Address Translation). Source Network Address Translation виконується в іншому ланцюжку. Робити фільтрацію пакетів в цьому ланцюжку не рекомендується.
5
Прийняття рішення про подальшу маршрутизацію.
6
Mangle
FORWARD
Цей ланцюжок використовується в тих випадках, коли необхідно внести зміни в заголовок пакета між двома точками прийняття рішення про маршрутизацію.
7
Filter
FORWARD
В ланцюжок FORWARD потрапляють тільки ті пакети, які йдуть на інший вузол. Вся фільтрація транзитного трафіка виконується тут. Через цей ланцюжок проходить трафік в обох напрямках, що потрібно враховувати при написанні правил фільтрації.
8
Mangle
POSTROUTING
Цей ланцюжок призначений для внесення змін в заголовок пакета вже після того як прийнято останнє рішення про маршрутизацію.
9
NAT
POSTROUTING
Цей ланцюжок призначений в першу чергу для Source Network Address Translation. Тут же виконується и маскарадинг (Masquerading).
10
Мережевий інтерфейс
11
Кабель
В Таблиця 2 зображено порядок проходження пакетів, які адресовані вузлу, на якому налаштовано мережевий екран.
Таблиця 2
Порядок проходження пакетів, призначених для даного вузла мережі
№
Таблиця
Ланцюжок
Примітка
1
Кабель
2
Мережевий інтерфейс
3
Mangle
PREROUTING
Цей ланцюжок використовується для зміни заголовку пакета.
4
NAT
PREROUTING
Цей ланцюжок використовується для трансляції мережевих адрес (Destination Network Address Translation). Робити фільтрацію пакетів в цьому ланцюжку не рекомендується.
5
Прийняття рішення про подальшу маршрутизацію.
6
Mangle
INPUT
Пакет потрапляє в ланцюжок INPUT таблиці mangle. Тут вносяться зміни в заголовок пакета перед тем як він буде переданий локальному процесу.
7
Filter
INPUT
Тут відбувається фільтрація вхідного трафіку.
8
Локальній процес/програма.
В Таблиця 3 зображено порядок проходження пакетів, які створені на вузлі, на якому налаштовано мережевий екран.
Таблиця 3
Порядок проходження пакетів, створених на даному вузлі мережі
№
Таблиця
Ланцюжок
Примітка
1
Локальній процес/програма.
2
Прийняття рішення про маршрутизацію.
3
Mangle
OUTPUT
Тут вносяться зміни в заголовок пакета. Виконання фільтрації в цьому ланцюжку не рекомендується.
4
NAT
OUTPUT
Цей ланцюжок використовується для трансляції мережевих адрес (NAT) в пакетах, які виходять з процесорів даного мережевого вузла.
5
Filter
OUTPUT
Тут фільтрується вихідний трафік.
6
Mangle
POSTROUTING
Цей ланцюжок використовується для правил, які повинні вносити зміни в заголовок пакета перед тем, як він буде відправлений в мережу, але посля прийняття рішення про маршрутизацію. В цей ланцюжок потрапляють всі пакети, як транзитні, так и створені локальними процесами вузла.
7
NAT
POSTROUTING
Тут виконується Source Network Address Translation. Не варто в цьому ланцюжку виконувати фільтрацію пакетів. Проте і тут можна зупиняти пакети, використовуючи політику по-замовчуванню DROP.
8
Мережевий інтерфейс
9
Кабель
Послідовність виконання роботи
Схема проходження транзитних пакетів
/
Схема проходження пакетів створених на локальному вузлі
/
Схема проходження вхідних для даного вузла пакетів
/
Висновки: Під час виконання даної лабораторної роботи я ознайомитись з утилітою фільтрації IP пакетів NETFILTER та розробив схеми проходження мережевих пакетів через таблиці NETFILTER.