Налаштування iptables nat в centos - блог it скорпіона

Всім доброго часу доби. Багато швидше за все стикалися з необхідністю організувати маршрутизатор для домашньої або офісної мережі за допомогою наявного сервера / комп'ютера під управлінням Linux. Сьогодні я вирішив написати статтю про те як налаштувати NAT в Iptables на CentOS 6.

Ну що ж, можна приступати безпосередньо до налаштування.
Перш за все потрібно сказати системі, що їй прийдеться працювати як маршрутизатор.
Робиться це в файлі sysctl.conf

у відкритому файлі знаходимо рядки:

і замінюємо 0 на 1:

зберігаємо і перезапускаємо:


Тепер безпосередньо сам Iptables.
Відкриємо з-під root конфиг. За замовчуванням він знаходиться в / etc / sysconfig / iptables

У відкритому файлі ви повинні побачити щось таке:

Так виглядає чистий файл конфіга.
Якщо він у Вас порожній, то заповніть його чітсим конфіг і можна приступати до налаштування.

Для того щоб підняти NAT в Iptables використовується ланцюжок nat (як Ви могли вже здогадатися)
Щоб встановити нове постійне правило використовується ключ -A. а саме правило пишеться після визначення ланцюжка.
Для NAT, в Iptables, в найпростішому варіанті використовується ключ - MASQUERADE.
Як я писав вище, кожне правило складається з критерію, дії і лічильника.
Складемо правило для інтерфейсу eth0:

В результаті маємо отримати так:

Але це ще не все. Далі потрібно щоб наш маршрутизатор почав форвард пакети.
Для цього в ланцюжок filter ми пишемо такі правила:

Зверніть увагу, що тут вже використаний інтерфейс eth1. Це не помилка.
eth1 - це інтерфейс нашої локальної мережі пакети якої ми і натім в світ.

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

і дозволити вільно використовувати інтерфейс lo:

Остаточний варіант ланцюжка filter повинен виглядати так:


От і все!
Перезапускаємо Iptables:

І спостерігаємо як все добре працює.

Схожі статті