Duas partes; Primeiro o lado específico do Linux:
Crie sua interface sendo muito cuidadosa para que sua interface interna não afete a tabela de roteamento linux. Os comandos netstat e ip devem ser seus amigos na análise das informações da rota.
Uma vez que sua interface não é globalmente roteável, vá em frente e ligue-se a essa interface usando setsockopt depois de criar o soquete. Estas são as duas opções que você provavelmente precisará:
SO_BINDTODEVICE
SO_DONTROUTE
Veja também linux / if.h.
Mais fácil, mas não uma resposta completa à sua pergunta; Use o IPv6.