De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Jamenson Ferreira Espindula de Almeida Melo
Data de Publicação: 6 de junho de 2024
Certo dia eu decidi usar o IPv6 para acessar as máquinas na rede "interna"
(endereços iniciados com "fe80
"). Ocorre que o protocolo IPv6 funciona
um pouco diferente do IPv4: no IPv6 é obrigatório informar a interface
por meio da qual a conexão será estabelecida.
O problema: a interface é a do computador cliente (solicitante da conexão);
o endereço fe80
é o do computador servidor (o destinatário da
solicitação de conexão). Essa combinação traz um transtorno imenso
quando se deseja acessar o servidor a partir de máquinas diferentes
(possivelmente com interfaces de rede de intercomunicação com nomes
diferentes) ou até mesmo a partir de uma máquina equipada com mais de uma
interface de rede de intercomunicação! No arquivo "config" do software
"ssh", é possível configurar essa situação e até gerar uma espécie
de descobridor automático. Com a ajuda do então chat generativo "Bard"
do Google, atualmente "Gemini, eu cheguei nos seguintes comandos:
Etapa um: Este comando retornará o nome da interface de rede atualmente associada à rota padrão.
if ip route | grep -e "default"; then interface=$(ip route | grep default | awk '{print $5}') fi
Etapa dois: Este comando atribui o valor armazenado na variável
exportada "interface
" à porção da interface para uso no arquivo de
configuração.
if [ "$interface" = "enp3s0" ]; then var_interface="enp3s0" else var_interface="wlan0" fi
Etapa três: incluir estas linhas no arquivo ${HOME}/.ssh/config
(adaptar com o endereço do dispositivo remoto destinatário da solicitação de conexão).
Host comp03 Address 2001:db8::96de:80ff:fef4:720f%%${var_interface}
Com isso, o endereço IPv6 link-local do dispositivo remoto será sempre associado à interface de rede do dispositivo local (solicitante da conexão) que está atualmente em uso.
Jamenson Ferreira Espindula de Almeida Melo
Jaboatão dos Guararapes, Pernambuco, Brasil
Usuário GNU/Linux nº 166197; LFS ID 24492
Key fingerprint: 234D 1914 4224 7C53 BD13 6855 2AE0 25C0 08A8 6180