Como rotear pacotes de uma interface de túnel de entrada (l2tp) para a internet?

0

Estou tentando configurar o tunneldigger para o tráfego de tunelamento de um roteador OpenWRT para um dos meus servidores dedicados. O próprio túnel parece estabelecer-se corretamente, mas os pacotes não estão roteando como eu esperava.

Para uma explicação melhor, é assim que minha rede é configurada:

+----------+      ens3 +-----------------+ l2tp100-1      l2tp0 +-----------------+
| internet |<----------| server / broker |<--- l2tp tunnel ---> | client / router |
+----------+           +-----------------+                      +-----------------+
                  public IP            10.254.0.2         10.254.0.4

A interface l2tp0 é criada no cliente (o roteador OpenWRT) e uma interface l2tpxxx-x correspondente é criada no broker (o servidor dedicado). Depois de trazer as duas interfaces para cima, posso enviar pings para uma interface e ver os ARPs saírem da outra:

# on the client
ping -I l2tp0 8.8.8.8

# on the broker/server
tcpdump -i l2tp100-1
00:36:29.925663 ARP, Request who-has google-public-dns-a.google.com tell <client-ip>, length 28

Esses ARPs não parecem ir a nenhum outro lugar. Devo estar faltando alguma configuração de roteamento para obter esses pacotes para a internet.

Eu configurei o encaminhamento no iptables com:

# ens3 is the interface on the server which has access to the internet
iptables -t nat -A POSTROUTING --out-interface ens3 -j MASQUERADE

# l2tp100-1 is the interface on the server which receives incoming packets from the tunnel
iptables -A FORWARD --in-interface l2tp100-1 -j ACCEPT

Mas isso não muda nada. Então eu pensei que talvez estivesse faltando uma rota, então eu tentei adicionar uma rota da interface de entrada l2tp100-1 para a interface que tem acesso à internet (ens3):

ip route add <subnet>/22 dev l2tp100-1 src <public internet IP>

Isso resulta no seguinte erro:

RTNETLINK answers: File exists

No entanto, mostrando a tabela de roteamento completa executando "ip route list table all" não há nenhuma entrada para l2tp100-1.

Eu devo estar seriamente errado sobre algo aqui, mas qual é o problema?

    
por D.Cent 12.04.2018 / 18:21

0 respostas