Não consigo descobrir como fazer um túnel com interface tun

0

Estou tentando fazer o túnel da Camada 3 usando uma interface tun entre 2 VMs do Ubuntu em execução no Windows em python.

Configuração atual:

VM1:

  • enp0s3 minha interface principal 192.168.0.105 (interface em ponte no VirtualBox) configuração
  • tun0 192.168.0.121 ponto inicial 192.168.0.122

VM2:

  • enp0s3 192.168.0.106 (interface em ponte no VirtualBox)
  • tun0 192.168.0.122 pointopoint 192.168.0.121

Script em Python que estou usando: link
Eu também tentei pytun (python wrapper para dispositivos tun / tap).

Então, meu principal problema é, como eu entendo, que o tun0 não está recebendo / enviando nenhum pacote para a minha interface principal.

Se eu tentar fazer o ping do tun0 a partir de enp0s3 ( ping -I enp0s3 192.168.0.121 ):

  1. Em enp0s3 tcpdump, vejo solicitações ARP, 192.168.0.105 procurando 192.168.0.121
  2. No tun0 tcpdump nada.

Se eu tentar executar o ping enp0s3 em tun0 ( ping -I tun0 192.168.0.105 ):

  1. solicitações icmp no tun0
  2. nada relacionado a essas solicitações icmp em enp0s3

Eu tentei várias idéias: route, iproute, iptables mas falhou, talvez porque eu não sou muito bom em roteamento e administração Linux.

Como eu entendo se algo escrito no kernel da interface tun o coloca em "wire", e o kernel coloca pacotes de entrada na interface tun. E outro programa deve manipular esses pacotes. Esse é o meu objetivo, escrever programas que possam escrever e ler na interface tun e fazer operações. Mas eu não posso começar porque estou preso na configuração da interface tun.

Qualquer ajuda e ideias seriam muito apreciadas.

PS. Desculpe por Inglês, primeira vez fazendo perguntas sobre esses serviços. Normalmente eu crio respostas online, mas eu estou preso nele há 4 dias.

    
por metr1ckzu 13.07.2017 / 18:00

0 respostas