Fase Experimental do Serviço de Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmico (FE-ATER)

Ir para o final dos metadados
Ir para o início dos metadados

1. Implantação

1.1 Requisitos de Hardware recomendado

  • 2 vCPU
  • 2 GB RAM
  • 100 GB HD
  • 1 NIC
  • Sistema Operacional: GNU/Linux Debian 7

1.2 Processo de implantação

  1. Subir a VM do CORE com os requisitos de hardware recomendados utilizando o software de virtualização a escolha;
  2. Configurar as interfaces de rede da VM conforme especificado na seção 1.2.1;
  3. Instalar os pacotes necessários listados na seção 1.2.2;
  4. Configurar o firewall da VM conforme especificado na seção 1.2.3;
  5. Configurar o servidor ssh conforme especificado na seção 1.2.4;
  6. Criar uma conta ater conforme especificado na seção 1.2.5;
  7. Baixar todos os pacotes necessários 2.1;
  8. Realizar as instalações dos pacotes 2.2;
  9. Configurar as aplicações 2.3.

1.2.1 Configuração das interfaces de rede

  1. Adote o seguinte padrão para as interfaces:
     

    InterfaceDescrição
    eth0Interface de acesso remoto para o CORE


  2. Para configurar as interfaces de rede no Debian 7 devemos modificar o arquivo de interfaces contido em "/etc/network/interfaces";

  3. Abra o arquivo "/etc/network/interfaces" com o seu editor de preferência:
     

    # nano /etc/network/interfaces
  4. Configure o arquivo seguindo o seguinte padrão:

     

    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    # The loopback network interface
    auto lo
    iface lo inet loopback
    # Interface de acesso remoto
    auto eth0
    iface eth0 inet static
        address <IP público para acesso remoto>
        netmask <Máscara do IP>
        gateway <Gateway da rede>
        dns-nameservers <Servidor de DNS primário> <Servidor de DNS secundário>


    Substitua as seguintes variáveis:
     

     Descrição
    <IP público para acesso remoto>Endereço de IP público para o acesso remoto da VM do CORE
    <Máscara do IP>Máscara de subrede do IP público
    <Gateway da rede>Endereço IP do gateway para o acesso a internet
    <Servidor de DNS primário>Endereço do servidor de nomes primário
    <Servidor de DNS secundário>Endereço do servidor de nomes secundário (opcional)
  5. Após modificar o arquivo e deixa-lo de acordo com o padrão salve-o e feche o editor;
  6. Habilite as configurações da interface:
     

    # ifup eth0
  7. Efetue os seguintes testes:
     

     ComandoResultado esperado
    Conexão com a internet# ping 8.8.8.8 -c 55 packets transmitted, 5 received, 0% packet loss...
    Resolução de nomes (DNS)# ping google.com -c 55 packets transmitted, 5 received, 0% packet loss...

1.2.2 Instalação dos pacotes necessários

  1.  Atualize a lista de repositórios do sistema:
    1. No Debian 7 o arquivo de repositórios fica localizado em "/etc/apt/sources.list";
    2. Abra o arquivo "/etc/apt/sources.list" com o seu editor de preferência:

       

      # nano /etc/apt/sources.list
    3. Deixe o arquivo da seguinte forma:

       

      deb http://ftp.br.debian.org/debian/ wheezy main contrib non-free
      deb-src http://ftp.br.debian.org/debian/ wheezy main contrib non-free
      deb http://security.debian.org/ wheezy/updates main contrib non-free
      deb-src http://security.debian.org/ wheezy/updates main contrib non-free
      # wheezy-updates, previously known as 'volatile'
      deb http://ftp.br.debian.org/debian/ wheezy-updates main contrib non-free
      deb-src http://ftp.br.debian.org/debian/ wheezy-updates main contrib non-free
    4. Assim que o arquivo estiver conforme acima, salve-o e feche o seu editor;
    5. Recarregue a sua lista de diretórios:
       

      # apt-get update
  2. Abaixo a lista de pacotes necessários para a implantação da VM do CORE:

     

    Nome do pacoteDescriçãoVersão homologada
    iptablesRegras de filtragem de tráfego (firewall)1.4.14-3.1
    iptables-persistentSoftware para persistência das configurações das regras do iptables0.5.7
    sshCliente e servidor de secure shell1:6.0p1-4+deb7u2
    sudoProvém poderes limitados de super-usuário (root) a usuários específicos1.8.5p2-1+nmu1
    ntpDaemon para sincronismo do relógio1:4.2.6.p5+dfsg-2+deb7u1
    tcpdumpFerramenta para análise de tráfego4.3.0-1+deb7u1
    tcptracerouteFerramenta para traçar rotas utilizando pacotes TCP1.5beta7+debian-4
    tracerouteFerramenta para traçar a rota dos pacotes em redes IPv4 e IPv61:2.0.18-3
    mtrFerramenta de visualização Full screen do traceroute X11 e ncurses0.82-3
    ethtoolFerramenta para visualização e configuração de interfaces de rede Ethernet1:3.4.2-1
    wgetFerramenta para baixar arquivos da web1.13.4-3+deb7u2

    uptimed

    Ferramenta de medição de uptime

    1:0.3.17-3.1

    postgresqlBanco de dados para as aplicaçoespostgresql-9.1
    python-dev python-dev
  3. Instale os pacotes necessários listados acima:
     

    # aptitude install iptables iptables-persistent ssh sudo ntp tcpdump tcptraceroute traceroute mtr ethtool wget uptimed postgresql-9.1
                   python-dev 
                

1.2.3 Configuração do firewall

  1. A política do firewall do CORE recomendada é de:
     

    ChavePolítica
    INPUTDROP [0:0]
    FORWARDACCEPT [0:0]
    OUTPUTACCEPT [0:0]
  2. Para configurar o firewall utilizando a ferramenta iptables no Debian 7 devemos modificar o arquivo "/etc/iptables/rules.v4";

  3. Abra o arquivo "/etc/iptables/rules.v4" com o seu editor de preferência:
     

    # nano /etc/iptables/rules.v4
  4. Por padrão, seguindo a política descrita acima damos drop em todo pacote que tenta entrar no CORE, entretanto ele deve aceitar pacotes de:
     

     Regra
    Rede local-A INPUT -i lo -j ACCEPT
    Rede do INF (UFG)-A INPUT -s 200.137.197.192/26 -j ACCEPT
    HTTP-A INPUT -p tcp --dport 80 -j ACCEPT 
    HTTPS-A INPUT -p tcp --dport 443 -j ACCEPT
    ICMP-A INPUT -p icmp -j ACCEPT
    NTP-A INPUT -p udp --sport 123 -j ACCEPT
    Conexões já estabelecidas-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

     

    Aconselhamos a liberar também a conexão para a rede da sua instituição.
     

  5.  No final, seu arquivo rules.v4 deve estar parecido com:
     

    # Generated by iptables-save v1.4.14 on Tue Jan 20 14:00:00 2015
    *filter
    :INPUT DROP [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]

    # localhost
    -A INPUT -i lo -j ACCEPT

    # redes e máquinas permitidas
    -A INPUT -s 200.137.197.192/26 -j ACCEPT

    # http and https
    -A INPUT -p tcp --dport 80 -j ACCEPT
    -A INPUT -p tcp --dport 443 -j ACCEPT

    # icmp
    -A INPUT -p icmp -j ACCEPT

    # ntp
    -A INPUT -p udp --sport 123 -j ACCEPT

    # established
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    # commit
    COMMIT
    # Completed on Tue Jan 20 14:00:00 2015
  6. Após modificar o arquivo e deixá-lo de acordo com o padrão salve-o e feche o editor;
  7. Para que as regras de firewall sejam aplicadas é necessário que seja dado um reload no iptables-persistent:
     

    # /etc/init.d/iptables-persistent reload
  8. Verifique se as regras foram aplicadas rodando o comando:
     

    # iptables -L -n
  9. Você deverá ter algo semelhante a:

     

    Chain INPUT (policy DROP)
    target prot opt source destination
    ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
    ACCEPT all -- 200.137.197.192/26 0.0.0.0/0
    ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
    ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
    ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
    ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:123
    ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:123
    ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
    Chain FORWARD (policy ACCEPT)
    target prot opt source destination
    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination

1.2.4 Configuração do servidor SSH

  1. Para configurar o servidor SSH no Debian 7 devemos modificar o arquivo "/etc/ssh/sshd_config";
  2. Abra o arquivo "/etc/ssh/sshd_config" com o seu editor de preferência:
     

    # nano /etc/ssh/sshd_config
  3. Por padrão o CORE deve ter as seguintes configurações de SSH:
     

    ConfiguraçãoValor
    Port6622
    PermitRootLoginyes
    UseDNSno

     

    Caso o seu arquivo de configuração não tenha alguma das configurações, basta adicioná-la no final do arquivo.
     

  4. No final, seu arquivo sshd_config deve ter algo semelhante a:

     

    # Package generated configuration file
    # See the sshd_config(5) manpage for details

    # What ports, IPs and protocols we listen for

    Port 6622

    ...

    # Authentication:

    ...

    PermitRootLogin yes

    ...
    UseDNS no
  5. Após modificar o arquivo e deixa-lo de acordo com o padrão salve-o e feche o editor;

  6. Para que as configurações entrem em vigor é necessário reiniciar o servidor ssh:
     

    # /etc/init.d/ssh restart

1.2.5 Criação da conta ATER

  1. Para criar uma conta no Debian 7 você pode utilizar o comando "useradd":
     

    # useradd ater -m -s /bin/bash
  2. A conta deve ter permissão de sudo (deve estar no grupo sudo);

    1. Para adicionar o usuário no grupo sudo no Debian 7 devemos modificar o arquivo "/etc/group";
    2. Abra o arquivo "/etc/group" com o seu editor de preferência:

       

      # nano /etc/group
    3. Procure por algo como:

       

      sudo:x:27:


      O número 27 pode mudar para outro, este é apenas o identificador do grupo no seu sistema.

       

    4. Adicione o usuário ATER no grupo, para isto basta adicionar o nome do usuário no final da linha:
       

      sudo:x:27:ater


      Caso tenha múltiplos usuários eles devem estar separados por "," (vírgula), por exemplo:
       

      sudo:x:27:ater,ater2
    5. Após a modificação, salve o arquivo e feche o seu editor;

  3. Altere a senha da conta para uma senha qualquer (senha segura de preferência);

    1. Para alterar a senha de um usuário no Debian 7 você deve utilizar o comando "passwd":
       

      # passwd ater
  4. Após a criação da conta encaminhe os dados de acesso a nossa equipe ATER.

2. Instalação/Configuração do Software

2.1 Download

  1. A equipe ATER mantém as versões do CORE em pacotes para o DEBIAN (.deb) disponíveis para download em http://labora.inf.ufg.br/gt-ater/manuais/packets/
  2. Para a instalação do CORE, baixe os seguintes pacotes em suas versões mais atualizadas:
     

    CORE
    ComponenteDescriçãoNome do pacote
    Circuit CheckerComponente de monitoramento dos circuitoscircuit-checker_<versão>_amd64.deb
    Circuit ManagerComponete central de interaçao entre o CORE, RACE e OSCARScircuit-manager_<versão>_amd64.deb
    Core CommComponente de comunicação do RACE com o COREcore-comm_<versão>_amd64.deb
    Race CheckerComponente de monitoramento dos status dos RACEsrace-checker_<versão>_amd64.deb
    Core Web Interface web e APIcore-web_<versão>_amd64.deb
    OML Server
    ComponenteDescriçãoNome do pacote
      libocomm1_2.11.0-mytestbed1_amd64.deb
      libocomm_2.11.0-mytestbed1_amd64.deb
      liboml2-9_2.11.0-mytestbed1_amd64.deb
      liboml2_2.11.0-mytestbed1_amd64.deb
      oml2-server_2.11.0-mytestbed1_amd64.deb
  3. Você pode baixar os pacotes no Debian 7 utilizando o comando "wget":
     

    # wget http://labora.inf.ufg.br/gt-ater/manuais/packets/ater/circuit-checker_<versão>_amd64.deb
    # wget http://labora.inf.ufg.br/gt-ater/manuais/packets/ater/circuit-manager_<versão>_amd64.deb
    # wget http://labora.inf.ufg.br/gt-ater/manuais/packets/ater/core-comm_<versão>_amd64.deb
    # wget http://labora.inf.ufg.br/gt-ater/manuais/packets/ater/race-checker_<versão>_amd64.deb
    # wget http://labora.inf.ufg.br/gt-ater/manuais/packets/ater/core-web_<versão>_amd64.deb


    Obs.: Substitua a variável <versão> pela versão do componente a ser baixada.  

     

     

    Ou 

     

    #  wget -r -nc -np -nH --cut-dirs=1 -A .deb -e robots=off -l1 -i -B 'http://labora.inf.ufg.br/gt-ater/manuais/packets/oml2/'


    Obs.:  Comando irá baixar todos os pacotes do OMLServer.

2.2 Instalação

  1. Para instalar os componentes de software do CORE utilize o gerenciador de pacotes do Debian 7 e instale na sequência abaixo, os pacotes baixados como especificado na seção anterior:
     

    # dpkg -i manuais/packets/oml2/libocomm1_2.11.0-mytestbed1_amd64.deb
    # dpkg -i manuais/packets/oml2/libocomm_2.11.0-mytestbed1_amd64.deb
    # dpkg -i manuais/packets/oml2/liboml2-9_2.11.0-mytestbed1_amd64.deb
    # dpkg -i manuais/packets/oml2/liboml2_2.11.0-mytestbed1_amd64.deb
    # dpkg -i manuais/packets/oml2/oml2-server_2.11.0-mytestbed1_amd64.deb
    # dpkg -i core-web_<versão>_amd64.deb
    # dpkg -i circuit-checker_<versão>_amd64.deb
    # dpkg -i circuit-manager__<versão>_amd64.deb
    # dpkg -i core-comm_<versão>_amd64.deb
    # dpkg -i race-checker_<versão>_amd64.deb

     

    Obs.: Substitua a variável <versão> pela versão do componente baixada.
     

  2. Caso seja apontada alguma dependência no pacote você pode instala-las utilizando o comando:
     

    # apt-get -f install

     

    ou instalando manualmente a dependência:
     

    # aptitude install <nome da dependência>

2.3 Configuração

2.3.1 Banco de dados Postgresql

  1. Acessar o usuario postgres:
     

    # su - postgres
  2. Acessar o sgbd:
     

    psql
  3. Criar os bancos de dados da aplicação:
     

    CREATE DATABASE ater_core; 
    CREATE DATABASE ater_race;
  4. Fechar sgbd:
     

    \q
  5. Criar a estrutura do banco:
     

    psql ater_core < /opt/ater/core/core_web/database/database_structure.sql
  6. Adicionar os dados default do sistema:
     

    psql ater_core < /opt/ater/core/core_web/database/ater_real.sql
  7. Sair(logout) do usuario postgres:
     

    exit

2.3.2 OML Server

  1. O arquivo de configuração do OmlServer está localizado em "/etc/default/oml2- server".
  2. Abra o arquivo de configuração do OmlServer com o seu editor de preferência:
     

    # nano /etc/default/oml2-server
  3. Deixe o conteúdo do arquivo do seguinte modo:
     

    #OPTS="-l 3003 --logfile=/var/log/oml2-server.log --user=oml2 --group=oml2"
    #Use a PostgreSQL backend (default values given explicitely)
    OPTS="$OPTS --backend postgresql --pg-host=localhost --pg-port=5432 --pg-user=oml --pg-pass=oml"            
  4. Após modificar o arquivo e o deixar de acordo com o padrão, salve e feche o editor.

  5. Reiniciar o serviço do OMLServer com o seguinte comando:
     

    # /etc/init.d/oml2-server restart

2.3.3 Race Checker

  • Reiniciar o serviço do RaceChecker com o seguinte comando:
     

    # /etc/init.d/race_checker restart

2.3.4 Circuit Checker

  • O daemon não inicia automaticamente, caso queria deixar o circuit checker rodando execute o seguinte comando: 
     

    # /etc/init.d/circuit_checker restart

2.3.5 Core Web

Não é necessário modificar nenhum parâmetro de configuração do Core Web, é altamente recomendado que ele fique no padrão.  

2.3.6 Circuit Manager

Não é necessário modificar nenhum parâmetro de configuração do Circuit Manager, é altamente recomendado que ele fique no padrão.  

2.3.7 Core Comm

Não é necessário modificar nenhum parâmetro de configuração do Core Comm, é altamente recomendado que ele fique no padrão.  

Etiquetas
  • Nenhum