Это не так просто, как вы могли бы подумать - вам в основном понадобится модуль ядра, который
- перехватывает пакет на очень ранних стадиях (в цепочке
PREROUTING
) и помечает пакет NF_STOLEN
- маршрутизируйте пакеты самостоятельно (что является НЕ тривиальной задачей) и
- повторно вставьте их в цепочку
POSTROUTING
с вставленными правильными заголовками Ethernet
В дополнение к этому вам необходимо убедиться, что эти цепочки НЕ будут отбрасывать пакет (я не уверен, что вы можете добиться этого, имея свои хуки с наивысшим приоритетом)