LINUX.ORG.RU
решено ФорумAdmin

iptables, не понял пример DNAT


0

2

Читаю этот мануал http://www.opennet.ru/docs/RUS/iptables/#DNATTARGET

В примере по DNAT написано:

Проблема решается довольно просто с помощью SNAT. Ниже приводится правило, которое выполняет эту функцию. Это правило вынуждает HTTP сервер передавать ответы на наш брандмауэр, которые затем будут переданы клиенту.

iptables -t nat -A POSTROUTING -p tcp --dst $HTTP_IP --dport 80 -j SNAT --to-source $LAN_IP

Я не понял пример. Веб-сервер у нас в локальной сети. Чтобы извне перенаправить пакет, мы на маршрутизаторе меняем поле назначения на ip http - сервера. Это логично и понятно. Затем, чтобы был доступ из локальной сети, мы меняем адрес source.

В результате мы поменяли у пакета и destination и source. Этот пакет приходит на веб-сервер в нашей сети. Как он поймёт, куда направлять пакет, если у нас source = маршрутизатор?

я так понимаю, что пакет пойдёт на маршрутизатор и всё. Больше он никуда не отправится дальше. По крайней мере, в этом примере.

Где ошибка в моих рассуждениях?

★★★★

Последнее исправление: Shtsh (всего исправлений: 2)

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

anon8
()
Ответ на: комментарий от anon8

Спасибо большое. Это всё объясняет.

Shtsh ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.