domingo, 16 de abril de 2017

Instalação do OTRS_5.0.18 no Debian 8.7.1


               Resultado de imagem para otrs                  Resultado de imagem para Debian 8



1 – Depois de instalar o Debian 8.7.1, vamos configurar a placa de rede, caso seja necessário.

nano /etc/network/interfaces

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.4
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

2 – Edite a lista de repositórios. Apague tudo e insira as linha abaixo:

nano /etc/apt/source.list 

#DEBIAN
deb http://ftp.br.debian.org/debian jessie main contrib non-free
#DEBIAN SECURITY
deb http://security.debian.org/ jessie/updates main contrib non-free
#DEBIAN UPDATES
deb http://ftp.debian.org/debian/ jessie-updates main contrib non-free
#BACKPORTED PACKAGES FOR DEBIAN 8 "JESSIE"
deb http://http.debian.net/debian/ jessie-backports main contrib

3 – Baixe o OTRS-5.0.18

wget http://ftp.otrs.org/pub/otrs/otrs-5.0.18.tar.gz
tar zxvf otrs-5.0.18.tar.gz
mv otrs-5.0.18 /opt/
cd /opt/
mv otrs-5.0.18/ otrs

4 – Check os módulos e instale os pacotes pendentes

cd /opt/otrs/bin/
./otrs.CheckModules.pl

apt-get install -y libarchive-zip-perl libcrypt-eksblowfish-perl libmail-imapclient-perl libtemplate-perl libdbi-perl libcrypt-ssleay-perl libdbd-mysql-perl libdbd-odbc-perl libdbd-pg-perl libencode-hanextra-perl libjson-xs-perl libapache2-mod-perl2 libnet-dns-perl libnet-ldap-perl libtext-csv-xs-perl libxml-libxslt-perl libyaml-libyaml-perl

5 – Adicione o usuário otrs

useradd -d /opt/otrs/ -c 'OTRS user' otrs
usermod -G www-data otrs
./otrs.SetPermissions.pl --otrs-user=otrs --web-group=www-data /opt/otrs


6 – Renomei os arquivos de configuração

cd /opt/otrs
cp -p Kernel/Config.pm.dist Kernel/Config.pm
cp -p Kernel/Config.pod.dist Kernel/Config.pod

7 – Check a instalação

perl -cw /opt/otrs/bin/cgi-bin/index.pl
perl -cw /opt/otrs/bin/otrs.PostMaster.pl

8 – Configure o servidor web

apt-get install -y apache2
cd /opt/otrs/scripts
ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-available/otrs.conf
a2ensite otrs
a2enmod perl
service apache2 restart

9 – Instale o MySQL e ajuste pra receber pacotes acima de 20MB. O padrão é 16MB.

apt-get install mysql-server
/etc/init.d/mysql stop
nano /etc/mysql/my.cnf
max_allowed_packet = 32M
innodb_log_file_size = 512M //insira essa linha loga abaixo da anterior.

rm /var/lib/mysql/ib_logfile0
rm /var/lib/mysql/ib_logfile1
/etc/init.d/mysql start

10 - Ative os jobs de cron do OTRS

cd /opt/otrs/var/cron/
cp -p aaa_base.dist aaa_base
cp -p otrs_daemon.dist otrs_daemon
/opt/otrs/bin/Cron.sh start otrs //será criado /var/spool/cron/crontabs/otrs ativando o agendador
su /opt/otrs/bin/otrs.Daemon.pl -s /bin/bash otrs

Este ultimo comando inicia o Deamon com o usuário “otrs”. Isso seria iniciado em 5min pelo agendador. Pra não esperar esse tempo, iniciamos manualmente.

11 – Inicie o instalador web com o endereço IP do seu servidor


Passo 2
Insira a senha do usuário “root” do BD
Insira a senha pra o novo usuário “otrs” que será criado no BD


Anote os dados do último passo:

Iniciar página: http://192.168.0.4/otrs/index.pl
Usuário:          root@localhost
Senha:             wPmyI0uj3FuBreY6

12 – Altere a senha usuário “root”

Vá no menu:
Administração → Administração do Sistema → Gerenciamento de Atendente → Atendente

Clique no usuário “root@localhost
Digite uma senha no campo “Senha”
No fim da página clique em “Enviar”

13 - Instale a Features(Módulo) FAQ, para ter um histórico dos problemas de cada serviço.

Vá no menu:
Administração → Administração do Sistema → Gerenciador de Pacotes → Ações
Clique em “Atualizar Informação de Repositório”
Será exibido a lista e clique na opção “instalar”, exibida na margem direita da tela.

14 – Instalando a Features do ITIL, para gerência de incidentes, mudança, configuração...

Baixe o arquivo http://ftp.otrs.org/pub/otrs/itsm/bundle5/ITSM-5.0.18.opm na máquina local e não no servidor.

Vá no menu:
Administração→Administração do Sistema→Gerenciador de Pacotes→Ações→Escolher arquivo
Localize o arquivo “ITSM-5.0.18.opm”
Clique em “Instalar Pacote”

15 - Link para baixar outras Features de repositório de Terceiros. Tenha cuidado e faça um Snapshot antes:


Você pode por exemplo baixar um módulo pra integrar com o seu servidor de mensagens instantâneas, Jabber.

16 - Caso você queira se aprofundar mais na ferramenta, recomendo a leitura do manual oficial em:



sexta-feira, 14 de abril de 2017

Zabbix envia alertas pelo BotTelegram para um Grupo

                     
Resultado de imagem para Zabbix



Resultado de imagem para telegram


                                                         INTEGRAÇÃO DO ZABBIX COM TELEGRAM


1. CRIAÇÃO DO BOT TELEGRAM
1.1 Abra o Telegram, clique na lupa e busque pelo usuário @BotFather. É esse usuário que vai criar e gerenciar seus Bots.
1.2 Envie a mensagem /newbot
1.3 Digite um nome para o Bot: MeuRobô
1.4 Digite um nome para a conta do Bot, terminando com Bot: meuroboBot
1.5 Anote o token gerado 768312515:BBG-prRup9Y9GpmwwOpDfynJM1zTJxLzoH5
1.6 Para alterar a foto, envie /setuserpic
1.7 Envie uma mensagem qualquer para o Bot, buscando na lupa @meuroboBot

===================================================================================
VERIFIQUE INFORMAÇÕES DO BOT PELO BROWSER

Comando:
https://api.telegram.org/botCOLE_SEU_TOKEN_AQUI/getMe

Resposta:
{"ok":true,"result":{"id":629521235,"first_name":"MeuRobô","username":"meuroboBot"}}

Observe a mensagem de resposta e perceba o ID do Bot. Cada usuário, grupo e bot terá um ID diferente.
===================================================================================


===================================================================================
VERIFIQUE AS MENSAGENS RECEBIDAS DO BOT PELO BROWSER

Comando:
https://api.telegram.org/botCOLE_SEU_TOKEN_AQUI/getupdates

Resposta:
"message":{"message_id":7,"from":{"id":226223456,"first_name":"Alison"},"chat":
{"id":229955635,"first_name":"Alison","type":"private"},"date":1491759290,"text":"Ola Bot"}}]}

Observando a resposta, você verá o ID do usuário que enviou a mensagem, anote, pois será necessário para enviar uma mensagem de volta.
===================================================================================


===================================================================================
ENVIE MENSAGENS PELO BROWSER
No comando abaixo, cole o ID do usuário após o campo CHAT ID e a mensagem após o campo TEXT

Comando:
https://api.telegram.org/botCOLE_SEU_TOKEN_AQUI/sendmessage?chat_id=226223456&text=OlaMundo

Resposta:
{"ok":true,"result":{"message_id":8,"from":{"id":629521235,"first_name":"SaBaLAkU","username":"sabalakuBot"},"chat":
{"id":226223456,"first_name":"Alison","type":"private"},"date":1491759736,"text":"OlaMundo"}}
===================================================================================



2. INTERAÇÃO DO BOT COM O GRUPO

2.1 Adicione o Bot em um Grupo

2.2 Para descobrir o ID do grupo que o Bot foi inserido é necessário permitir o Bot receber mensagens do grupo, para isso DESATIVE a privacidade com o comando /setprivacy, enviando ao @BotFather.

2.3 Envie uma mensagem para o grupo a partir do seu usuário pessoal.

2.4 Verifique a mensagem recebida pelo Bot e identifique o ID do grupo começando com o sinal (-) negativo -218234567.

Comando:
https://api.telegram.org/botCOLE_SEU_TOKEN_AQUI/getupdates

Resposta:
"message":{"message_id":14,"from":{"id":226223456,"first_name":"Alison"},"chat":{"id":-218234567,"title":"Estacio
Redes","type":"group","all_members_are_administrators":true},"date":1491762045,"text":"Agora vai"}}]}

2.5 Agora envie uma mensagem pelo BROWSER do BOT para GRUPO utilizando o ID do GRUPO
Comando:
https://api.telegram.org/botCOLE_SEU_TOKEN_AQUI/sendmessage?chat_id=-218234567&text=OlaGrupo



3. SCRIPT PYTHON PARA COLETAR 03 ARGUMENTOS E ENVIAR MENSAGENS À UM GRUPO

No terminal execute os comandos:

#apt-get install python-pip   //Instala o PIP
#pip install telebot               //Faz download e instala a biblioteca telebot. Existe pip, pip2 e pip3. O pip3 é pra o interpretador
                                            // Python3.

#nano BotTelegram.py       //Crie seu script Python com as linhas abaixo
===================================================================================
#!/usr/bin/env python

import telebot,sys

ARG1=sys.argv[1]
ARG2=sys.argv[2]
ARG3=sys.argv[3]

bot = telebot.TeleBot('Butei Pra Fuder')
bot.config['api_key'] = ('COLE_SEU_TOKEN_AQUI')
bot.send_message(COLE_O_ID_GRUPO,ARG1 + '\n' + ARG2 + '\n' + ARG3)
===================================================================================

#chmod +x BotTelegram.py                                        //Dando permissão de execução

#./BotTelegram.py Testando Envio Mensagem          //Teste de envio da mensagem com 03 argumentos



4. INTEGRAÇÃO COM O ZABBIX

4.1 Coloque o Script no local indicado na linha AlertScriptsPath= do arquivo /etc/zabbix/zabbix_server.conf

#cat /etc/zabbix/zabbix_server.conf | grep “AlertScriptsPath=”

4.2 Na aplicação Zabbix crie um Tipo de Mídia e adicione a um Usuário, bem como ative o Zabbix para disparar a Ação de envio das mídias criadas.

   4.2.1 Tipo de Mídia
   Vá em Adminstration → Media types → Create media type.
      • Name: BotTelegram.py
      • Type: Script
      • Script name: BotTelegram.py
Se estiver usando Zabbix 3.0.1. Esses serão os 03 Argumentos(Parâmetros) passados ao Script Python.
      • Script Parameters
         • {ALERT.SENDTO}
         • {ALERT.SUBJECT}
         • {ALERT.MESSAGE}

4.2.2 Adicionar o Tipo de Mídia a um Usuário
Vá em Adminstration → Usuários
   • Clique no Usuário Admin → Mídia → Adicionar
   • Escolha: BotTelegram.py
   • No campo “Enviar para” é o Argumento 1(Parâmetro {ALERT.SENDTO} do item anterior). Se você tiver
      vários servidores Zabbix, sugiro colocar o nome do servidor, pra você saber de qual servidor a 
      mensagem partiu. Caso tenha só 01 servidor, elimine esse parâmetro do Zabbix e do Script pra ficar
      mais organizado.
   • Clique em Atualizar para criar o registro e voltar pra tela anterior.
   • Clique nesse outro Atualizar para efetivamente adicionar a mídia ao usuário.

4.2.3 Ação
Vá em Configuration → Actions observe o Status Inativo da ação Report problems to Zabbix adminitrators.
   •Clique em Inativo para Ativar

Caso queria enxugar a mensagem enviada ao Telegram:
   •Clique na ação Report problems to Zabbix adminitrators → Operações e altere o campo Mensagem Padrão



REFERÊNCIAS
https://jorgepretel.com.br/category/zabbix/
https://github.com/GabrielRF/Zabbix-Telegram-Notification#telegram

terça-feira, 31 de maio de 2016

Acesso Múltiplo via SSH com o pacote PSSH



Cenário:

#apt-get install pssh

O pacote de ferramentas do Paralelo SSH inclui:
parallel-ssh – is a program for running ssh in parallel on a multiple remote hosts.
parallel-scp – is a program for copying files in parallel to a number of hosts.
parallel-rsync – is a program for efficiently copying files to multiple hosts in parallel.
parallel-nuke – kills processes on multiple remote hosts in parallel.
parallel-slurp – copies files from multiple remote hosts to a central host in parallel.

#parallel-ssh -h lista_ip_destino.txt -l usuário_destino -A -i "comando &"

Nota: O -A solicita a senha do usuário de destino, o -i exibe na sua tela o resultado do comando executado no destino com ou sem erros e & significa que estou mandando o comando executar em background.
#parallel-ssh -H usuário@ip_destino -A -i "comando &"


sexta-feira, 6 de novembro de 2015

Sticky Notes - Post-it na Área de Trabalho do GNU/Linux Ubuntu / Mint

 



Abra um Terminal e execute os comandos para instalação do Sticky Notes:

sudo apt-add-repository ppa:umang/indicator-stickynotes
sudo apt-get update && sudo apt-get install indicator-stickynotes

Referência:

sexta-feira, 23 de outubro de 2015

Habilitando VNC para todos os Usuários no Ubuntu 15.04 via linha de comando


Basta colocar o comando abaixo no /etc/profile:
gsettings set org.gnome.Vino enabled true

Para ver outras opções aperte TAB antes de executar o comando.
#gsettings set org.gnome.Vino



Tags: vino-preferences, vino-server.

segunda-feira, 19 de outubro de 2015

Acesso ao Servidor via SSH sem senha, utilizando de Chaves Pública/Privada RSA

Cenário:

Host Servidor:
Sistema Operacional Ubuntu Server 14.04
Openssh-server instalado (Para instalar #apt-get install ssh)

Host Cliente
Sistema Operacional Ubuntu Desktop 15.04

O que será feito aqui é o seguinte:
  1. A ideia é acessar um servidor a partir do seu computador sem digitar senha.
  2. Você vai gerar um par de chaves, pública e privada no seu computador.
  3. Vai enviar a chave pública pro servidor.
    3.1 Nesse envio utilizei o usuário/senha root do servidor de destino.
          Pra funcionar é necessário modificar no servidor o arquivo /etc/ssh/sshd_config 
          para permitir acesso com usuário root.
          Quando for enviado, desfaça a alteração.

1. Gere as Chaves Pública e Privada no Host Cliente

As chaves serão gravadas numa pasta oculta chamada .ssh dentro da pasta pessoal do usuário que estiver logado. O local poderá ser alterado durante a execução do comando, caso não queira alterar, pressione ENTER.

 #ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/usuário/.ssh/id_rsa): NOVO_LOCAL ou ENTER 
Enter passphrase (empty for no passphrase): SENHA PARA A CHAVE PRIVADA 
Enter same passphrase again: SENHA PARA A CHAVE PRIVADA 
Your identification has been saved in /home/usuário/.ssh/id_rsa.
Your public key has been saved in /home/usuário/.ssh/id_rsa.pub.


Nota1: O padrão de chave é 2048 bits. Você pode aumentar para 4096 bits com -b 4096 para torna mais difícil a quebrar da chave por métodos de força bruta.

ssh-keygen -t rsa -b 4096

2. Envie a Chave Pública do Host Cliente para o Host Servidor


Normalmente o acesso root não é permitido em servidores, por questões de segurança, caso queira acessar, utilizando o usuário ROOT do Servidor, terá que editar o arquivo /etc/ssh/sshd_config e alterar a linha "PermitRootLogin without-password"  para "PermitRootLogin yes". Permitindo assim, o envio da chave pública com o usuário root.

Reinicie o serviço SSH:
#service ssh restart

Depois do envio desfaça a alteração e reinicie o serviço SSH.

Envie a chave com o comando:
#ssh-copy-id usuário_no_servidor@IP_Destino

Quando for acessar será solicitado a "passphrase", marque na caixa de diálogo para salvar. Isso fará com que não seja solicitada nos próximos acessos enquanto a seção não seja encerrada, ou seja, feito o logoff.

Caso não apareça essa caixa de diálogo, use os comandos:
#ssh-add
#ssh-agent

O ssh-agent é um agente de autenticação, ele gerencia as conexões ssh de sua sessão login. Fazendo par com o ssh-add, conseguimos manter as conexões ssh no ssh-agent. A grande vantagem nisso tudo é digitar sua senha "passphase" apenas na primeira vez, e deixar o ssh-agent gerenciar as outras conexões.


Referências:
https://ivanix.wordpress.com/tag/ssh-agent/
https://help.ubuntu.com/community/SSH/OpenSSH/Keys
https://www.vivaolinux.com.br/artigo/Utilizando-SSH-com-metodo-de-autenticacao-publickey-+-sshagend-+-sshadd

Comandos úteis:

Se quiser evitar digitar "yes" no primeiro acesso ao servidor pra aceita a chave dele.
#ssh -oStrictHostKeyChecking=no usuário@IP_destino

Se quiser evitar digitar a senha após o comando, instale o pacote "sshpass".
#sshpass -p 'SENHA' ssh usuário@IP_destino

Busca local da chave do destino que foi aceita.
#ssh-keyscan -H IP_Destino

Remove localmente a chave do destino que foi aceita.
#ssh-keygen -R IP_Destino


quarta-feira, 14 de outubro de 2015

Compartilhar Internet habilitando Roteamento e fazendo NAT no Ubuntu Server 14.04


Para solucionar o problema de compartilhamento da internet no GNU/Linux é feito através da programa Iptables, que é o firewall nativo das distribuições a partir do kernel 2.4.

Cenário:
Configurações do Ubuntu Server:
2 placas de rede 
   eth0 - Com acesso a internet
   eth1 - Com acesso a rede local
Serviço DHCP ativado e definido o IP de eth1 como gatway da rede.


Habilitando o Roteamento de pacotes no Ubuntu Server: 
# echo 1 > /proc/sys/net/ipv4/ip_forward 

Esse comando escreve o número 1 dentro do arquivo ip_forward, ativando o roteamento de pacote. O padrão é 0. Com isso o Linux passa a rotear os pacotes de uma interface para a outra e vice-versa. 

Ativando o NAT: 
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 

Esse comando permite que todos os hots da rede rede local possam sair para a internet com apenas um IP público. O "-o eth0" é a interface que está conectada com a internet, se fosse uma conexão Velox seria "-o ppp0". 

Feito! 
Você já deve estar conseguindo acessar a internet pela rede local através do Ubuntu Server.

Agora vamos criar um script e colocar para iniciar durante o boot. 
Criando script, dentro do /usr/local/bin: 
# vim /usr/local/bin/firewall 

#!/bin/bash
echo "Ativando compartilhamento "
# Ativando Roteamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
# Ativando o NAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo " Compartilhamento ativado"

Salve e saia do arquivo. Dê permissão de execução no script com o comando: 
# chmod +x /usr/local/bin/firewall 

Agora vamos colocar esse script para ser iniciado durante o boot. Edite o arquivo /etc/rc.local
# vim /etc/rc.local 

E adicione a seguinte linha em seu final: 

/usr/local/bin/firewall

Salve e saia do arquivo. 
Toda vez que o micro for reinicializado, Internet será roteada !

Acesso ROOT pelo GRUB para solucionar problemas.



Passo 1. Pressione "ESC" na inicialização.

Passo 2. Ao aparecer o menu do GRUB pressione "e" para edição.

Passo 3. Encontre a linha do kernel que começa com "linux /vmlinuz-3......" e altere "ro" por "rw" que dará permissão de escrita. 

Passo 4. Apague o restante do texto após o "rw" e escreva "init=/bin/bash" que vai definir pra iniciar o programa shell antes de chamar a próxima linha initrd 

Passo 5. Pressione "F10".

segunda-feira, 12 de outubro de 2015

Levantando Serviço de DNS no Ubuntu Server 14.04


Cenário:
Sistema Operacional: Ubuntu Server 14.04
Nome do Domínio:    dominio.net
Servidor DNS:           192.168.0.100
Servidor de Email:     192.168.0.200
Roteador:                   192.168.0.1

Instalação do pacote para o serviço de DNS.
#apt-get install bind9

Edição do arquivo de Zonas padrão
#nano /etc/bind/named.conf.default-zones
Adicione no fim do arquivo as linhas
zone "dominio.net" { 
          type master; 
          file "/etc/bind/db.dominio.net";
};

zone "0.168.192.in-addr.arpa" { 

          type master; 
          file "/etc/bind/db.0.168.192";
};


Criação do arquivo de Resposta a consultas DNS


#nano /etc/bind/db.dominio.net

; BIND data file for local loopback interfaces 
;
$ORIGIN dominio.net.
$TTL       86400
@          IN        SOA       servidor.dominio.net.  nome_contato.gmail.com. (
                  1; Serial. Toda alteração nesse arquivo deve ser incrementado +1 a esse campo.
              43200; Refresh. Tempo de atualização dos servidores DNS Slaves com o SOA.
                900; Caso Refresh tenha falhado é considerado esse novo tempo para nova tentativa 
            2419200; Caso novas tentativas falhem, os servidores DNS slaves serão considerados inválidos.
               3600; Negative Cache TTL
                  )
;
@           IN   NS                 servidor
@           IN   AAAA               ::1
@           IN   MX        10       mail
@           IN   A                  192.168.0.100
;
servidor    IN   A                  192.168.0.100
mail        IN   A                  192.168.0.200
router      IN   A                  192.168.0.1

ftp         IN   CNAME              dominio.net.

www         IN   CNAME              dominio.net.
gateway     IN   CNAME              router
gw          IN   CNAME              router

Obs: Check se criou corretamente o arquivo 
# named-checkzone dominio.net /etc/bind/db.dominio.net


Criação do arquivo de Resposta a consultas DNS Reverso

#nano /etc/bind/db.0.168.192

; BIND data file for local loopback interfaces 
;
$TTL       86400
@          IN        SOA       servidor.dominio.net. nome_contato@gmail.com. (
                                            1; Serial
                                        43200; Refresh
                                          900; Retry
                                      2419200; Expire
                                         3600; Negative Cache TTL
                                            )           
;
             IN          NS        servidor.

100          IN          PTR       servidor.dominio.net.
100          IN          PTR       www.dominio.net.
100          IN          PTR       ftp.dominio.net.
200          IN          PTR       mail.dominio.net.
1            IN          PTR       router.dominio.net

Atenção: O número 100 que inicia as ultimas linhas refere-se ao último octeto do endereço do servidor que disponibiliza tal serviço. Se seu servidor de e-mail for  192.168.0.5, altere de 100 pra 5


Obs: Check se criou corretamente o arquivo 
# named-checkzone dominio.net /etc/bind/db.0.168.192

Fim da Configuração!

Vamos realizar os TESTES!

Reinicie o Winbind
#/etc/init.d/bind9 restart

Outras máquinas já podem realizar uma consulta DNS, mas seu quiser consultar a partir do próprio servidor. Adicione no /etc/resolv.conf a linha contendo o IP do servidor. 
#nano /etc/resolv.conf
search dominio.net
nameserver 192.168.0.1       

Comando pra realização da consulta de DNS.
#dig nome_dominio.net ANY


Comando pra realização da consulta de DNS Reverso.
#nslookup 192.168.0.1

Outras Informações:

Resource Records utilizados em zonas DNS

Toda a informação associada a um domínio DNS é registada nos ficheiros de zonas através de resource records. Os resource records permitem definir um tipo de apontador para endereços IP, nomes, etc. Por exemplo, quando criar um registo no DNS relativo a um servidor de e-mail, usamos o resource records  MX (Mail Exchanger)
Tipos de  resource records mais importantes:
  • – Address: Associação de um nome a um endereço (mapeamento directo)
  • AAAA – Address IPv6; Associação de um nome a um endereço IPv6
  • NS (NameServer); Indica o nome de um servidor de DNS do domínio ou subdomínio;
  • CNAME – (Canonical NAME); um alias (nome alternativo) para um host;
  • MX – (Mail eXchanger); Definição de servidores de correio electrónico do domínio ou subdomínio ;
  • PTR – (PoinTeR); Associação de um endereço a um nome (reverse DNS – mapeamento inverso)
  • SOA – (Start Of Authority); Identificação de cabeçalhos de zonas
  • SRV – (SeRVice); permite definir serviços disponíveis num domínio
  • TXT – Definição de informação textual sobre o domínio

domingo, 11 de outubro de 2015

Boot pela REDE com Ubuntu Server 14.04

Cenário:

Servidor Ubuntu Server 14.04
IP Fixo: 192.168.0.1
Serviço DHCP ativo
CD de Instalação do Ubuntu Server 14.04
CD de Instalação do Ubuntu Desktop 15.04
CD de Instalação do Kali 2.0

Pré requesito:

Serviço DHCP instalado. Veja como fazer: Levantando um Serviço DHCP

Instale os PACOTES

#apt-get install tftpd-hpa inetutils-inetd


Configuração DHCP

Adicione as linhas no fim dos arquivos:

#nano /etc/default/isc-dhcp-server
INTERFACES="eth0"

#nano /etc/dhcp/dhcpd.conf
allow booting; 
allow bootp; 
option option-128 code 128 = string; 
option option-129 code 129 = text; 
next-server 192.168.0.1; 
filename "pxelinux.0";

Reinicie o serviço DHCP

#service isc-dhcp-server restart

Configuração TFTP

TFTP é um protocolo de transferência de arquivos que é semelhante ao FTP. Ele é usado onde não são obrigados a autenticação do usuário e visibilidade diretório. O servidor TFTP está sempre ouvindo clientes PXE na rede. Quando detecta qualquer cliente pedindo serviços PXE, ele fornece um pacote de rede que contém o menu de inicialização.


Adicione as linhas no fim do arquivos:

#nano /etc/default/tftpd-hpa
RUN_DAEMON="yes" 
OPTIONS="-l -s /var/lib/tftpboot"

#nano /etc/inetd.conf
tftp    dgram   udp    wait    root    /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

Nota: Se fou usar IPV6 altere "udp" para "udp4"

Reinicie o tftpd e o inetd.

#/etc/init.d/tftpd-hpa restart
#/etc/init.d/inetutils-inetd restart
#update-inetd --enable BOOT

Verifique o status do tftp.

#netstat -lu
Configuração do Serviço PXE

Agora você precisa do arquivo de inicialização PXE "pxelinux.0" para colocar no diretório raiz TFTP.
Crie o diretório /mnt/cdrom, monte o CD e copie todos os arquivos da pasta "netboot" do CD de instalação do Ubuntu Server 14.04 para /var/lib/tftpboot/.

#mkdir /mnt/cdrom
#mount /dev/cdrom/ /mnt/cdrom
#cp -fr /mnt/cdrom/install/netboot/* /var/lib/tftpboot/

Crie o diretório com o "nome_da_distro" e copie todo o conteúdo do CD de instalação da Distro.

#mkdir /var/lib/tftpboot/nome_da_distro
#cp -fr /mnt/cdrom/* /var/lib/tftpboot/nome_da_distro
#cp -fr /mnt/cdrom/.disk /var/lib/tftpboot/nome_da_distro
#chmod 777 -R /var/lib/tftpboot/nome_da_distro

Adicione as linhas no arquivo abaixo, para adicionar ao menu de instalação:

#nano /var/lib/tftpboot/pxelinux.cfg/default

label Ubuntu 15.04
kernel ubuntu/casper/vmlinuz.efi boot=casper locale=pt_BR ---
initrd ubuntu/casper/initrd.lz

label Linux Mint 17.2
kernel mint/casper/vmlinuz boot=casper --
initrd mint/casper/initrd.lz

Feito!

Levantando Serviço DHCP no Ubuntu Server 14.04 - VMware Workstation


1. Passo – Instalar o pacote dhcp

#apt-get install isc-dhcp-server 

2. Passo – Configurar endereçamento estático na placa de rede do servidor

#nano /etc/network/interfaces

auto lo
iface lo inet loopback
auto eth0 iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

#ifdown eth0
#ifup eth0 

3. Passo - Identificar a interface do servidor

#nano /etc/default/isc-dhcp-server 

INTERFACES=””
Alterar para INTERFACES=”eth0”

4. Passo – Editar o arquivo dhcp

#nano /etc/dhcp/dhcpd.conf (Pode apagar o conteúdo e escrever o que segue abaixo)

default-lease-time 300;
max-lease-time 3600;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.100 , 8.8.8.8;
option domain-name "nome_dominio.com";
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.140 192.168.0.180;
}

5. Passo – Testes e inicialização. Verificar erros no arquivo

#dhcpd –d

6. Passo (caso for necessário) - Colocar na inicialização

#apt-get install sysv-rc-conf 
#sysv-rc-conf 

7. Iniciar o serviço

#service isc-dhcp-server restart 

8. Passo – conexão ao servidor “Subir” um cliente e “pegar” IP deste servidor


Caso for testar no VMware Workstation:

1. Passo Clique em VM -> Settings... e coloque a interface das VM Cliente como HOST-ONLY.

2. Passo Faça o mesmo para a VM Servidor.

3. Passo Clique em Edit -> Virtual Network Editor e desmarque a opção da figura abaixo.