LINUX.ORG.RU
ФорумAdmin

Один хост и два приложения. Кто первый попадет в цепочку OUTPUT?

 , , , ,


0

1

Прошу помощи для понимания теории. Есть linux host. На нем запущены два приложения:

  1. Android emulator
  2. Mitmproxy Вопросы:
  3. Оба приложения устанавливают исходящие соединения. Согласно описанию iptables пакеты исходящие из приложения должны пройти через цепочку OUTPUT. Мне нужно понять в системе под каждое приложение создаётся своя цепочка OUTPUT или пакеты обоих приложений в хронологической последовательности проходят через единую цепочку OUTPUT?
  4. Правильно я понимаю, что в самом процессе android-emulator живёт полный набор всех цепочек и они не имеют отношения к цепочкам host-а? Таким образом после POSTROUTING в эмуляторе пакет попадает в OUTPUT host машины?
  5. Если все приблизительно так как я описал, то как правильнее загнать трафик из эмулятора в proxy в случае когда они запущены на одном хосте? По моим соображениям примерно так: iptables -t nat -A OUTPUT -p tcp -s 127.0.0.1 –dport 80 -j REDIRECT –to-ports 8080 Но это не работает.
  6. Если я в недрах эмулятора делаю пометку исходящих пакетов при помощи -j MARK, то сохранятся ли эти тетки в пакетах на host машине?

или пакеты обоих приложений в хронологической последовательности проходят через единую цепочку OUTPUT?

this

Правильно я понимаю, что в самом процессе android-emulator живёт полный набор всех цепочек и они не имеют отношения к цепочкам host-а? Таким образом после POSTROUTING в эмуляторе пакет попадает в OUTPUT host машины?

зависит от того какой это Android emulator. Если там полноценная виртуальная машина(на базе KVM) - тогда да, на хосте весь трафик от эмулятора скорее всего будет в цепочке FORWARD

Если я в недрах эмулятора делаю пометку исходящих пакетов при помощи -j MARK, то сохранятся ли эти тетки в пакетах на host машине?

если эмулятор - виртуальная машина, то нет, не сохранятся. MARK хранится только в пределах одного namespace сетевого стека Linux.

Pinkbyte ★★★★★ ()

Если все приблизительно так как я описал, то как правильнее загнать трафик из эмулятора в proxy в случае когда они запущены на одном хосте? По моим соображениям примерно так: iptables -t nat -A OUTPUT -p tcp -s 127.0.0.1 –dport 80 -j REDIRECT –to-ports 8080 Но это не работает.

указать эмулятору работать через прокси. не удивительно что не работает. -s 127.0.0.1 далеко он собрался с таким адресом? а вообще -t nat -I prerouting

antech ()