SmartOS Virtualization com um endereço IP público

4

É possível? (título da pergunta)

pesquisando Virtualization with one public IP address não gera nada útil

O que eu tenho:

  • SmartOS em um servidor dedicado.
  • O servidor dedicado tem um endereço IP público.

O que eu quero fazer:

  • Hospede vários sistemas operacionais convidados desse servidor

Problema:

  • Acesso ao convidado por meio do endereço IP (servidor que virtualiza o convidado).

Isso é possível?

Desculpe, novato em tudo isso

Pesquisa

link  Não resolve meu problema - o guia configura um IP interno

link

Idéias

  • Talvez seja possível fazer tradução baseada em host, como com o proxy nginx?
por code ninja 09.10.2013 / 20:33

3 respostas

8

Sim, você pode!

Para ajuda geral com o SmartOS:

O Google trata o SmartOS como sinônimo do Solaris. Use sempre a pesquisa localizada em smartos.org; não use o Google diretamente. #SmartOS no Freenode e na lista de discussão também são recursos inestimáveis.

Preocupações de segurança com uma única configuração de IP em um datacenter:

No SmartOS, você normalmente tem uma interface administrativa (privada / LAN) e pública (pública / WAN). Eu percebo que isso pode não ser possível em sua implantação, mas é muito importante saber que os hosts virtuais do KVM executarão o VNC desprotegido na interface administrativa. Você precisará proteger isso usando um firewall ou alteração de configuração.

O que você precisa fazer é configurar uma zona que funcionará como firewall, gateway, balanceador de carga, etc. Essa zona de firewall terá duas nics, uma na interface de administração, uma na WAN. Você pode colocar todos os seus convidados em um comutador virtual, que será como tê-los conectados a um físico.

Como você só tem um IP, o qual eu tentaria corrigir, pode ser complicado configurar em uma zona, se você errar a configuração da sua rede, poderá perder o acesso à máquina. Embora geralmente não seja recomendado, você pode precisar executar seu firewall na região global.

  1. Para os convidados saírem para a Internet, configure o NAT: link

  2. Para https / http de entrada: executo uma instância nginx e uso um arquivo para cada serviço / site nas pastas disponíveis para sites / sites. o A configuração padrão do NGINX com o SmartOS é minimalista e não contém essas pastas.

  3. Para serviços tcp / udp de entrada: Você pode usar o firewall incorporado (consulte man fwadm) na sua zona de firewall ou use o HAProxy se você quiser fazer hosts virtuais. (Você poderia usar o HAProxy exclusivamente e eliminar o NGINX)

por 15.10.2013 / 17:14
4

Concordo principalmente com a resposta de Jeffrey.

No entanto, escrevi a postagem mencionada para essa postagem propósito específico (executando smartos com 1 IP público) então aqui minhas sugestões se você aplicou o meu procedimento.

link

  • Instale o nginx em uma zona ou convidado kvm (digamos ip 10.0.0.2 porta 80)
  • Adicione o redirecionamento de porta em /etc/ipf/ipnat.conf (ou na seção NAT em /opt/custom/share/svc/smartos_setup.sh)

    rdr e1000g0 0/0 port 80 -> 10.0.0.2 port 80 tcp 
    
  • Adicione a regra de firewall em /etc/ipf/ipf.conf (ou na seção FW em /opt/custom/share/svc/smartos_setup.sh)

    pass in quick on e1000g0 from any to e1000g0/32 port=80
    pass in quick on e1000g0 from any to 10.0.0.2 port=80
    
  • Recarregue as regras do ipfilter e do ipnat:

    $ ipf -Fa -f /etc/ipf/ipf.conf
    $ ipnat -FC -f /etc/ipf/ipnat.conf
    
  • Uma vez que você pode se conectar à instância nginx, você pode configurar o nginx para ser um proxy reverso na frente de outros servidores web em outros hosts, veja: link

tráfego ssh:

O mesmo que acima, com a porta 2222 redirecionando para 10.0.0.2:22, 2223 para 10.0.0.3:22, por exemplo:

rdr e1000g0 0/0 port 2222 -> 10.0.0.2 port 22 tcp
rdr e1000g0 0/0 port 2223 -> 10.0.0.3 port 22 tcp

se necessário, certifique-se de que o login root esteja habilitado na região / etc / ssh / sshd_config (PermitRootLogin yes)

    
por 13.11.2013 / 01:41
4

Eu configurei uma essência reproduzível para este aqui . Ele é configurado no github usando permalinks, e eu mantenho-o atualizado quando contatado com boas mudanças, então ele não deve ir a lugar algum tão cedo.

Primeiro, um diagrama do que você deseja realizar:

                +------------------------------+
                |             Host             |
+----------+    | +--------+        +--------+ |
| Internet +------+ Ext IF +--------+ Int IF | |
+----------+    | | e1000g |        | gw0    | |
                | +--------+        +---+----+ |
                |                       |      |
                |  +--+-----------+     |      |
                |  |Z1|      VNIC1+-----+      |
                |  +--------------+     |      |
                |  +--------------+     |      |
                |  |Z2|      VNIC2+-----+      |
                |  +--------------+     |      |
                |  +--------------+     |      |
                |  |Z3|      VNIC3+-----+      |
                |  +--+-----------+            |
                |                              |
                +------------------------------+
Em geral, você deve primeiro entender que não existe uma maneira de configurar uma rede interna nat no SmartOS, mas há algumas coisas que cada método deve resolver. Aqui está uma visão geral dessas coisas:

  1. Uma rede interna deve ser estabelecida, e a região global deve estar envolvida, já que ela tem controle da interface externa e ip.
  2. Você precisa decidir entre usar um etherstub ou não. Há prós e contras para ambas as escolhas, mas são relativamente pequenas. De qualquer forma, a zona global precisa de um ip interno que atue como o gateway.
  3. O NAT com o ipnat é incrivelmente simples e pode ser lido sobre aqui . O mesmo acontece com as regras de firewall com o ipf. A premissa básica aqui é que o encaminhamento de porta interno usa rdr e mapeamento de porta externo (o gateway mapeia uma porta de saída de um dispositivo interno para uma porta externa diferente e monitora seu estado, para que o pacote de retorno o faça no ip interno que deveria) é alcançado com map linhas.
  4. Certificar-se de que sua configuração é persistente nas reinicializações é a última preocupação com o SmartOS. A maneira mais fácil também é a melhor maneira, que é usar o SMF para executar um script que configura suas regras de firewall e nat.
por 11.12.2014 / 04:33