Ваше заблуждение заключается в том, что вы, кажется, думаете, что iptables
выполняет пересылку.
Правила, которые вы использовали в первом примере, просто разрешают переадресацию. Переадресация уже разрешена по умолчанию, поэтому эти правила имеют смысл только как исключения из общего правила запрета, которое появится позже.
Вам просто нужно включить пересылку пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
Конечно, ваш шлюз должен быть шлюзом по умолчанию для A
и B
или, по крайней мере, он должен быть шлюзом для связи друг с другом. Поэтому, если это не работает с включенной переадресацией, вы должны включить таблицы маршрутизации на всех трех машинах.