Eu estou querendo saber como encapsular o tráfego tcp / ipv6 sobre o túnel ssh / ipv4 (conexão ptp). É possível? Como posso conseguir isso?
Eu estou querendo saber como encapsular o tráfego tcp / ipv6 sobre o túnel ssh / ipv4 (conexão ptp). É possível? Como posso conseguir isso?
Respostas:
Sim, é possível e não muito difícil, mas a solução é muito abaixo do ideal, pois o SSH é executado sobre o TCP e possui uma sobrecarga sensata.
O servidor deve ter em seu arquivo de configuração sshd_config
:
PermitTunnel point-to-point
Então, você precisa ser root nas duas máquinas. Você se conecta ao servidor usando:
ssh -w any root@server
Após a conexão, use o comando ip link
nos dois sistemas para saber qual dispositivo tunN foi criado em cada um e use-o nos seguintes comandos. Observe que estou usando exemplos de endereços locais do site, obsoletos, mas ok para esta introdução.
No servidor:
server# ip link set tun0 up
server# ip addr add fec0:1::1/112 dev tun0
No cliente:
client# ip link set tun0 up
client# ip addr add fec0:1::2/112 dev tun0
Isso é suficiente para que você possa executar ping no outro lado através do túnel, se não houver bloqueio de regras de firewall. O próximo passo é definir rotas sobre o túnel (não se esqueça de net.ipv6.conf.default.forwarding = 1) e, em seguida, ajuste o link MTU para obter o desempenho ideal.
server# sysctl net.ipv6.conf.all.forwarding=1
client# ip -6 route add default via fec0:1::1
Isso permitirá que seu cliente efetue ping em outras redes às quais o servidor tem acesso, uma vez que os destinos têm rotas de volta para o cliente remoto.
Você também precisará corrigir o link MTU para que o cliente não envie pacotes que o servidor não poderá transmitir adiante. Isso depende da MTU do link IPv6 do próprio servidor. Não confie no caminho MTU discovery, pois ele não funcionará corretamente no túnel SSH. Em caso de dúvida, comece com um valor baixo de MTU, como 1280 (MTU mínimo permitido para IPv6).
ip
comando, então defina o endereço IP com sudo ifconfig tun0 inet6 fec0:1::2/112 up
e defina a rota com sudo route add -inet6 -mtu 1280 default fec0:1::1