Если ты ничего не знаешь о IPTABLES, Рекомендую прочтите нашу первую вводную статью о IPTABLES чтобы взять основу, прежде чем начинать объяснять предмет таблиц в этом фантастическом элементе ядра Linux, чтобы фильтровать и действовать как мощный и эффективный межсетевой экран или межсетевой экран. И безопасность - это то, что беспокоит все больше и больше, но если вы Linux, вам повезло, поскольку Linux реализует один из лучших инструментов, которые мы можем найти для борьбы с угрозами.
IPTABLES, как вы уже знаете, интегрируется в само ядро Linux., и является частью проекта netfilter, который помимо iptables состоит из ip6tables, ebtables, arptables и ipset. Это легко настраиваемый и гибкий брандмауэр, как и большинство элементов Linux, и, несмотря на некоторые уязвимости, он, тем не менее, особенно мощный. Находясь внутри ядра, он запускается вместе с системой и остается активным все время. Находясь на уровне ядра, он будет получать пакеты, которые будут приниматься или отклоняться в соответствии с правилами iptables.
Три типа таблиц:
Перо iptables работает благодаря нескольким типам таблиц что является основной темой данной статьи.
Таблицы MANGLE
Лас- Доски MANGLE Они отвечают за изменение пакетов, и для этого у них есть следующие возможности:
-
КАШЕЛЬ: Тип службы используется для определения типа службы для пакета и должен использоваться для определения того, как пакеты должны маршрутизироваться, а не для пакетов, идущих в Интернет. Большинство маршрутизаторов либо игнорируют значение этого поля, либо могут работать некорректно, если используются для их выхода в Интернет.
-
Срок жизни: изменяет время жизни пакета. Его аббревиатура расшифровывается как Time To Live, и, например, его можно использовать, когда мы не хотим, чтобы нас обнаружили определенные интернет-провайдеры (ISP), которые слишком шпионят.
-
ОТМЕТКА: используется для маркировки пакетов с определенными значениями, управления ограничением полосы пропускания и создания очередей с помощью CBQ (очереди на основе классов). Позже они могут быть распознаны такими программами, как iproute2, для выполнения различных маршрутов в зависимости от марки, которые эти пакеты имеют или нет.
Возможно, эти параметры не кажутся вам знакомыми из первой статьи, поскольку мы не касаемся ни одного из них.
Таблицы NAT: PREROUTING, POSTROUTING
Лас- Таблицы NAT (трансляция сетевых адресов), то есть преобразование сетевых адресов, будет выполняться, когда пакет создает новое соединение. Они позволяют использовать общедоступный IP-адрес среди множества компьютеров, поэтому они необходимы в протоколе IPv4. С их помощью мы можем добавлять правила для изменения IP-адресов пакетов, и они содержат два правила: SNAT (маскировка IP-адресов) для исходного адреса и DNAT (перенаправление портов) для адресов назначения.
к Внести изменения, позволяет нам три варианта некоторые из них мы уже видели в первой статье об iptables:
- ПЕРЕДАЧА: изменять пакеты, как только они поступают на компьютер.
- ВЫХОД: для вывода пакетов, которые генерируются локально и будут маршрутизироваться для их вывода.
- РАЗМЕЩЕНИЕ: изменять пакеты, готовые покинуть компьютер.
Таблицы фильтрации:
Лас- таблицы фильтров они используются по умолчанию для управления пакетами данных. Они наиболее часто используются и отвечают за фильтрацию пакетов при настройке брандмауэра или фильтра. Все пакеты проходят через эту таблицу, и для модификации у вас есть три предопределенных параметра, которые мы также видели во вводной статье:
- ВХОД: для ввода, то есть все пакеты, предназначенные для входа в нашу систему, должны проходить через эту цепочку.
- ВЫХОД: для вывода - все те пакеты, которые были созданы системой и которые собираются передать ее другому устройству.
- ВПЕРЕД: перенаправление, как вы, возможно, уже знаете, просто перенаправляет их к новому месту назначения, затрагивая все пакеты, которые проходят через эту цепочку.
Наконец, я хотел бы сказать, что каждый сетевой пакет, отправленный или полученный в системе Linux, должен подчиняться одной из этих таблиц, по крайней мере, одной из них или нескольким одновременно. Он также должен подчиняться правилам нескольких таблиц. Например, с ACCEPT разрешено продолжить свой путь, с DROP доступ запрещен или не отправлен, а с REJECT он просто отбрасывается, без отправки ошибки на сервер или компьютер, отправивший пакет. Как вы видите, у каждой таблицы есть свои цели или политики для каждого из вариантов или цепочек, упомянутых выше. И это те, которые упоминаются здесь как ACCEPT, DROP и REJECT, но есть еще один, такой как QUEUE, последний, о котором вы, возможно, не знаете, используется для обработки пакетов, которые поступают через определенный процесс, независимо от их адреса.
Что ж, как вы можете видеть, iptables немного сложно подробно объяснить в одной статье, я надеюсь, что с первой статьей у вас будет базовое представление об использовании iptables с некоторыми примерами, а здесь еще теория. Оставляйте свои комментарии, сомнения или предложения, они будут приветствоваться.