> ""Protocol helpers for NAT do two things: firstly allow the NAT code
> to manipulate the data stream to change the address contained within
> it, and secondly to perform NAT on the related connection when
> it comes in, based on the original connection. Как я понял из этих слов, что NAT подменяет IP, но и сохраняет IP исходного источника чтобы знать ответный пакет куда обратно транслировать(но в этом предложении не сказано, где хранится адрес источника(в системе или в наружу отправляющем пакете)). Вопрос 1 - где хранится IP истинного источника во время передачи данных с внешним узлом?. Я думал, что адрес исходного источника сохраняется в системе временно, а не в пакете, и тем более по seq(последовательность 1,2,...) и по другим параметрам можно же определить, что пакет ответный(conn state ESTABLISHED или RELATED) и идет от destination'а(адресата), куда отправлен изначально пакет со статусом NEW. Потом когда система(ядро, iptables, ...) получит ответ от dest, его перенаправит, вернет исходному источнику. Зачем хранить в пакете IP адрес источника, если его можно временно хранить в системе, по ИБ это вообще глупо. Плохо когда в Интернете кто-то видит твои локальные IP адреса. Я соглашусь с fantom'ом, что может некоторые программы как браузеры включают IP клиента в инкапсулированный http-пакет, который действует на протоколе 7-ого уровня. NAT как раз таки работает на 3-ом уровне и он не смотрит содержимое 7-ого уровня. Грубо говоря, ему все равно что находится в http-пакете. А Proxy как раз таки фильтрует http-пакет, но все равно когда я работаю через Proxy виден IP с внешных узлов. Вопрос 2 - если NAT'ом все ясно, а как отрезать IP источника из http-пакета с помощью опций Proxy?
P.S. Верхные указанные опции работали, а сейчас нет, например https://2ip.com.ua/ видит LAN адреса.