Faço backup do meu laptop (macOS) em um desktop (Linux) em casa. Naturalmente, às vezes meu laptop está em casa, na mesma rede local que meu desktop, e às vezes não. Já há algum tempo que o laptop se refere ao desktop com um URL público, pois é conveniente e funciona independentemente de onde o laptop esteja. A desvantagem é que meu sistema de backup acessa a área de trabalho pela Internet, mesmo quando seria mais rápido acessá-lo pela LAN. (Eu teria pensado que, enquanto estivesse em casa, meu roteador ou algo do lado do meu ISP notaria imediatamente que estou acessando meu próprio IP e pegaria um atalho, mas o traceroute mostra mais de 12 saltos, então acho que não.)
Como posso fazer com que meu laptop acesse automaticamente meu desktop pela LAN, quando possível, e pela Internet, caso contrário?
O melhor que consigo pensar é um script de shell que verifica se estou em casa e modifica meu arquivo hosts. Isso é um pouco desajeitado e seria complicado se eu quisesse fazer isso com mais de um dispositivo, especialmente dispositivos móveis. Não posso ser a única pessoa que já teve esse problema, então gostaria de saber se existem métodos melhores. Idealmente, existe alguma maneira de personalizar o comportamento da resolução de URL com programas executáveis ou pequenos scripts que não conheço.
Isso pode parecer um ajuste excessivo, mas meus backups às vezes demoram um pouco, mesmo na minha rede doméstica, e podem se tornar muito inconvenientes.
Meu roteador é um Archer C7.
Tenho serviço de Internet residencial, então meu IP provavelmente muda ocasionalmente, mas parece ser muito raro.
Consigo detectar se os dois computadores estão na mesma rede local.
Responder1
Uma solução seria ter um servidor DNS local em sua LAN: você poderia adicionar uma entrada local que resolveria o URL/nome de domínio da sua área de trabalho para um IP local na LAN. Por aqui:
- quando você está na LAN: você obtém o IP local do seu desktop
- quando você está na WAN: você obtém o IP público do seu desktop
Infelizmente, isso provavelmente exigirá muito trabalho, poisa maioria dos roteadores não inclui DNS locale seu roteador (archer C7) parece não oferecer esse recurso.