Sua abordagem alternativa pode ser obtida usando o roteamento baseado em políticas. Algo ao longo das linhas de (comandos devem ser executados no GW1):
# Create rule for matching the source address in route table 999
ip rule add from 1.2.3.4/32 table 999
# Add default router to the table
ip route add default via <GW2> table 999
Eu não tenho a possibilidade de testar os comandos, mas eles devem estar corretos. As regras de roteamento na tabela 999 não são visíveis no% normal$ ip route show
- é necessário anexar o ID da tabela: $ ip route show table 999
.