Como configurar um servidor apenas para uso interno [Ubuntu]

0

Estou tentando construir um VM-Home Lab com diferentes servidores Ubuntu. Eu quero fazer com que cada servidor não seja acessível de outsite / internet e eu pensei que poderia fazer isso configurando o iptables.

Eu tentei alguns Tutoriais sugerindo que eu DROP todo o tráfego e configure-o para apenas ACCPET da minha rede interna (por exemplo, 10.10.0.0/24).

No entanto, quando eu sigo estas turotiais, sempre acabo com alguns erros:

  • Primeiro, se eu começar com o comando iptables -P INPUT DROP , não posso continuar com o resto dos comandos, porque o servidor de alguma forma não pode resolver seu próprio nome de host
  • Quando eu adiciono o meu IP-Range local com iptables -A INPUT -i eth0 -s 192.168.100.0/24 -m state --state NEW,ESTABLISHED -j ACCEPT não consigo acessar meu servidor da minha máquina host via ssh ou nem consigo carregar uma página da web hospedada nele

Meu principal objetivo é tornar o servidor acessível a partir de todos os computadores, laptops, etc ... na minha rede doméstica, mas não de fora. Então, meus amigos e eu podemos trabalhar juntos em projetos de codificação, quando eles trazem seu laptop.

Talvez eu esteja exagerando e talvez haja uma maneira mais fácil (usando o hipervisor de caixa virtual).

Os serviços em execução nas máquinas são gitlab-ce e jira do outro.

Qualquer ajuda seria apreciada, já que esta é a primeira vez que trabalho com essas coisas (na verdade, sou apenas um desenvolvedor de software: P)

Felicidades

    
por Zanidd 02.09.2017 / 21:11

1 resposta

0

Você tem várias maneiras de configurar seu hipervisor para atingir sua meta:

  1. Cada VM tem seu adaptador de rede anexado a bridged adapter . Você então tem que configurar um IP público (por exemplo, em 10.10.0.0/24) para cada um desses adaptadores de rede.

    Finalmente, você pode executar os seguintes comandos do iptables no seu host:

    • iptables -P INPUT DROP para definir sua política padrão como DROP
    • iptables -A INPUT -i eth0 -s 10.10.0.0/24 -j ACCEPT : para permitir o pacote da sua rede interna.
  2. Cada VM tem seu adaptador de rede anexado a NAT . É necessário configurar o redirecionamento de porta para cada serviço de cada VM (Configurações de VM > Rede > Avançado > Botão Encaminhamento de porta na parte inferior). Por favor, veja a nota no final do post para mais detalhes sobre a configuração de encaminhamento de porta.

    Então você tem que executar os seguintes comandos iptables no seu host:

    • iptables -P INPUT DROP
    • iptables -A INPUT -i eth0 -s 10.10.0.0/24 -j ACCEPT
    • em vez do último comando, você pode ser mais preciso em sua autorização: iptables -A INPUT -i eth0 -s 10.10.0.0/24 --dport ssh -j ACCEPT , mas às vezes é necessário reconfigurar iptables se adicionar mais serviços às suas VMs.

Nesse caso, suas VMs não poderão ser acessadas pela Internet e pelo restante da rede interna, supondo que toda a sua rede interna seja a 10.0.0.0/8. Nota Você terá mais detalhes sobre bridged / NAT e encaminhamento de porta aqui

EDITAR

Considerando os pedidos abaixo, não percebi que sua rede local é 'apenas' 10.10.0.0/24 (e não 10.0.0.0/8). Para completar, 10.10.0.0/24 pertencem à rede privada mais ampla 10.0.0.0/8 ( link ), que não é roteável na internet (quero dizer, sem VPN, mas não é roteamento tecnicamente). Portanto, o cliente da Internet não poderá acessar VMs internas.

    
por 06.09.2017 / 09:10