acessando um servidor de sua LAN e o exterior com o mesmo domínio

1

Situação

Eu tenho um servidor na minha LAN executando um servidor LAMP, eu o uso para o TeamSpeak, nextcloud, hospedagem pessoal etc.

Eu possuo um domínio "through" cloudflare, redirecionando para o meu endereço IP público.

Eu acesso o servidor da LAN e do lado de fora.

meu problema / o que eu quero mudar

Devido ao meu servidor estar na minha LAN, ele tem o mesmo endereço IP público do meu cliente (somente quando estou em casa, obviamente). Portanto, não consigo acessar meu servidor porque o ping do meu IP público não funciona (comportamento normal, eu acho).

Para superar esse problema, uso meu arquivo hosts para redirecionar meu domínio para o endereço IP local do meu servidor. Mas toda vez que eu mudo de posição (quase todos os dias) eu tenho que editar esse arquivo.

E isso também funciona apenas nos poucos dispositivos em que eu posso editar esse arquivo. Então, no meu telefone (android), por exemplo, não consigo acessar meus sites ou qualquer coisa específica do domínio.

existe alguma maneira de superar esse problema?

Eu realmente tenho algumas ideias

  • encontrar alguma maneira para que meu endereço IP público seja "pingável" na minha LAN
  • configurando um servidor DNS local
  • diferentes arquivos de zona DNS, dependendo do endereço IP solicitante, se isso for possível (talvez o cloudflare ofereça esse recurso). (se o endereço IP solicitante for o mesmo para o qual o domínio redireciona, ele responde com meu ip local para o servidor)

editar (17.03.17)

Esqueci de mencionar que também quero usar este servidor para email no futuro. Então tem que estar preparado para isso.

Instalei agora um servidor DNS que resolve meu domínio no endereço IP local do servidor (usando bind9 ; também para reverso). Isso funciona perfeitamente, mas para isso eu tive que configurar manualmente meus servidores DNS (aqueles que meu computador está solicitando), resultando em tempos de carregamento mais lentos (de outros sites). Mas esta também não é a solução perfeita, porque então alguém como amigos meus não podem acessar o servidor devido a eles não terem meu próprio servidor DNS em sua lista. Mudar os servidores DNS padrão do meu roteador resolve esse problema?

Infelizmente, eu tenho um endereço IP público dinâmico, que muda a cada três semanas. Até agora eu mudei minha entrada de DNS manualmente, mas isso tem que mudar (é por isso que mudei para o cloudflare, eles oferecem uma API para isso).

Para acessar meu servidor de fora, tive que redirecionar / encaminhar algumas portas para ele. Aqui está uma captura de tela deles:

    
por Iuppiter Zeus 12.03.2017 / 03:27

2 respostas

0

A resposta depende da sua utilidade. Se você usar apenas http para se comunicar com o servidor em sua lan interna (por nome público), poderá alterar o comportamento com base na porta. Você também pode emitir um redirecionamento de sua lâmpada local com base no endereço IP de origem, por exemplo. (por exemplo, se tiver o endereço de origem como gateway externo, ele poderá redirecionar a solicitação para o endereço IP interno). Isso não lhe traria o mapeamento de nomes.

Mesmo assim, parece que há um erro de configuração no encaminhamento de porta no roteador. Não estou falando de hairpinning, que meus roteadores também não suportam, mas eu uso o encaminhamento de porta e posso me conectar a servidores internos de dentro ou fora de nossa lan, roteando através do domínio externo / interface. por exemplo. Eu tenho uma entrada DNS home.domain.com que aponta para a interface wan do roteador. Independentemente de eu estar dentro ou fora, as solicitações para home.domain.com vão para a interface wan e, em seguida, redirecionam a porta para o servidor de destino correto. Isso ainda é indireto em alguns aspectos, mas funciona, então deve funcionar para você também.

Também é uma questão de quantos outros servidores fornecem a porta / serviço dentro de sua rede. É apenas o único?

Por fim, também considero esse problema de vez em quando, pois quero uma política de nome de host que dependa da rede à qual estou conectado também. Talvez uma opção fácil seja {(a) escrever um script agendador (se você estiver no Windows) ou (b) adicionar um script ao ifup / ifcfg} que pinga o host linux específico ou outros ativos conhecidos dentro da LAN e, em seguida, define o valor dos hosts é baseado nele. Não é tão elegante quanto rodar seu próprio servidor DNS com suas próprias regras internas (o que, a propósito, pode ser igualmente fácil de lidar, já que o dhcp pode fornecer o servidor DNS interno da LAN.

Talvez não esteja funcionando para você porque você está usando o redirecionamento de IP para seu nome de domínio, em vez de DNS dinâmico? Por exemplo, nosso IP público é dinâmico, por isso, meus servidores internos atualizam periodicamente meu sub / domínio dnsmadeeasy com o endereço IP externo / público. Em seguida, a pesquisa do nome do host segue direto para o endereço IP correto e não é redirecionada para lá.

    
por 14.03.2017 / 07:55
0

Sinto muito ter demorado tanto para finalmente escrever esta resposta final.

(já mencionado na edição da pergunta)
A maneira perfeita seria ter um roteador que suporta hairpin / NAT. Mas o meu não. É por isso que decidi usar um servidor DNS. Eu só tive que mudar os servidores DNS padrão em meus computadores e telefones e assim por diante (o que é possível em todos os sistemas operacionais comuns). Isso resultou em pouco, mas perceptível (pelo menos eu acredito que) tempos de carregamento mais lentos. Mas não é um grande problema.

Mas o próximo (outras pessoas não sendo capazes de acessar o servidor quando na minha LAN, devido a eles não ter o meu servidor DNS em sua lista) foi um problema maior e, portanto, decidi deixá-lo lá. A única maneira que eu suponho existe é alterar os servidores DNS padrão no meu roteador. Mas para fazer isso eu teria que modificar toda a configuração, mas existem maneiras conhecidas de fazê-lo.

Sobre o problema com meu endereço IP em mudança:
Escrevi para mim mesmo um pequeno script que parece a cada cinco segundos se eu tenho um novo endereço IP e, se esse for o caso, ele o altera automaticamente por meio da API cloudflare mencionada acima. Se alguém precisar e estiver com preguiça de escrever, eu posso publicá-lo.

Obrigado @Beracah pela sua resposta:)

    
por 13.06.2017 / 03:49

Tags