пример работы файерволла на интерфейсном уровне. Если на факультете воткнуться незарегистрированным компьютером в сеть, то выдастся страничка регистрации. Неизвестным адресам дхцп не выдает нормальные ип.

Интерфейсный уровень

мало

Сетевой уровень

Там много интересов сос тороны администратора и разных людей. Развесистая маршрутизация, перенаправление трафика. Или банальная фильрация клиентов по их ип-адресам. Блокировка ботов, подбирающих пароли.

Транспортный уровень

Самая интересная и вкусная область. Это и ограничение на суммарный поток трафиика. Запрет на использование каких-нибудь портов (ограничение пиринговых сетей). Если тцп соединение уже разрешено, то можно научить файерволл не проверять следующие пакеты этого соединения.

Прикладной уровень

Вопрос ограничения, преобразования, журналирования и анализа прикладноготрафик -- веб-страниц, почты, итп. Но это слишком обширная задача. Прикладных протоколов бесконечно много, парсер каждого не напишешь. Пример -- антивирус, вставленный в почтовый сервер.

Как это вообще устроено?

Есть операционная система, в ней есть ядро.

Пакет обрабатывается ип-стеком, и в некоторых местах отдается файерволлу. файервол его пержеёвывает и отдает, или не отдает, или отдает измененный.

Естественно, должна быть пользовательская утилита, которая может загрузить логику в файерволл. Из командной строки или по наступлению события в системе вы дожны куметь можифицировать логику файерволл.

Русский термин -- межсетевой экран. Файерволл же это перевод слова брэндмауэр.

В лекциях по сетям на факультете все еще любят слово брэндмауэр. Лектор предпочитает термин межсетевой экран.

Собственно межсетевой экран это особая организация ядра.

iptables

Особенности реализации файерволла в линуксе:

Утилита для обработки iptables называется iptables.

Что с ее помощью можно сделать?

По умолчанию она работает над цепочками.

iptables save которая выдает список всех правил вашего файервола. iptables restore -- загрузить обратно.

contrack

Важный инструмен фв, который позволяет разбираться в тцп соединениях. Уже приводилось, когда он нужен -- один раз определить для тцп соедиения допустимость, и потом пропускать все его пакеты. другое применение -- нат.

helper

возможность глубже порыться в прикладном протоколе.

Вы можете фильтровать пакеты на основе того какой процесс их породил, или какой пользователь их породил.

recent

кэшировать и откладывать недавно произошедшие события. "если человек ндавно заходил вот по таки двум портам, то дать ему доступ по 22 порту". Способ организации простого порт кнокинг.

Не рассказали про шейпинг. Поверьте, он есть.

LecturesCMC/LinuxNetwork2013/Conspects/11 (последним исправлял пользователь Allena 2013-12-31 00:26:14)