Executando verificação de segurança...
4

Quero montar um servidor caseiro.

Me surgiu uma curiosidade muito grande sobre servidores caseiros. Sempre tive uma vontade muito grande de hospedar meus freelas de maneira mais econômica ou até mesmo cobrar pela hospedagem do cliente e ganhar um valor a mais.

Apesar dessa vontade tenho dúvidas que não foram 100% sanadas:

  • O servidor caseiro (pc de configuração bacaninha) pode hospedar mais de um site/serviço?
  • O consumo de energia é muito alto?
  • preciso aprender alguma tecnologia como Docker?

Além disso gostaria de indicação de conteúdos sobre.

tenho um pc até que bacana aqui parado: processador athlon 3200, 16gb de ram, 240gb de ssd. Essa config da pra começar ou vou precisar realizar um upgrade nessa máquina de imediato?

Carregando publicação patrocinada...
10

Meus 2 cents:

O que eu preciso para ter uma e hospedar servicos ?

  1. Link redundante: a primeira coisa eh ter 2 links com a internet e de preferencia com operadoras diferentes (p.ex. VIVO e CLARO).
    Motivacao: se um link cai, voce tem outro para manter o servico no ar.

  2. Roteador que faca Dual WAN / failover / loadbalance: se um link cai, o ideal eh o que o link de backup assuma automaticamente. Roteadores como o Mikrotik RB750RG3 ou E50UG vao resolver o problema

  3. Firewall: se tem link de internet e hospeda coisas, um firewall eh necessario. A vantagem do RB750RG3 eh ter firewall tambem.

    • IPS: Manter um WAF (p.ex. modsecurity) e Fail2ban tambem seria interessante para cobrir/analisar o trafego que passar pelo firewall.
  4. IP FIXO: Para hospedar algo o ideal eh ter um IP FIXO, afinal a aplicacao precisa apontar para algum lugar, e este lugar precisa de um IP e DNS precisa apontar para ele. Eh possivel fazer isso via DDNS, redirecionamento, cloudflare tunnels ou VPNs - mas para simplificar vamos tratar de IP FIXO mesmo.

    • ASN, BGP: Com um ASN + BGP voce conseguiria um range de IP, sem precisar de IP FIXO da operadora, mas de qualquer forma precisaria de um (ou dois) link de transito e conexao com o IPX/PTT do nic.br - um custo meio alto.

    • Protecao contra DOS/DDOS: se quiser ter protecao contra ataques de DOS/DDOS o firewall nao da conta sozinho (mesmo fazendo DROP, tua banda ja foi saturada - apenas alivia a aplicacao). Neste caso pode ser necessario um contrato junto a operadora para mitigar este tipo de ameaca direto na infra deles (e salvar tua banda e aplicacao)

  5. Nobreak (UPS): Um nobreak simples tambem eh interessante, afinal se cair a energia algo precisa garantir os equipamentos no ar. Alem disso precisa ser um nobreak "inteligente" (geralmente USB) para conversar com teu servidor, avisar do que esta acontecendo e eventualmente desligar automaticamente os equipamentos.

  6. Monitoramento/ZABBIX: Com os servicos no ar, eh interessante ter um software de monitoramento informando a situacao do servidor (CPU/MEMORIA/DISCO/etc). O Zabbix eh uma boa opcao para isso, de preferencia integrado ao WHATSAPP para mandar mensagens de aviso urgente

  7. Central de atendimento: Dependendo do contrato que voce tiver com os clientes, sera necessario estabelecer uma central de atendimento. Afinal, o que acontece com o atendimento se voce tiver uma gripe ?

  8. Backups: Os sistemas precisam ser backupados em algum lugar, de preferencia em local externo - para permitir a recuperacao em caso de desastre ou sinistro.

  9. Seguro: Se acontecer um incidente (p.ex. queda de raio, poste, enchente, roubo, doenca, morte) que impeca os seus equipamentos de funcionar e a hospedagem parar, precisa ter um seguro pelo menos para lucro cessante do seus clientes.

  10. Redundancia: Se teu equipamento queimar, o HD der defeito - como faz ? Opcoes:

  • ter um equipamento de redundancia localmente
  • ter uma redundancia em nuvem (cai local assume na nuvem)
  1. Sistema de VMs (p.ex. PROXMOX) - afinal voce nao quer misturar os sistemas do seu cliente com o seu uso cotidiano. Usar um PROXMOX pode ajudar a isolar os usos.

Isso que coloquei ate agora foi o basico do basico em 1 minuto de reflexao - tem diversos outros pontos que precisam ser abordados, mas acho que ja deu para entender porque hospedar em casa nao eh uma boa ideia.

Se o custo de uma VPS de R$ 50/mes parece alto - teu plano de negocios precisa ser repensado.

3
1

Kkkkk - boa.

Falando um pouco mais serio, para um servidor caseiro eh so apontar a DMZ do modem/roteador da VIVO/CLARO para o IP da estacao local e usar um DDNS com renovacao a cada 15 minutos que ja funciona. Ou se souber as portas, ao inves da DMZ usar o "FORWARD PORT" do modem para isso.

Este uso eh bastante comum em DVRs e cameras, por exemplo.

Empresas de portaria remota geralmente funcionam de modo semelhante: coloca 2 links, um roteador Mikrotik fazendo o failover e no roteador fazendo o FORWARD de portas conforme a necessidade (DVR, camera, leitor facial, etc). Funciona bem, dentro dos limites da solucao desejada.

Solucoes de automacao residencial/IoT tambem vao pelo mesmo caminho - eu mesmo tenho dois links em casa, um 750GR3 e publico algumas portas de servicos que uso para testes de aplicativo e desenvolvimento apontando para um NAS com docker. Para brincar de servidor, eh divertido.

Tudo isso funciona - so que sao solucoes voltadas para uso pessoal ou coorporativo de baixo impacto.

Agora, hospedagem de aplicacao um pouco mais critica (que me pareceu o caso do autor do post) - dai nao da para recomendar, ate porque uma VPS proporcionamente eh bem barato (as vezes de graca, como os Oracle Cloud).

Numa empresa que trabalhei chegamos a montar um "mini datacenter" com a estrutura que mencionei na resposta original: 2 links coorporativos (para ter link full e IPv4 fixo e IPv6), roteador, 2 servidor redundantes, nobreak, nagios/icinga como NOC, avisos de scalation list via zap 24/7 - montado em RACK. Tudo menos o ASN+BGP porque ficava muito caro. Funcionava e o custo nao era tao complicado - o que matava mesmo era o 24/7, ter de ficar ligado se alguma coisa acontecia tinha de correr la, era f.da.

2

coisa acontecia tinha de correr la, era f.da.

Exatamente, a disponibilidade é o problema. eu tenho Home server com várias pessoas usando. Mas todas sabem: se cair caiu, vai ter que esperar subir e pode demorar.

Já teve um dia que corrompeu o SO do NAS, tive que reinstalar o sistema inteiro, um dia inteiro fora do ar

1

Antes do stream estourar tive um PLEX (desde a epoca do XBMC) com alguns tera de filmes e series (alguns em rmvb e sub via legendas.tv).

Funcionava - mas era isso: se travava, o pessoal tinha de esperar.

4

Antes de postar uma resposta antiga minha daqui to tabnews um disclaimer:

maneira mais econômica

Hospedar um servidor caseiro não vai ser mais econômico que uma maquina de entrada em uma cloud. Uso a maquina fere da Oracle faz 2 anos, não tenho custo nenhum com ela.

Só vale a pena hospedar em casa caso tenha um caso muito específico que você precisa de uma infraestrutura absurda ou queira estudar.

Não recomendo hospedar freelas na tua casa. Se o servidor cair vai ser uma dor de cabeça explicar para os clientes.

Segue uma resposta antiga minha do tabnews:

Como alguem que possui um Home Server (Servidor local sem objetivo profissional nem garantia de disponibilidade) te faço algumas perguntas que você precisa fazer antes de pensar em ter um:

  • Seu servidor precisa estar sempre disponível?
  • Você possui redundância de links de internet?
  • Se sim elas passam pelo mesmo backbone (quando uma cai a outra cai também)?
  • A fibra delas passa pelos mesmos postes nas ruas? Sim, isso é importante pois o que acontece se um caminhão muito alto passar e arrebentar todos os fios de uma rua?
  • O que você vai fazer se sua internet cair?
  • Você tem mais de um local pra hospedar e replicar seus servidores? (mínimo: bairro diferente, recomendado: estados diferentes)
  • Qual o SLA das suas operadoras? Ela satisfaz o que você precisa?
  • Como você vai se proteger de indisponibilidade de energia elétrica?
  • Qual a latência do seu link a todos os clientes? Isso vai interferir na qualidade do seu serviço?

Essas perguntas precisam ter respostas apenas caso você queria criar algo comercial.

Para o caso de um projeto comercial ou um projeto de estudos:

  • Você tem alguma proteção para ataques DDOS? O que acontece se alguem mandar um ataque de 1Tb/s pra sua rede?
  • Como você vai proteger sua rede contra ataques de força bruta ssh, portas abertas, exploits de equipamentos, elevação de permissao ...?
  • Qual firewall você vai usar?
  • Quem vai ter acesso físico ao seu servidor?
  • Como você vai controlar a temperatura do servidor (para o caso de ter mais do que uma única máquina)
  • Sua infraestrutura suporta um pico de acessos inesperado?
  • Você tem IP Fixo?

Se você não souber como se proteger desses ataques NÃO CRIE UM SERVIDOR EM CASA. Você cria o risco de deixar a internet da sua casa indisponível até sua operadora querer resolver seu problema, seja trocando seu ip, seja aplicando regras de firewall.

Assuma que todos vão querer te atacar, roubar seus dados, te deixar indisponível, derrubar sua conexão.

Você precisa se preparar para todos os problemas, eles só precisam achar um

2

É mais simples do que você imagina. Na minha mão todo notebook velho vira homeserver. Eu uso para ferramentas como n8n, typebot, baserow, docker registry.

Basta você instalar o Ubuntu Server. O que pode ser um pouquinho mais complicado é você persistir o IP estático, mas hoje em dia tem tutorial a rodo de como fazer isso.

Por segurança eu não exponho na rede, eu uso o Cloudflare Tunnel.

Se for algo em produção você pode automatizar um autohealling e um LB na AWS pra subir um EC2 quando a energia cair, basta entender um pouquinho de Docker ou Ansible, e AWS óbvio.

E você pode criar um cluster com várias máquinas com o Proxmox.

2

Oi @felipetxpy! Não sei se você vai conseguir de fato hospedar projetos dos seus clientes pensando em produção, mas como ambiente de testes, é bem viável ter um homelab e usar, por exemplo, um cloudflare tunnels para expor na internet.

Pensando em produção seria mais indicado um provedor de hospedagem ou um VPS, mas partiria para um VPS, depois de um estudo de Linux, hardening e docker. Para garantir um mínimo de segurança. E esse provedores garantem a disponibilidade que talvez você não consiga garantir em casa, como luz e conectividade.

Atualmente eu tenho um Dell 3080 sempre ligado e não notei uma mudança na conta de luz. Mas uso em projetos que podem ficar indisponíveis ou são apenas de teste. Da uma pesquisada sobre homelab, vão aparecer vários explicando como configurar seu servidor com proxmox, linux e docker, usar cloudflare para expor.

2

Felipe, tudo depende de qual e tipo de projeto que quer hospedar.

Hospedagem em produção existe o risco de perda se não fizer backup, ou até mesmo de invasão. Posso até estar pensando abrangente demais, mas precisa colocar mais variáveis na mesa.

Veja os níveis de segurança que existem na AWS por exemplo para poder colocar algo em produção.

Se for um projeto pessoal, teste seus, ou até MVP entre outros, aí até eu tenho aqui e montei num Raspberry. Montei com linux, docker com n8n e nodejs. No seu caso, esse PC parado pode te ajudar nessa tarefa, mas na minha visão colocaria apenas projetos pessoais ou coisas simples.

Marcos.

1
2
1