Каково различие между PREROUTING и ВПЕРЕД в iptables?

Я пытаюсь понять, как эта система работает, и у меня есть проблемы для понимания различия между использованием ПРЕДВАРИТЕЛЬНОЙ МАРШРУТИЗАЦИИ NAT или фильтра ВПЕРЕД. Из того, что я понимаю, PREROUTE может отправить пакет на другой сервер, избежав фильтра. Если NAT может обработать это через PREROUTE, какова цель наличия ВПЕРЕД правило в фильтре?

15
задан 31 August 2017 в 15:12

2 ответа

Таблица NAT:

Эта таблица должна только использоваться для NAT (Преобразование сетевых адресов) на различных пакетах. Другими словами, это должно только использоваться для перевода исходного поля пакета или целевого поля.

Таблица Фильтра:

таблица фильтра главным образом используется для фильтрации пакетов. Мы можем соответствовать пакетам и отфильтровать их любым способом, которым мы хотим. Это - место, что мы на самом деле принимаем меры против пакетов и смотрим на то, что они содержат и ОТБРАСЫВАЮТ, или / ПРИНИМАЮТ их, в зависимости от своего содержания. Конечно, мы можем также сделать предшествующую фильтрацию; однако, эта конкретная таблица является местом, для которого была разработана фильтрация.

В Пересечение таблиц и цепочек мы видим, что фильтр ВПЕРЕД цепочка пересечена только переданными пакетами (пакеты, которые прибывают из сети И выходят для сетей), т.е. компьютер действует как маршрутизатор, в то время как цепочка nat PREROUTING пересечена и переданными пакетами и пакетами, место назначения которых является локальным хостом.

необходимо использовать PREROUTING nat только для изменения адреса назначения пакетов и фильтр ВПЕРЕД только для фильтрации (отбрасывающий/принимающий пакеты).

, Если мы получаем пакет в первое решение по маршрутизации, которое не предназначено для самой локальной машины, она будет направлена через ВПЕРЕД цепочка. Если пакет, с другой стороны, предназначен для IP-адреса, который слушает локальная машина, мы отправили бы пакет через ВХОДНУЮ цепочку и к локальной машине. enter image description here Пакеты могут быть предназначены для локальной машины, но адрес назначения может быть изменен в цепочке PREROUTING путем выполнения NAT. Так как это происходит перед первым решением по маршрутизации пакет будет рассматриваться после этого изменения. Из-за этого может быть изменена маршрутизация, прежде чем решение по маршрутизации сделано. Действительно обратите внимание на то, что все пакеты будут проходить один или другой путь в этом изображении. Если Вы DNAT пакет назад к той же сети, из которой это прибыло, это все еще переместится через остальную часть цепочек, пока это не вернется в сети.

23
ответ дан 23 November 2019 в 02:43

PREROUTING: Эта цепочка используется для принятия связанных решений любой маршрутизации прежде (ПРЕД) отправка любых пакетов. Всегда помните это в PREROUTING/POSTROUTING т.е. NAT представьте в виде таблицы ACCEPT/DROP/REJECT и т.д. цели значения по умолчанию FILTER таблица не будет работать. NAT таблица только используется для взятия решений по маршрутизации. Необходимо использовать PREROUTING при взятии любых решений по маршрутизации т.е. решений, которые необходимы, чтобы быть взятыми, прежде чем пакет начнет пересекать через сеть. Вот пример, мы перенаправляем любой трафик, который просто достиг сервера на порте 80 к порту 8080:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

ПЕРЕДАЙТЕ: Как следует из названия, FORWARD цепочка FILTER таблица используется для передачи пакетов от источника до места назначения, здесь источник и место назначения являются двумя различными хостами. Так, как можно предположить FORWARD правила в основном используются на серверах, куда один хост отправляет/получает трафик от другого хоста через сервер. Когда пакет сгенерирован с сервера, цепочка OUTPUT т.е. трафик идет из себя тогда как INPUT цепочка означает, пакеты предназначены для самого сервера только. Вот пример FORWARD цепочка, где любой TCP трафик, полученный на порте 80 в интерфейсе eth0 предназначенный для хоста 192.168.0.4 будет принят и передан 192.168.0.4:

iptables -A FORWARD -i eth0 -p tcp --dport 80 -d 192.168.0.4 -j ACCEPT
5
ответ дан 23 November 2019 в 02:43

Другие вопросы по тегам:

Похожие вопросы: