for_students:os:iptables

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
for_students:os:iptables [2022/02/15 12:09]
ejlka
for_students:os:iptables [2022/02/15 15:14] (текущий)
ejlka
Строка 20: Строка 20:
 Следующим идет conntrack (connection tracking), который позволяет отследить соединения, то есть определить какому соединению/сеансу принадлежит пакет. Состояние пакета может быть новое (NEW), уже установленное (ESTABLISHED), дополнение к уже существующему (RELATED) и другие. Conntrack нужен для того, чтобы не проверять пакеты дважды (на входе и на выходе). \\ Следующим идет conntrack (connection tracking), который позволяет отследить соединения, то есть определить какому соединению/сеансу принадлежит пакет. Состояние пакета может быть новое (NEW), уже установленное (ESTABLISHED), дополнение к уже существующему (RELATED) и другие. Conntrack нужен для того, чтобы не проверять пакеты дважды (на входе и на выходе). \\
 Далее переходим к таблице Mangle, с помощью которой можно модифицировать заголовки пакета. Например, с помощью такой модификации можно изменить поля TTL и TOS. \\ Далее переходим к таблице Mangle, с помощью которой можно модифицировать заголовки пакета. Например, с помощью такой модификации можно изменить поля TTL и TOS. \\
-NAT - network address translation. Механизм, предназначенный для подмены ip адресов получателя и/или отправителя. Так как на этом этапе мы не знаем кому предназначен пакет, то логично сразу изменить адрес получателя - сделать dNAT (destination NAT).+NAT - network address translation. Механизм, предназначенный для подмены ip адресов получателя и/или отправителя. Так как на этом этапе мы не знаем кому предназначен пакет, то логично сразу изменить адрес получателя - сделать dNAT (destination NAT). \\ 
 +После prerouting, исходя из таблицы маршрутизации нашего устройства, определяем нам ли предназначен пакет. 
 +=== Forwarding ===  
 +Если пакет нам не предназначен, то применяется цепочка Forward. В этой цепочке 2 таблицы - mangle и filter. Таблица Mangle по-прежнему позволяет модифицировать заголовки пакета. А вот таблица Filter наконец-то будет применять какие-либо правила к пакетам.  
 +<WRAP center round important 60%> 
 +Таблица Filter в цепочке Forward будет применять правила исключительно к тем пакетам, которые будут проходить транзитом! 
 +</WRAP> 
 +В этой таблице можно фильтровать пакеты - разрешать доступ по определенному порту, запрещать соединения с каких-либо адресов и т.д. \\ 
 +После этого переходим к цепочке postrouting. 
 +=== Input === 
 +В этой цепочке участвуют пакеты, которые были предназначены именно нашему устройству. Правила из цепочки forward здесь не работают. В этой цепочке также есть таблицы Mangle, Filter и conntrack с аналогичным функционалом. После прохождения этой цепочки пакеты наконец-то попадают в пункт назначения - приложение.  
 +=== Output === 
 +Из приложения пакеты также будут вылетать. Цепочка output самая большая, в ней есть raw, conntrack, mangle, nat, filter. Обратите внимание на таблицу filter, в ней можно запретить пакетам вылетать из приложения к конечному пользователю. 
 +=== Postrouting === 
 +И после транзита, и после выхода из сервера, пакеты попадают в цепочку postrouting. В этой цепочке также есть mange, sNAT (sourse NAT), conntrack. 
  
  
  
  • for_students/os/iptables.1644916189.txt.gz
  • Последнее изменение: 2022/02/15 12:09
  • ejlka