После инициализации и монтирования корневой файловой системы, запускается Linux /sbin/init
который продолжается с инициализациями пространства пользователя включая монтирование /proc
Скорее всего, Ваш rcS
или безотносительно конфигурации init
чтения не делают этого, и необходимо сказать это.
Если у Вас есть приглашение оболочки, можно смонтироваться /proc
вручную с:
mount -t proc p /proc
Обратите внимание что /proc
каталог должен существовать, прежде чем можно будет смонтировать что-то там. Необходимо включать его в корневое изображение.
Перенаправление портов NAT перенаправит пакеты, а не копирует их. В Вашем примере трафик вызовов даже не должен прибывать в прикладной уровень на B:2222
но будьте перенаправлены прямо к C:3333
.
Вы, вероятно, хотите посмотреть на TEE
цель для iptables
и сделайте дублирование на промежуточном хосте вдоль сетевого маршрута от A.
C
/
A - X - B
На X
, копируйте пакеты:
iptables -t mangle -A PREROUTING -d B -p udp --dport 2222 -j TEE --gateway C
На C
, перенаправьте дублированный трафик локальному слушателю:
iptables -t nat -A PREROUTING -d B -p udp --dport 2222 -j DNAT --to-destination C:3333
Причина промежуточного хоста состоит в том, что обычно Linux не будет позволять Вам смешать с маршрутом для трафика, предназначенного для локального интерфейса. Я не попробовал это TEE
установите конкретно, но обычно трафик для локального интерфейса закоротит правила маршрутизации сокращения, так никогда не будет разбирать его к --gateway C
. Я предполагаю, что Вы поразили бы ту же проблему с TEE
попытка направить трафик для B
но ymmv.
Следующей проблемой может быть само приложение. Вы уверены поддержка протоколов, просто касающаяся на и играющая дублированный сетевой поток? Если поток RTP может быть взят aplay
на C
, затем похоже, что у Вас есть свой канал неправильный путь вокруг также. Вы хотите nc
передавать по каналу в aplay
.
nc -l -u 3333 | aplay