como posso encaminhar solicitações para o meu próprio endereço IP para um endereço IP local na minha rede (possivelmente usando o named)?

1

Minha configuração

Eu tenho um servidor Linux em execução no meu porão. Atualmente tenho meu roteador olhando para esse servidor para pesquisa de DNS, para que eu possa usar o nome para falsificar um monte de nomes de domínio para apontar para o endereço local do meu servidor local, 192.168.0.111 . Isso funciona muito bem.

Eu também estou executando o Apache e PHP neste servidor, e encaminhei a porta 80 em meu roteador para esta máquina, então meu IP público xx.xxx.x.xx é enviado para o servidor do porão.

Este é um ótimo desenvolvimento criado para mim, porque posso desenvolver sites na minha rede local e colocá-los em vários dispositivos com um *.mylocal.net de endereço. Também posso compartilhar rapidamente um website no meu IP público com outras pessoas que estão fora da minha rede.

Eu tenho um IP estático, o que torna isso ainda mais fácil.

O problema

Algumas aplicações precisam ter um URL absoluto. Meu DNS falsificado não funciona fora da minha rede e nem meu endereço IP interno.

Eu preciso acessar os sites no mesmo IP que eles acessam publicamente, que é meu IP público: xx.xxx.x.xx

Por algum motivo, não consigo acessar meu próprio endereço IP público na minha própria rede.

O IP público do meu roteador é xx.xxx.x.xx , e quando eu bato xx.xxx.x.xx de fora da minha rede, vejo exatamente o que eu quero - meu site de desenvolvimento. Mas quando eu bato xx.xxx.x.xx dentro da minha rede, a conexão expira.

Eu assumo que o meu ISP tem um firewall que bloqueia pedidos de xx.xxx.x.xx a xx.xxx.x.xx onde a origem e o destino são o mesmo IP (ou talvez isso seja impossível em qualquer rede?)

Então, como posso configurar minha rede para encaminhar a solicitação interna para meu IP público para o IP local do meu servidor do porão?

Eu gostaria de fazer isso dentro do servidor DNS local que eu configurei, ou no meu roteador, para que a alteração possa ser aplicada a todos os dispositivos da minha rede, e não apenas ao servidor do porão ou ao tablet / laptop do Windows, etc. individualmente.

    
por tmsimont 16.06.2014 / 20:04

2 respostas

2

Isso é normal para acontecer. O problema não é um firewall no nível do ISP, mas simplesmente o seu roteador. Quando você aponta para um endereço de dentro de sua LAN para um IP público que está dentro de sua lan, acontece o seguinte:

Your PC - > Your Router - > Internet - > Your Router - > Your other PC .

O problema é que quando uma conexão com a Internet é redirecionada para o seu roteador, o roteador fica confuso porque a conexão já está vindo do seu roteador e, como tal, não está funcionando. A única maneira de fazer isso funcionar é fazer com que o endereço público aponte para sua rede local a partir de inside da sua rede, para que ela nunca saia da sua LAN.

Dado que você já tem seu servidor DNS no seu servidor linux, adicione seu domínio mylocal.net e todos os subdomínios lá, e aponte para o seu endereço IP local, 192.168.0.111, e assegure-se de que a conta mylocal.net atual faz o DNS real para o mundo exterior.

Aqui está um exemplo com o que acontecerá:

Vamos supor que você tenha configurado o test.mylocal.net para apontar para o seu IP público chamado 12.34.56.78

Agora, de fora da sua LAN, o ping test.mylocal.net responderá a 12.34.56.78.

No seu servidor DNS Linux, você adiciona test.mylocal.net e aponta para 192.168.0.111.

Quando você está dentro da sua rede , e entra no test.mylocal.net no seu navegador, acontece o seguinte:

  • Browser: um host local é configurado com test.mylocal.net? Não.
  • Navegador, encaminhar solicitação para o servidor DNS local.
  • O servidor DNS local é o seu servidor DNS Linux: o test.mylocal.net está definido? Sim, retorne 192.168.0.111
  • O navegador agora se conecta ao seu servidor da Web e mostra a página.

Fora da rede:

  • Browser: um host local é configurado com test.mylocal.net? Não.
  • Navegador, encaminhar solicitação para o servidor DNS local.
  • O servidor DNS local é o roteador ou o servidor DNS de alguém.
  • O servidor DNS local não possui uma entrada específica para test.mylocal.net, Retorna No.
  • O servidor DNS local pergunta ao servidor DNS da Internet o que é o IP.
  • O servidor DNS da Internet recebeu seu test.mylocal.net com uma atualização e retorna o ip público.
  • O navegador faz solicitação ao seu ip público.
  • O navegador se conecta ao seu roteador.
  • O roteador encaminha a solicitação ao seu servidor linux.
  • O servidor Linux veicula a página da Web.
  • O navegador mostra a página da web.
por 16.06.2014 / 20:22
-1

Oi Por favor, tente editar o seu arquivo host e siga os passos.

  • Ir para - > C: \ WINDOWS \ System32 \ drivers \ etc \ hosts
  • Clique com o botão direito do mouse no arquivo hosts, clique em Propriedades e desmarque a caixa somente leitura.
  • Em seguida, clique em OK.

2) Agora você pode editar o arquivo hosts:

You may need an Administrator account to edit the hosts file. - Open NotePad (Vista/7, Run as Administrator) - Now Click "File" and then "Open". - Now Enter The Filename (copy/paste all this): C:\WINDOWS\System32\drivers\etc\hosts and click "Open"

  • Agora anexe essas linhas no final do arquivo de hosts:

127.0.0.1 seu IP ou DNS público

Obrigado ..

    
por 08.01.2015 / 02:50