LINUX.ORG.RU

История изменений

Исправление Pinkbyte, (текущая версия) :

Но эта «автоматическость» путает. Непонятно, куда ещё дополнительно добавилось какое правило

Никакие правила никуда не добавлялись. Гугли как работает connection tracking в ядре и не пори чушь.

Грубо говоря, если у тебя есть правило

-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

или(для древних систем):

-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

То ответные пакеты будут проходить по этому правилу. А как они уже будут натиться - этим заведует conntrack, точнее - соответствующие ему NAT-модули.

Но ведь удалённый хост будет отвечать на адрес шлюза, то есть шлюз должен как-то понять что ответ от данного IP на данный port следует пробросить обратно именно на тот хост из локалки, который всё это начал

И он это прекрасно поймет, заглянув в таблицу conntrack-а, где хранятся адреса и номера портов как до, так и после NAT-а

Исходная версия Pinkbyte, :

Но эта «автоматическость» путает. Непонятно, куда ещё дополнительно добавилось какое правило

Никакие правила никуда не добавлялись. Гугли как работает connection tracking в ядре и не пори чушь.

Грубо говоря, если у тебя есть правило

-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

или(для древних систем):

-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

То ответные пакеты будут проходить по этому правилу. А как они уже будут натиться - этим заведует conntrack, точнее - соответствующие ему NAT-модули.