Я так понимаю, необходимо написать модуль ядра. Из поисков я понял, что мы заставляем iptables все FORWARD пакеты идти к нам на прокси, а там уже можно делать с пакетами всё что угодно.
У кого есть примеры или статьи, книги где описаны методы для реализации этой задачи?
Смысл в написании собственного балансировщика сети.
Пример, есть три сервера, я хочу через промежуточный сервер гонять запросы клиентов по трем разным серверам автоматически, в зависимости от их загруженности. Я хочу понять как мне изменить адрес назначения пакета и отправить его на интерфес
Потому что многие варианты балансировок можно реализовать, не разрабатывая модуль ядра. В конце концов, можно попробовать nftables, в которм все правила транслируются в байткод и исполняются хитрой ВМ в ядре.
meforyou: Ну раз так, то берите исходники ipvs (он же LVS) и дописывайте модуль для какого-нибудь непроходимого через NAT протокола, например, SIP. Модуль для FTP (для образца) там уже есть. https://git.kernel.org/cgit/linux/kernel/git/torva...