Como uso o Juju local com um firewall?

1

Enquanto usava o ufw (Uncomplicated FireWall) e notei que as máquinas juju locais estavam presas em um estado pendente.

$ juju status
environment: local
machines:
  "0":
    agent-state: started
    agent-version: 1.20.14.1
    dns-name: localhost
    instance-id: localhost
    series: trusty
    state-server-member-status: has-vote
  "1":
    agent-state: pending
    instance-id: mbruzek-local-machine-1
    series: precise
    hardware: arch=amd64
services:
  ubuntu:
    charm: cs:precise/ubuntu-4
    exposed: false
    units:
      ubuntu/0:
        agent-state: pending
        machine: "1"

A documentação do Juju LXC avisa:

  

Se você estiver executando um firewall como o ufw, isso pode interferir   operação correta de Juju usando recipientes LXC e pode precisar ser   parou.

Após desabilitar o ufw, consegui implantar o charme do ubuntu sem problemas.

Eu quero continuar usando meu firewall e usar o Juju. Como uso o Juju local com um firewall?

    
por Matt Bruzek 16.12.2014 / 00:48

2 respostas

1

Após algumas experiências, consegui encontrar as portas mínimas necessárias para resolver o problema agent-state: pending .

O Juju usa a porta 22 (ssh), o servidor de estado juju usa a porta 17070, o jujud usa a porta 8040. Foi-me dito que isso pode não funcionar com o Juju configurado no modo HA porque usa portas diferentes.

Permitindo essas portas no ufw:

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
17070                      ALLOW       Anywhere
8040                       ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
17070 (v6)                 ALLOW       Anywhere (v6)
8040 (v6)                  ALLOW       Anywhere (v6)

Consegui implantar com essa configuração do ufw. Se alguém souber de outras portas que devem ser ativadas, poste-as aqui.

    
por Matt Bruzek 16.12.2014 / 01:03
1

A partir do Juju 2.0 beta3 eu precisava:

To                         Action      From
--                         ------      ----
17070/tcp                  ALLOW       Anywhere                  
22/tcp                     ALLOW       Anywhere                  
8443/tcp                   ALLOW       Anywhere                  
443/tcp                    ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                             
17070/tcp (v6)             ALLOW       Anywhere (v6)             
22/tcp (v6)                ALLOW       Anywhere (v6)             
8443/tcp (v6)              ALLOW       Anywhere (v6)             
443/tcp (v6)               ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)  

Eu provavelmente não precisei de 80 ou 443, mas os habilitei de qualquer maneira. Então eu os deixei. Parece que o 8040 agora é o 8443 e que você só precisa dele para permitir o tcp.

    
por redir 23.03.2016 / 01:27