Про що ж піде мова
Все дуже просто, в черговий раз пояснюючи на форумі новачкам в світі Linux, що й до чого я зрозумів, що на просторах інтернет годі й шукати зібрану воєдино статтю з поясненням не тільки налаштування iptables, а й деяких мережевих основ.
Так що вашій увазі я представляю невеличкий екскурс по налаштуванню firewall в Linux. Заглибимося лише в настройку netfilter / iptables, інших прикладних питань ми безсумнівно теж торкнемося, адже нам не вистачає саме комплексних відповідей на наші запитання ... І я постараюся ка можна більш дохідливо тут все викласти.
Як це виглядає
Ми будемо розглядати типову схему для офісів і для квартир, так-так саме квартир! Мало у кого є власний маленький сервачок будинку під столом, але у більшості інтернет вдома лунає через роутер і в більшості своїй вони теж прошиті Linux.
Це типова схема малого офісу. Коли до інтернет підключений 1 комп'ютер (сервер), а інші підключаються до інтернет вже через цей сервер.
Поїхали, потихеньку.
І так що ж ми маємо:
- сервер з 2-ма мережевими картами і встановленим на ньому Debian Lenny
- наявний за замовчуванням в Debian Lenny firewall - netfilter / iptables
- локальну мережу з N комп'ютерів, все з'єднані через комутатор, в тому числі і сервер
що таке NAT
Тепер, коли ми знаємо що таке NAT і для чого він потрібен, можна приступати безпосередньо до налаштування сервера.
транзитний трафік
налаштовуємо iptables
по дрібницям.
доступ в надра мережі через шлюз або DNAT
отже що там з коханим squid
І хоча зараз все працює, у всіх є інтернет і все працює, деяким все ж потрібен проксі сервер. Я не буду розповідати про налаштування squid, я покажу правило яке дозволить зробити його «прозорим». У сквид треба лише прописати чарівне слово transparent в потрібному місці і він почнемо коректно обробляти звалилося на нього запити.
пишемо
$ Iptables -A PREROUTING -d 192.168.0.0/24 -i eth0 -p tcp -m multiport --dports 80,443 -j REDIRECT --to-ports 3128.
І що ж нам це дає? Тепер всі запити на web сторінки з ваших робочих місць по http ((80) і https (443) протоколів будуть перенаправлятися на порт який слухає squid. Ви отримує контентную фільтрацію, інформацію про те хто де був і що робив в інтернет, користувач ні чого не підозрюючи працює як і раніше ...
трохи безпеки
Слід хоч мінімально захистити свій шлюз тому додамо ще пару правил
$ Iptables -A INPUT -i lo -j ACCEPT
$ Iptables -A INPUT -i eth0 -s 192.168.0.0/24 -j ACCEPT
$ Iptables -A INPUT -i eth1 -m conntrack --ctstate RELATED, ESTABLISHED -j ACCEPT
$ Iptables -P INPUT DROP
Тим самим заборонили будь-яке спілкування безпосередньо з шлюзом, крім вже встановлених з'єднань, тобто ті що були ініційовані вами і ви просто отримуєте на них відповіді. Не бійтеся наш DNAT до цих правил просто не доходить ...