Linux firewall своими руками

by gapsf
last edited 2012-05-16 20:49:17 by gapsf

Вступление

Цель данного текста - показать принципы построения firewall для интернет-шлюза (малого офиса) на базе Linux.

Акцент в изложениие сделан на принципы организации правил (т.е. логику правил iptables), позволяющие относительно легко:

Предполагется, что вы хотите собственноручно разработать и написать реальный firewall "с нуля", а не брать готовое решение.

Если вам надо готовое решение подобное описываемому - посмотрите Shorewall http://www.shorewall.net/ (есть в большинстве дистрибутивов).

Так же этот текст не является документацией по iptables - подразумевается, что вы представляете (как продвинутый пользователь/администратор), что такое iptables, знаете синтаксис iptables, в общих чертах возможности NETFILTER (подсистема ядра для перехвата пакетов и выполнения манипуляций над ними), сетевого стека Linux в целом, знаете о IP, UDP/TCP и т.д. и т.п.
Т.е. у вас есть знания о составных частях, но вы плохо представляете себе, как из этого всего собрать, нечто, решающее некие сетевые задачи.

Если вы недостаточно понимаете iptables - есть отличное руководство по его возможностям синтаксису, правда на английском http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html.

Однако, даже если вы не знаете английский, то можно воспользоваться переводчиком Google - будет криво, но что-то понять можно (например http://translate.google.com/translate?js=y&prev=_t&hl=en&ie=UTF-8&layout=1&eotf=1&u=http%3A%2F%2Fwww.frozentux.net%2Fiptables-tutorial%2Fchunkyhtml%2F&sl=en&tl=ru)

Решаемые задачи и требования

Условимся подконтрольные вам сети называть "внутренними сетями", а сети, которые не находятся под вашим управлением - "внешними сетями". В простейшем случае: все что в офисе - "внутренняя сеть", Интернет - "большая внешняя сеть".

Итак, у вас есть глобальная задача - организовать одновременный доступ нескольких узлов (хостов, компьютеров, устройств) из внутренних сетей к сети Интернет (а так же, возможно, другим внешним сетям) через один публичный IP-адрес. Так же, организовать инфраструктуру под собственные web/ftp/smtp/pop-сервера с возможностью доступа к ним из внешних сетей.

Уточним требования к firewall'у и задачи которые мы хотим решить:

Handmade_Linux_Firewall (last edited 2010-07-29 08:37:19 by gapsf)