Засобами ОС 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.