Este é um acompanhamento para esta pergunta minha. (Ainda no Debian 7.8)
O problema não está realmente relacionado ao IPSec nem nada, porque não consigo nem executar ping no host remoto com o IP de origem "correto" (através de ping -I eth1: ipsec).
Aqui estão as informações necessárias:
inet xxx.xxx.xxx.94/24 brd xxx.xxx.xxx.255 scope global eth1
inet xxx.xxx.xxx.92/29 brd xxx.xxx.xxx.95 scope global secondary eth1:ipsec
Eu quero que minhas conexões usem o gw padrão e o IP padrão de eth1: .94, mas uma conexão com um host remoto use eth1: ipsec: .92.
Eu acredito que este é um problema de roteamento, por isso adicionei uma tabela de regras de roteamento:
0: from all lookup local
2: from all to xxx.xxx.xxx.21 lookup 17
32766: from all lookup main
32767: from all lookup default
e 17 tem:
xxx.xxx.xxx.21 via xxx.xxx.xxx.91 dev eth1 src xxx.xxx.xxx.92
Mas mesmo agora, se eu efetuar ping nos pacotes, obtive o IP de origem de .94 (mesmo com ping -I eth1: ipsec ou -I xxx.xxx.xxx.92):
xxx.xxx.xxx.94 > xxx.xxx.xxx.21: ICMP echo request, id 20865, seq 9, length 64
IP xxx.xxx.xxx.21 > xxx.xxx.xxx.94: ICMP echo reply, id 20865, seq 9, length 64
Também SNATting os pacotes via iptables não faz nada, ainda o IP de origem errado.
... Estou completamente perdido aqui.