Construa um servidor no KVM linux

1

Eu possuí um servidor linux. Agora, existem vários usuários que desejam criar serviços da Web, mas eles exigem ambientes diferentes. Por conveniência, dou uma permissão de raiz da máquina virtual KVM para cada usuário.

Mas obviamente o servidor linux tem apenas um IP. Como posso entregar as solicitações externas para a máquina virtual correspondente?

(Eu espero que seja um pouco complicado. Se assim for, eu quero pelo menos alguns docs / sites que eu possa começar a ler.)

    
por Lai Yu-Hsuan 19.03.2012 / 17:06

4 respostas

2

Supondo que eu entendi sua pergunta corretamente, você precisará de dois serviços.

  1. proxy ssh
  2. proxy da Web (recomendo usar o nginx / HA-Proxy para isso).

O serviço de proxy ssh é obtido através do uso de chaves SSH e da diretiva command="", você tem a chave auth em seu servidor proxy com / bin / false como o shell, então defina o comando="ssh user @ real -servidor "ssh-rsa ... linha.

usando o webproxy para passar conexões com base no hostname / uri para o back-end relevante.

Agora, isso está longe de ser bonito, mas é possível, será muito mais fácil simplesmente alocar alguns endereços IP públicos para a máquina se estiverem disponíveis.

    
por 19.03.2012 / 17:34
1

Não é tão complicado assim ... você solicita ao seu provedor uma conexão de classe empresarial com vários IPs.

Caso contrário, você teria que fornecer nomes de host diferentes e entregaria os convidados ao site por meio de diretivas de virtualhost, em vez de VMs.

Ou você pode tentar criar uma VM que, de alguma forma, redireciona para sites internos, analisando a solicitação recebida e indo de lá.

    
por 19.03.2012 / 17:10
1

o que você quer é um chamado Proxy Reverso. Este é um Proxy que funciona obtendo todo o tráfego no IP que você tem, analisando o Cabeçalho do Host e fazendo o pedido para os clientes externos.

Link para o HowTo: link

Desta forma, você só precisa adicionar VirtualHosts normais à sua configuração Proxys Reversa e configurar a parte do proxy reverso dentro dos Vhosts. Também lhe dá a capacidade de usar curingas facilmente.

Mas cuidado, isso só funciona para HTTP. Há uma extensão para HTTPS que pode ser usada para alcançar o mesmo, mas o suporte do navegador AFAIK é ruim.

Você também deseja uma rede simples somente para host. Dessa forma, você pode encaminhar as portas SSH aos endereços IP internos usando iptables e fazer HTTP com o proxy reverso.

Além disso, acho que o que você quer alcançar é estúpido. Não distribua root para seus usuários e use alguma forma de painel de controle de hospedagem em massa. É a maneira de menos trabalho:)

Espero que ajude:)

    
por 19.03.2012 / 17:21
1

Se bem entendi, você criou uma máquina virtual KVM em um servidor físico e deu acesso root à máquina virtual aos usuários?

O servidor físico está nas instalações da sua empresa ou fora do local em um Datacenter?

Se estiver totalmente sob o seu controle, você pode usar a rede com ponte KVM para dar a cada KVM um IP dedicado. Configurar pontes depende da versão do Linux.

Aqui está como configurar pontes para o KVM em CentOS / Redhat .

Bridging também pode ser possível se o seu servidor estiver em um local Colo / off.

Se você não puder usar bridging, a outra opção é usar NAT, que é um problema da IMO.

    
por 19.03.2012 / 20:09