История изменений
Исправление demsi, (текущая версия) :
К сожалению, новое поколение совсем перестало использовать основной инструмент Человека. Вставил магическую строчку - «и все работает»!
А вот теперь убираем все Ваше высокомерное и бла бла бла. И смотрим что по существу.
Первым делом вы утверждаете что masquerade и nat принципиально отличаются и проблема в этом отличии. Про сетевой интерфейс изначально не сказано ни слова.
Затем сразу же меняете свою точку зрения и утверждаете что проблема в том что не указан сетевой интерфейс в правиле. То есть про отличия masquerade и nat сразу внезапно забываем.
У Вас явно слабая позиция в этом споре, учитывая что Ваши аргументы никак не связаны и Вы скорее всего на слабом уровне понимаете маршрутизацию и принципы работы iptables.
А теперь я Вам отвечаю без всяких высокомерных вставок говорю что Вы не правы. Iptables не осуществляет маршрутизацию пакетов. В iptabels задаются критерии. Пакеты проходя по цепочкам правил сравниваются с этими критериями, и если пакет выполняет условия критерия к нему применяется указанное действие. На какой интерфейс отправить пакет определяет ядро с помощью таблицы маршрутизации. Когда пакет попадает в цепочку POSTROUTING в моем случае он уже отправляется через интерфейс который имеет выход в интернет. Это легко доказать с помощью логирования пакетов. Если бы это было не так, то правило:
iptables -t nat -I POSTROUTING 1 -s 192.168.1.0/28 -j LOG
kernel: OUT=ppp0 SRC=192.168.1.2 DST=94.24.252.216 ...
-t nat POSTROUTING -o ppp0 -j MASQUERADE
и
-t nat POSTROUTING -o ppp0 -j SNAT --to-soure ext_ip
...
и подобные
C чего Вы взяли что более компетентный специалист? С чего Вы взяли что Вы лучше разбираетесь в iptables чем Я? С чего Вы взяли что умнее и старше меня? С чего вы взяли что Я не понимаю как работают элементарные правила iptables? Откуда у Вас такое высокомерие? Все Ваши попытки сделать вид что Ваш интелект выше чем у других людей и абсолютное невежество, говорят о Вас как о высокомерном человеке готовом отстаивать свою точку зрения даже когда он не прав. Такое поведение обычно присуще подросткам. Ведь перед тем как оскорблять другого человека нужно хотя бы из уважения к себе проверить свои знания. Вы надеюсь далее не будете показывать свое невежество, поймете что iptables не отвечает за маршрутизацию пакетов, и поступите как взрослый человек - признаете свою неправоту и извинитесь?
Исходная версия demsi, :
К сожалению, новое поколение совсем перестало использовать основной инструмент Человека. Вставил магическую строчку - «и все работает»!
А вот теперь убираем все Ваше высокомерное и бла бла бла. И смотрим что по существу.
Первым делом вы утверждаете что masquerade и nat принципиально отличаются и проблема в этом отличии. Про сетевой интерфейс изначально не сказано ни слова.
Затем сразу же меняете свою точку зрения и утверждаете что проблема в том что не указан сетевой интерфейс в правиле. То есть про отличия masquerade и nat сразу внезапно забываем.
У Вас явно слабая позиция в этом споре, учитывая что Ваши аргументы никак не связаны и Вы скорее всего на слабом уровне понимаете маршрутизацию и принципы работы iptables.
А теперь я Вам отвечаю без всяких высокомерных вставок говорю что Вы не правы. Iptables не осуществляет маршрутизацию пакетов. В iptabels задаются критерии. Пакеты проходя по цепочкам правил сравниваются с этими критериями, и если пакет выполняет условия критерия к нему применяется указанное действие. На какой интерфейс отправить пакет определяет ядро с помощью таблицы маршрутизации. Когда пакет попадает в цепочку POSTROUTING в моем случае он уже отправляется через интерфейс который имеет выход в интернет. Это легко доказать с помощью логирования пакетов. Если бы это было не так, то правило:
iptables -t nat -I POSTROUTING 1 -s 192.168.1.0/28 -j LOG
kernel: OUT=ppp0 SRC=192.168.1.2 DST=94.24.252.216 ...
-t nat POSTROUTING -o ppp0 -j MASQUERADE
и
-t nat POSTROUTING -o ppp0 -j SNAT --to-soure ext_ip
...
и подобные
C чего Вы взяли что более компетентный специалист? С чего Вы взяли что Вы лучше разбираетесь в iptables чем Я? С чего Вы взяли что умнее и старше меня? С чего вы взяли что Я не понимаю как работают элементарные правила iptables? Откуда у Вас такое высокомерие? Все Ваши попытки сделать вид что Ваш интелект выше чем у других людей и абсолютное невежество, говорят о Вас как о высокомерном человеке готовом отстаивать свою точку зрения даже когда он не прав. Такое поведение обычно присуще подросткам. Ведь перед тем как оскорблять другого человек нужно хотя бы из уважения к себе проверить свои знания. Вы надеюсь далее не будете показывать свое невежество, поймете что iptables не отвечает за маршрутизацию пакетов, и поступите как взрослый человек - признаете свою неправоту и извинитесь?