As pessoas aqui sugeriram algumas alternativas viáveis para o que você deseja fazer. O roteamento e o NAT de origem podem ajudar, mas podem ou não resolver o problema que você está tentando resolver.
Você pode fazer exatamente o que você perguntou se você está disposto a muito sobre um pouco. Você pode usar a mágica da interposição de função via LD_PRELOAD
para agrupar a chamada do sistema bind()
com código de sua escolha.
As páginas a seguir contêm informações que fornecem mais detalhes sobre essa solução:
Isso funcionará somente enquanto o código que estiver executando não for SUID (por motivos de segurança, os programas SUID / SGID não podem ser modificados usando LD_PRELOAD
).