Como faço para tornar público meu servidor Raspberry Pi?


8

Finalmente, finalmente instalei um servidor da web, exceto que ele está disponível apenas na minha rede local e gostaria de torná-lo público. Eu tenho um D-Link DIR-615 como roteador, o endereço IP do meu Pi é 192.168.0.14 e minhas informações públicas de IP são assim:

IP Information: xx.xx.xx.xx
ISP:    Xplornet Communications
Organization:   Xplornet Communications
Connection: Broadband
Services:   None Detected
City:   Sherwood Park
Region: Alberta
Country:    Canada

Tudo soa bem, exceto que eu não moro em Sherwood Park, estou a cerca de 2 horas de distância.

O que preciso fazer para tornar meu servidor público?

Meu roteador suporta encaminhamento de porta, servidor virtual e DMZ. Estou usando um servidor HTTP Apache.

Obrigado, mas isso ainda não resolve o meu problema; Eu só quero conectar de fora, talvez uma vez, então eu vou descobrir o DDNS e tal, mas por enquanto ele não se conecta a nada quando eu digitar meu endereço IP do Xplornet.

Respostas:


13

Encaminhe a porta 80 do roteador para o Pi e, se você quiser fazer o SSH de fora, também a porta 22. Esteja ciente de que, com o SSH de fora, qualquer pessoa que possa entrar pode ssh ou acessar os outros dispositivos da sua rede.

Depois de configurado, se o seu IP permanecer o mesmo, você poderá usar algo como o Cloudflare para apontar um domínio para ele. Se ele mudar diariamente, você precisará de um serviço como o DynDNS.


K então eu definir o meu router para a porta para a frente 80 para a porta 80 com o endereço ip minha framboesa do pi ou qualquer outra coisa, mas ainda apenas "expira" toda vez que tipo I em meu endereço IP externo
Jim Jones

Tente acessá-lo e especificando a porta 80, como xx.xx.xx.xx: 80
George Pearce

@ Spencer: Você não pode testar com segurança o encaminhamento de porta de dentro da sua rede, pois nem todos os roteadores suportam "hairpinning". Tente testá-lo de fora da sua LAN. Por exemplo, use um telefone celular com WiFi desligado e usando dados de celular (3G, HCSD, etc) para uma conexão que não seja da LAN.
RedGrittyBrick

@SpencerKillen Você está testando do lado de fora? Muitos dispositivos não farão isso com NAT se você estiver sentado na mesma LAN do seu raspberry pi e acessando o IP público do seu roteador. Se você puder acessar o servidor da Web em 192.168.0.14 a partir da sua LAN, o RPI ou o Apache não será o culpado, mas o encaminhamento de porta não será feito corretamente ou o seu roteador também possui um firewall em algum lugar.
Nos

Se o encaminhamento de porta for muito complicado ou não for uma opção (por exemplo, se você estiver atrás de um roteador móvel), poderá tentar um serviço de retransmissão como PageKite ou Yaler.net (Divulgação: Sou o fundador da Yaler)
tamberg

3

Há algumas coisas a serem lembradas.

Uma é que, mesmo que o encaminhamento de porta esteja configurado corretamente no seu roteador, talvez você não consiga se conectar ao seu IP público a partir de casa, porque alguns roteadores apenas encaminham conexões vindas de "fora", não "dentro". Outro problema comum é que alguns ISPs não desejam que seus usuários executem servidores públicos e bloqueiem portas de entrada comuns, como as portas 80 ou 25.

Não sei se algum deles se aplica ao seu caso, mas pode ser. Além disso, eu diria que você está no caminho certo, configurar o roteador e uma solução DNS dinâmica é a maneira mais eficiente de fazer isso, se funcionar para você.

No entanto, se não funcionar por algum motivo, criei uma solução chamada PageKite ( http://pagekite.net/) para ajudar a tornar os servidores públicos por trás de firewalls rígidos ou em dispositivos que mudam de local com frequência. Ele funciona criando um encapsulamento do Raspberry Pi para um servidor de retransmissão "front-end" que encaminha as solicitações e respostas recebidas pelo encapsulamento. Portanto, sempre que seu Pi tiver uma conexão com a Internet funcionando e puder se conectar ao relé, seu servidor estará visível (não é necessário nenhum ajuste no roteador ou ddns). É um software livre, mas se as pessoas usam nosso serviço on-line para se conectar (em vez de executar seu próprio revezamento em algum lugar), pedimos que paguem um pouco pelo privilégio. Isso é semelhante ao túnel local mencionado em outro lugar, exceto que o PageKite foi projetado com confiabilidade e conexões permanentes em mente, não apenas para testes temporários.

Boa sorte!


Devo mencionar que, para efeitos de utilização PageKite com um Raspberry Pi, o melhor é seguir as instruções para Debian, aqui: pagekite.net/wiki/Howto/GNULinux/ConfigureYourSystem
Bjarni Rúnar

0

Você precisará de um serviço como DynDNSum IP estático. Caso contrário, você pode considerar uma VPN.


0

Depende se você deseja compartilhar persistentemente seu conteúdo da web ou se precisa apenas de acesso público episódico. Para este último, não há necessidade de configurar uma conta DynDNS e abrir portas de encaminhamento no seu roteador.

Uma solução bastante fácil é usar o LocalTunnel , que tornará seu servidor acessível através de um nome de domínio, como:

http://8bv2.localtunnel.com

É muito útil para compartilhar o progresso de um site que você está hospedando no seu computador.


0

Minha solução para vários sistemas sob ip dinâmico é a seguinte:

Eu tenho um domínio do trabalho cron do godaddy Entrydns 1 no meu roteador que está carregando meu endereço IP no entrydns com um token (um token fornecido pelo entrydns). E meu servidor DNS no meu domínio godaddy está definido como entrydns. Ah, e não se esqueça de enviar :)

Se você precisar, posso fornecer um guia passo a passo mais detalhado, mas espero que você possa descobrir esse processo fácil através do google :)


11
Talvez seja melhor fornecer o guia passo a passo mais detalhado, principalmente se isso ajudar outras pessoas com problemas semelhantes. Entendo que pesquisar no Google ajudará, mas acho que todas as perguntas podem ser respondidas com o google!
kolin
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.