Como dar a cada computador na rede seu próprio URL?

2

Lembro-me de que, quando estava na universidade, podia acessar remotamente estações de trabalho individuais no laboratório de informática, especificando p1.someuniversity.edu ou p2.someuniversity.edu por meio do ssh.

Agora em casa eu tenho algo parecido com isso:

  • Um IP estático: 123.123.321.321
  • Um domínio: mydomain.com
  • Vários computadores, incluindo um homeserver, todos conectados a um roteador
  • O roteador está configurado com dd-wrt

Eu posso usar a área de trabalho remota no servidor doméstico usando o encaminhamento de porta no meu roteador e, em seguida, informando ao meu registrador de domínio para apontar www.mydomain.com para meu ip estático. Mas e se eu quiser acessar outros computadores na minha rede? Por exemplo, se eu tenho um desktop Ubuntu na rede, como eu poderia ssh para ele através de wkst1.mydomain.com ? Além disso, existe um nome para o tipo de configuração de rede que meu laboratório de informática da universidade tinha?

    
por DaveS 20.03.2013 / 15:16

4 respostas

2

As URLs destinam-se a especificar três coisas - um protocolo, um host e a localização de um recurso nesse host - não apenas um host. Nem todos os protocolos usam URLs ou fazem sentido com eles, sendo o SSH um deles (SFTP sendo diferente, é claro).

O que você está realmente perguntando é como você pode dar a cada computador em sua rede seu próprio nome de domínio que pode ser resolvido externamente.

Você é provavelmente um cliente ISP residental padrão com um único IP fornecido pelo ISP, com suas máquinas em uma LAN privada IP e usa um roteador NAT. Assim, como mencionado acima, você não pode fazer o que sua universidade fez - o que sua universidade fez depende de cada máquina ter seu próprio endereço IP público, o que é possível para as universidades, pois algumas têm grandes blocos IP atribuídos a elas. Isso não vai acontecer para você como um cliente residencial do ISP.

Nada impede que você execute seu próprio servidor DNS em casa, informando ao seu roteador que forneça seu servidor DNS privado como "o" servidor DNS e atribua a cada máquina em sua rede um nome de domínio acessível internamente usando-o. Ele funcionará perfeitamente - em sua casa (até que você deseje resolver um host externo, como google.com), a menos que você configure encaminhadores de DNS, mas esse é outro assunto.

Eu mesmo nunca fui muito claro sobre a opção "domínio" do DHCP, mas isso não afeta, e não pode afetar, qualquer coisa alcançável de fora da sua rede neste cenário.

Para o seu IP público único, você pode obter um nome de domínio para ele, e há provedores como o no-ip.com que oferecem um nome gratuito. Você precisa executar um cliente em algum lugar da rede que atualize o provedor. com alterações no seu endereço IP público. Eu acredito que no-ip.com permite que você tenha até dois domínios apontando para qualquer máquina que você goste. Mas, se você apontar os dois para o seu único IP público, eles estão realmente apontando para o mesmo lugar, porque os domínios não têm nenhum conceito além de "essa string = esse endereço IP".

Portanto, com coisas como o SSH, você está preso ao encaminhamento de porta. Você precisa dizer ao seu roteador para encaminhar o tráfego de entrada em algo como o TCP 1000 para o IP privado da sua primeira estação de trabalho, porta 22 e TCP 1001 para o IP privado da segunda estação de trabalho, porta 22.

Com o HTTP, muitos servidores da Web podem fazer uma coisa chamada "proxy reverso", em que uma URL é, na verdade, um front-end para um servidor da Web diferente. Então, se você está rodando um servidor web na estação de trabalho 1 (isto é, link ) - você pode configurar o Apache para reverter algo como o diretório " workstation2 "para uma segunda estação de trabalho também executando o Apache. Então, o resultado final é que link fala com o servidor web na estação de trabalho 1, e link informa ao servidor web na estação de trabalho 1 para falar com o servidor web na estação de trabalho 2, e encaminhar o resultado para você. Este é um protocolo específico e não tenho certeza se outro muito além de HTTP pode ser "proxied reverso". Você não poderia RDP sobre um proxy reverso HTTP a menos que você tivesse alguns scripts ou plugins Apache suportando isso.

Você também pode querer olhar para uma VPN SSL, como Adito aka OpenVPN ALS . Ele permite que você configure túneis e forneça uma interface muito boa para isso. É muito conveniente e vale a pena passar pela configuração.

    
por 20.03.2013 / 16:38
3

O seu laboratório da Universidade era completamente normal - não havia nada de especial nisso. Na sua situação de casa, você está passando por um único IP para acessar todas as suas máquinas, portanto, seu ponto de partida é bom, mas é necessário encaminhar portas alternativas para outros sistemas. Exemplo: encaminhar a porta 2022 para a porta 22 em sua área de trabalho do Ubuntu, em seguida, ssh para o mesmo nome de host, mas a porta 2022 para chegar ao SSH na sua máquina Ubuntu. Você estará bem servido para seguir a recomendação de Alex e configurar concessões DHCP internas estáticas nessa situação.

    
por 20.03.2013 / 15:30
0

Você precisa do serviço enable dnsmasq e atribuir concessões DHCP estáticas (opcionais) e nomes de domínio para seus computadores

    
por 20.03.2013 / 15:27
0

Os computadores da sua universidade funcionavam como a maior parte da Internet normal: cada computador tem seu próprio IP exclusivo. Além disso, eles configuraram o DNS para que você pudesse se conectar a um computador em uma base de nomes, em vez de precisar digitar o número IP.

Você pode comparar isso com cada pessoa que tenha um número de telefone, que é listado como iba global phone book

Você pode fazer algo semelhante em casa. No entanto, a maioria das configurações domésticas só vem com um único endereço IP v4. Isso significa que você:

  1. Use apenas um único computador ao mesmo tempo ou
  2. Você precisa fazer alguns truques.

O truque aqui é geralmente NAT . A analogia do telefone é ter um único número de telefone. Adicione uma recepcionista na porta. Cada chamada não é feita para uma pessoa no prédio, mas para a recepcionista. Você então pede a ele para colocá-lo em um dos telefones internos.

Como há apenas um único número (um único número de telefone, c.q., um único IP), você não pode especificar uma pessoa específica (computador) no interior apenas ligando. Você precisa adicionar alguns truques adicionais. Por exemplo. todas as chamadas do número de telefone A serão imediatamente enviadas para as vendas. Todas as chamadas do número de telefone B serão encaminhadas imediatamente para o departamento jurídico, etc, etc.

Nesse caso, putting the call though é o encaminhamento de porta.

Uma conexão ao seu IP: port será reconhecida pelo seu firewall e, em vez de estabelecer uma conexão local, será encaminhada para um dos seus computadores.

Como cada combinação de IP: port é única, você só pode encaminhá-la para um único computador.

Se você quiser acessar vários computadores dentro de uma rede NATted, precisará configurar o firewall com várias regras de encaminhamento para portas distintas.

Exemplo:
Encaminhar todas as conexões para (my_ip: port_2022) para o computador A :, porta 22.
Encaminhar todas as conexões para (my_ip: port_3022) para o computador B :, porta 22.
Encaminhe todas as conexões para (my_ip: port_4022) para o computador C :, porta 22.

A única execução potencial para isso é o HTTP, já que ele não apenas envia uma solicitação para um IP: port, mas também menciona um nome de host em seu pacote. No entanto, esta é uma exceção, a maioria dos protocolos não menciona um nome de host de destino.

    
por 20.03.2013 / 15:57