Você tem algumas opções, mas ambas são uma dor no traseiro.
Para te ajudar um pouco, você está procurando por um 'túnel de camada 2' (saber o que procurar é metade da batalha!)
Opção 1: use um túnel 'gretap'. Isto é suportado ingenuamente na maioria das distribuições linux modernas.
Opção 2: Instale o openvswitch no host e configure túneis GRE entre os hosts. Provavelmente você pode configurar o openvswitch para fazer isso, mas a maneira mais fácil é usar um controlador OpenFlow (como o Ryu, que vem com um módulo de chave simples) para uni-los em um grande comutador virtual.
Eu fiz a opção 2, mas a opção 1 seria a maneira mais fácil (embora eu nunca tenha funcionado devido a outras restrições).