Налаштування linux роутера - nat dhcp squid - як стати програмістом
Частим застосуванням Linux серверів є організація загального доступу в інтернет. Це обумовлено низькою вартістю такого рішення і невисокими вимогами до заліза. У багатьох випадках це буває перший Linux сервер в організації, що здатне викликати у адміністраторів певні складності. У даній статті ми крок за кроком розглянемо настройку роутера (NAT + DHCP + Squid) на базі Ubuntu Server
Установка Ubuntu Server і первісна настройка
Ubuntu Server відрізняється від своєї настільної версії відсутністю графічної оболонки і призначених для користувача додатків, а також можливістю предустановки заздалегідь обраних ролей сервера. Незважаючи на це, все сказане буде справедливо для будь-якої версії Ubuntu і, з деякими поправками, для будь-якого Linux дистрибутива. Установка Ubuntu Server відбувається в текстовому режимі російською мовою і, як правило, не викликає складнощів. Окремо варто тільки зупиниться на списку ролей: із запропонованого нас, мабуть, може зацікавити тільки OpenSSH, для віддаленого доступу, однак скориставшись пунктом Manual package selection досвідчений користувач може відразу встановити необхідні йому пакети.
Якщо ж це ваш перший сервер, то найкраще продовжити не добираючи жодного варіанту, всі необхідні пакети ми доустановити пізніше. Це дозволить мати більш чітке уявлення про призначення того чи іншого пакета і дозволить успішно справлятися з можливими неполадками. Після закінчення установки система перезавантажиться і зустріне нас чорним екраном командного рядка. Незвичного до консолі Windows-адміністратора це може неприємно здивувати, однак ситуація на сьогоднішній день така, що всі серверні ролі Linux налаштовуються виключно через консоль і файли конфігурації.
Налаштування мережі
В першу чергу налаштуємо мережеві з'єднання. Вводимо в консолі:
Зберігаємо зміни Ctrl + O і виходимо Ctrl + X. Тепер потрібно налаштувати DNS, для цього виконуємо:
Зберігаємо. Тепер потрібно перезапустити мережеві служби (або перезавантажитися):
Оновлення пакетів Ubuntu
Спочатку оновимо список доступних пакетів:
Встановлення додаткових пакетів
Тепер встановимо Midnight Commander (mc). файловий менеджер за образом і подобою Norton Commander або Far:
Налаштування SSH
Для віддаленого управління сервером (не бігати ж до нього кожен раз) встановимо OpenSSH, що дозволить підключатися до нього з будь-якого місця, навіть з дому, по захищеному протоколу:
Для підключення з Windows станцій можна використовувати програму PuTTY (скачати), для коректного відображення символів перед підключенням на закладці Window - Translation вибрати кодування UTF8.
Обмеження доступу до сервера
Для обмеження доступу до сервера можна дописати в файл / etc / ssh / sshd_config параметр AllowUsers із зазначенням користувача має доступ по SSH, наприклад для користувача admin:
Також можна дозволити доступ певній групі користувачів використовуючи параметр AllowGroups. або заборонити доступ певним користувачам / групам використавши DenyUsers і DenyGroups.
Настрайка NAT
Зберігаємо (F2), для автоматичного запуску скрипта знову відкриваємо / etc / network / interfaces і в самий кінець файлу дописуємо:
Також не забуваємо дати нашому скрипту права на виконання:
Перезапускаємо DNS сервер:
Після чого на клієнтських машинах має запрацювати інтернет.
Налаштування DHCP
Тепер, коли наш сервер працює, потрібно налаштувати клієнтські машини. Можна, звичайно, прописати всі параметри вручну, але як бути якщо клієнтських машин багато і розташовані вони по всій будівлі? Тут нам на допомогу приходить протокол DHCP, який дозволяє клієнтським машинам одержувати мережеві настройки автоматично. Як DHCP сервера виступить вже установленнийDnsmasq. Налаштувати його не просто, а дуже просто, для чого знову відкриваємо / etc / dnsmasq.conf.
Кешуючий проксі-сервер Squid
У будь-який великий мережі певна частина трафіку повторюється від користувача до користувача і часом його частка доходить до 50%. Логічно б було кешувати найбільш повторювані запити і тим самим знизити навантаження на канал, заощадити вхідний трафік і прискорити видачу сторінок кінцевому користувачеві. Для цих завдань ми використовуємо Squid - кешуючий проксі з широкими можливостями.
Зупиняємо проксі-сервер і приступаємо до налаштування:
Відкриваємо /etc/squid/squid.conf. знаходимо і коригуємо наступні рядки, не забувши їх раскомменітровать:
Вказуємо внутрішні мережі, зайві комменітруем:
Дозволяємо доступ з внутрішніх мереж (знайти і раскомменітровать):
Встановлюємо ліміт використання пам'яті:
Зберігаємо файл конфігурації. Тепер будуємо кеш і запускаємо:
Усе. У нашому розпорядженні робочий сервер, що дозволяє організувати загальний доступ до інтернет, кешіруюшій http трафік і DNS запити, а також вміє роздавати клієнтським машинам необхідні для роботи в мережі настройки.