Использование iptables для перенаправления всего исходящего трафика докера обратно в контейнер

Установка программного обеспечения без рута — типичная проблема, и существует множество решений.
Для версии ядра linuxbrew , только brew install fishимеет дело с его зависимостями, такими как cmake.
Чтобы узнать выше, см. awesome -linux -контейнеры

0
05.10.2020, 13:16
1 ответ

I have applied the iptables rules above to my docker host

На хосте -t nat -A OUTPUTперенаправляет исходящий трафик вашего хоста. Вам это не нужно, если вы просто хотите перенаправить трафик контейнера. Использование -t nat -I PREROUTINGдостаточно для перенаправления трафика контейнера.

Вот несколько советов, которые вы могли бы попробовать, но не уверен. Надежда поможет:

  • Поскольку это iptables хоста, попробуйте изменить -j DNAT --to-destination 172.17.0.1:12345на-j DNAT --to-destination 127.0.0.1:12345

  • iptables -I INPUT -j ACCEPT, чтобы разрешить входящий трафик из контейнеров. Я предполагаю, что ваш хост не разрешал, поэтому исходный IP-адрес всегда был (и мог быть только )127.0.0.1

  • socks5 прокси? Вам нужен мост прокси-протокола, чтобы использовать socks5 с iptables.

    container -> host -> redsocks to socks5 bridge -> socks5
    
  • Наконец, если он по-прежнему не работает, это может быть ошибка Linux в NAT, подобная той, с которой я столкнулся здесь . Эта проблема решилась после того, как я обновил Linux. Я не знаю, просто угадай

0
18.03.2021, 23:00

Теги

Похожие вопросы