Інтернет шлюз на linux - установка і настройка

Засобами ОС Linux легко роздати інтернет в локальну мережу, як по провідним мережам, так і по wi-fi. В даний час з'явилося багато роутерів, які здатні виконати таке завдання.

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

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

Налаштування інтернет шлюзу на Linux


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

Найпростіший спосіб - це збереження налаштувань iptables і завантаження модулів ядра в конфігураційний файл. Потім тільки залишиться налаштувати його виконання при кожному запуску комп'ютера. І природно, на комп'ютері повинні бути встановлені дві мережеві карти - з одного отримують інтернет, а інша буде роздавати інтернет в локальну мережу. Або одна, якщо доступ в інтернет організований c ЮСБ-модему.

Ось приклад, треба врахувати, що в цьому випадку iptables встановлений, але не налаштований.

Процес самої настройки інтернет шлюзу


Відкриваємо консоль з правами адміністратора, створюємо файл командою:


І вписуємо в нього рядки


Оголосимо змінні, шляхи для потрібних виконуваних файлів і позначення мережевих інтерфейсів:


eth0 будемо вважати той інтерфейс, за яким інтернет приходить на комп'ютер, а eth1 підключений до локальної мережі, куди буде роздавати трафік інтернет шлюз на Linux:


Довантажувати потрібні для NAT модулі ядра:


Дозволяємо форвардного пакетів:


Скидаємо всі налаштування iptables:


У iptables правила налаштовуються так - спочатку забороняються всі з'єднання, а потім створюються правила, які дозволяють те або інше з'єднання

Встановлюємо блокування на всі ланцюжки:


далі підуть дозволяють правила:

Спочатку загальні, що не роздають інтернет, а дозволяють проходження пакетів з зовнішнього інтерфейсу:


А ось на які правила буде заснований інтернет шлюз на Linux - дозволяємо форвардного пакетів c зовнішнього з'єднання в локальну мережу:


Тепер зберігаємо файл, робимо його виконуваним, chmod + x /etc/nat.sh, додаємо рядок sh /etc/nat.sh в файл rc.local до рядка exit 0. Перезавантажуємося і перевіряємо, чи є інтернет в локальній мережі.

Це найпростіший спосіб, можна організовувати контроль доступу, як комп'ютерів, так і сайтів c небажаним контентом, ведення моніторингу з'єднань, але для цього краще використовувати інтернет шлюз на Linux c проксі-сервером. наприклад SQUID.

Схожі статті