XenServer – Comandos úteis

Comandos, console…. prático, rápido, funcional…. mas se você não usa todo dia acaba esquecendo, apesar de saber que eles existem. Vou listar alguns comandos do XenServer, muito úteis, mas nem tanto utilizados.

– listar discos das vms
# xe vm-disk-list –multiple

– configurar pool para iniciar automaticamente
# xe pool-param-set uuid=uuid_pool other-config:auto_poweron=true

– configurar para vm iniciar automaticamente
# xe vm-param-set other-config:auto_poweron=true uuid=uuid_template

– Remover configuração de VM (neste caso inicialização automática)
# xe vm-param-remove param-key=auto_poweron param-name=other-config uuid=uuid_vm

– Exlcuir um template
# xe template-param-set other-config:default_template=false uuid=uuid_template
# xe template-param-set is-a-template=false uuid=uuid_template
# xe vm-destroy uuid=uuid_template

– Shutdown / Start / Export VM
xe vm-shutdown vm=nome_vm
xe vm-start vm=nome_vm
xe vm-export vm=nome_vm filename=/Caminho_arquivo.xva

Instalação do Samba4 – Active Directory compatible Domain Controler

Depois de muita espera e muita expectativa finalmente chegou o Samba4, prometendo (e cumprindo) implementação do ambiente criado pelo Active Directory (Microsoft), após a instalação a gerência e configuração do domínio e DC’s é feita utilizando as próprias ferramentas da Microsoft.

E vamos ao que interessa. Neste post serão abordadas a instalação do Samba4 no Debian Squeeze6.0.6 e Ubuntu 12.04LTS utilizando o Bind como DNS backend, nessa caso é necessário que o pacote tenha versão  igual ou superior a 9.7.x

- Bind – DNS

Debian Squeeze 6.0.6

O último pacote de instalação do bind disponível para o Debian é o 9.6 nesse caso teremos que compilar o pacote correto.

Para que não seja necessário criar os scripts de start/stop do serviço vamos instalá-lo e removê-lo utilizando o apt-get.

Nota: caso a versão disponível seja superior a 9.7.x não é necessária a remoção do serviço.

# apt-get install bind9
# apt-get autoremove bind9

Dependências necessárias

# apt-get install devscripts build-essential libkrb5-dev debhelper libssl-dev libtool bison libdb-dev libldap2-dev libxml2-dev libpcap-dev hardening-wrapper libgeoip-dev dpkg-dev

Criar diretório de cache e alterar as permissões

# mkdir /var/cache/bind
# chown bind:bind /var/cache/bind

Baixar o pacote

# mkdir bind9
# cd bind9
# dget -x http://ftp.de.debian.org/debian/pool/main/b/bind9/bind9_9.8.4.dfsg.P1-3.dsc
# tar -xvzf bind9_9.8.4.dfsg.P1.orig.tar.gz
# cd bind9-9.8.4.dfsg.P1/
 
Compilar e instalar o serviço

#  ./configure –prefix=/usr –mandir=/usr/share/man –infodir=/usr/share/info –sysconfdir=/etc/bind –localstatedir=/var –enable-threads –enable-largefile –with-libtool –enable-shared –enable-static –with-openssl=/usr –with-gssapi=/usr –with-gnu-ld –with-dlz-postgres=no –with-dlz-mysql=no –with-dlz-bdb=yes –with-dlz-filesystem=yes –with-dlz-ldap=yes –with-dlz-stub=yes –with-dlz-dlopen=yes –with-geoip=/usr CFLAGS=-fno-strict-aliasing

# make install

Ubuntu 12.04LTS

Dependências necessárias:

# apt-get install  devscripts build-essential libkrb5-dev debhelper libssl-dev libtool bison libdb-dev libldap2-dev libxml2-dev libpcap-dev hardening-wrapper libgeoip-dev dpkg-dev 

No Ubuntu o pacote disponível no repositório atende aos requisitos do Samba4, nesse caso não é necessário compilar o pacote, a instalação pode ser feita via apt-get:

# apt-get install bind9

Para que o Samba possa alterar as configurações e criar as entradas para o domínio é necessário fazer algumas alterações, são elas:

# vim /etc/bind/named.conf
include “/usr/local/samba/private/named.conf”;
 
# vim /etc/bind/named.conf.options
tkey-gssapi-keytab “/usr/local/samba/private/dns.keytab”;
forwarders {
                8.8.8.8;
                8.8.4.4;
                };

Nota: A opção forwarders só deve ser usada caso o servidor encaminha solicitações que ele não consiga resolver para servidores DNS externos.

Samba4

Dependências necessárias:

Debian 6.0.6 – Squeeze

# apt-get install build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev  dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl
 

Ubuntu 12.04LTS

# apt-get install libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev  dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl

Nota: Serão solicitados o domínio do servidor e FQDN dos servidores do Kerberos.

No Ubuntu ainda é necessária uma alteração no apparmor para que ele permita alterações no bind

# vim /etc/apparmor.d/usr.sbin.named
/usr/local/samba/private/** rkw,
/usr/local/samba/private/dns/** rkw,
/usr/local/samba/lib/** rm,# /etc/init.d/apparmor reload

Se o sistema de arquivos utilizado for ext3 ou ext4 será necessário configurá-lo para suportar acl e attr. Para isso vamos editar o arquivo /etc/fstab e incluir as opções “user_xattr,acl,barrier=1″ na montagem do volume. Após alterado o arquivo deve estar parecido com este:

# vim /etc/fstab
/dev/hda       /               ext3    user_xattr,acl,barrier=1,errors=remount-ro  0       1

Montar novamente o sistema de arquivos

# mount -o remount,rw /

Também é importante verificar se o nome do host está definido corretamente, verifique as configurações dos arquivos /etc/hosts e /etc/hostname, faça as alterações necessárias e reincie o servidor.

Download, configuração e instalação do Samba

# wget -c http://www.samba.org/samba/ftp/stable/samba-4.0.1.tar.gz
# tar -xvf samba-4.0.1.tar.gz
# cd samba-4.0.1/
# ./configure –enable-debug –enable-selftest
# make
# make install

Após instalado o samba, vamos criar o domínio:

# /usr/local/samba/bin/samba-tool domain provision

Serão solicitadas informações como: realm,domain, server role, DNS backend e password. As configurações serão aplicadas e o domínio criado, uma saída semelhante a esta será apresentada:

Realm: TESTE.COM
Domain [TESTE]:
Server Role (dc, member, standalone) [dc]:
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: BIND9_DLZ
Administrator password:
Retype password:
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=teste,DC=com
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=teste,DC=com
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
See /usr/local/samba/private/named.conf for an example configuration include file for BIND
and /usr/local/samba/private/named.txt for further documentation required for secure DNS updates
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf
Once the above files are installed, your Samba4 server will be ready to use
Server Role: active directory domain controller
Hostname: samba4-dc
NetBIOS Domain: TESTE
DNS Domain: teste.com
DOMAIN SID: S-1-5-21-2228987782-1448195482-472659170

Antes de iniciar o Samba, reiniciar o bind para que as alterações sejam aplicadas:

# /etc/init.d/bind9 restart

Iniciar o samba

# /usr/local/samba/sbin/samba

Atualizar a base DNS

# /usr/local/samba/sbin/samba_dnsupdate –verbose –all-names

Testar o DNS
# host -t SRV _ldap._tcp.senior.local

Nota: Para funcionamento correto dos comandos acima, é necessário que no /etc/resolv.conf o nameserver contenha o IP do servidor local.

Outro serviço importante a ser configurado para o correto funcionamento do samba4 e kerberos é o NTP, caso os relógios não estejam sincronizados os serviços podem apresentar problemas.

Referências:

Antispam Zimbra – Blacklist e Whitelist

Tema (problema) de hoje Spam que não é barrado no AntiSpam. É, acontece!!

E como tudo na TI nada funciona 100%, nem depois da intervenção. A briga de gato e rato é constante e nós estamos aí, uma hora encontramos o ninho do rato e acabamos com a bagunça. Enquanto isso não acontece, dificultamos a vida deles.

De volta ao Antispam, palavras de Marciel Meurer (http://pt.scribd.com/doc/63799499/Blacklist-e-Whitelist-No-Zimbra)
O Zimbra disponibiliza uma opção para que sejam criadas Blacklist e Whitelist. Primeiro detalhe antes de mostrar como proceder. Whitelist prevalece sobre a Blacklist, então caso tenha bloqueado na Blacklist o dominio gmail.com e liberado na Whitelist o endereço simpsons@gmail.com, os e-mails enviados por simpsons@gmail.com irão ir normalmente para o usuário.”

1 – Como root, adicione no arquivo  /opt/zimbra/conf/amavisd.conf.in, as seguintes linhas:

read_hash (\%whitelist_sender, "/opt/zimbra/conf/whitelist"),
read_hash (\%blacklist_sender, "/opt/zimbra/conf/blacklist"),

Só para manter a organização do arquivo, adicionei as linhas abaixo da seguinte linha (no arquivo ela está comentada, e deve ser mantida assim).

# read_hash("/var/amavis/sender_scores_sitewide"),

Nota: Não alterem o arquivo /opt/zimbra/conf/amavisd.conf, podem ter alguns problemas com isso.

2 – Agora vamos criar e preencher os arquivos que receberão nossas listas:

# vim /opt/zimbra/conf/blacklist
# vim /opt/zimbra/conf/whitelist

3 – Reiniciar o serviço de Antispam

# su – zimbra
$ zmamavisdctl restart

Referências:

Restringindo envio de emails para domínios externos no Zimbra

“É de bloqueios de restrições que se faz a felicidade de um SysAdmin!” Isso do ponto de vista dos usuários, pra quem está do lado de cá da linha quando se ouve ‘restrições e bloqueios’ logo se pensa em problemas. Nada é tão simples quanto parece e nem tão fácil como imaginamos. Vamos ao cenário:

Servidor: Ubuntu 10.04LTS + Zimbra 7.2.0 G.A

Necessidade: O servidor deve possuir 3 domínios, sendo um interno e 2 válidos e as permissões como segue:

- dominio.com.br – sem restrições de envio/recebimento;
- dominio2.com.br – sem restrições de envio/recebimento;
- dominio.interno – envia e recebe mensagens somente do próprio domíno e dos domínios acima;

Solução (com o usuário zimbra, siga as instruções abaixo):

1 – Criar o arquivo onde serão listados os domínios com restrição de envio:

$ cd /opt/zimbra/conf
$ echo “empresa.intranet restrict_tpmail” > restrito
$ postmap restrito

2 – Criar o arquivo onde serão listados os domínios que receberão mensagens dos domínios restritos (especificados no passo anterior):

$ cd /opt/zimbra/conf
$ echo “empresa.intranet OK” > liberados
$ echo “dominio.com.br OK” >> liberados
$ echo “dominio2.com.br OK” >> liberados
$ postmap liberados

3 – Editar o arquivo zmmta.cf, localizar a linha “POSTCONF virtual_transport LOCAL postfix_virtual_transport” e logo abaixo inserir:

$ cd /opt/zimbra/conf
$ vim zmmta.cf

 POSTCONF smtpd_sender_restrictions FILE postfix_sender_restrictions.cf
 POSTCONF smtpd_restriction_classes restrict_tpmail
 POSTCONF restrict_tpmail FILE postfix_restrict_tpmail.cf

4 – Criar os arquivos mencionados no passo acima, informando ao postfix as regras de acesso:

$ cd /opt/zimbra/conf
$ echo “check_sender_access hash:/opt/zimbra/conf/dominio_restrito” > postfix_sender_restrictions.cf
$ echo “check_recipient_access hash:/opt/zimbra/conf/dominios, reject” >> postfix_restrict_tpmail.cf

5 – Reiniciar o serviço para validar as configurações:

$ zmcontrol restart

Referências:

Administrando o zimbra via cli

Pra quem não é adepto às interfaces gráficas…. ou por algum motivo não pode acessar a interface segue um ótimo trabalho de Guto Carvalho mostrando como fazer tudo ‘na unha’ no Zimbra

 

http://gutocarvalho.net/mediawiki/index.php?title=ZCS_Administrando_via_CLI#entenda_zimbra-cli

CategoriasZimbra - Email Tags:

Paravirtualizar VM no XenServer

A técnica de virtualização permite que várias instâncias de sistemas operacionais sejam executadas em um único hardware. Com a crescente demanda por recursos computacionais, as empresas aderem cada vez mais a essa tecnologia buscando economia, desempenho e melhor gerenciamento dos recursos disponíveis para os negócios. A virualização é feita basicamente de duas formas:

  1. Virtualização total
    Primeira geração da virtualização, esta técnica fornece ao SO visitante uma réplica do hardware, o que apresenta algumas desvantagens. Como o conceito da virtualização diz que vários dispositivos podem funcionar a partir de um único hardware, a virtualização total utiliza implementações genéricas que funcionam na grande maioria dos dispositivos, o que pode gerar desperdício da capaciadade de hardware disponível. Outro inconveniente apresentado é o fato de as implementações terem que contornar problemas gerados pela disputa de hardware pelos Sistemas Operacionais visitantes, uma vez que o SO foi projetado para ser executado como instância única no hardware.
  2. Paravirtualização
    A segunda geração de virtualização, apresenta uma interface para as máquinas virtuais que se assemelha ao hardware real. Esta técnica prevê a alteração do kernel dos SOs visitantes com o intuito de substituir instruções não virtualizadas, o que proporciona um melhor desempenho das VMS e melhor gerenciamento sobre as mesmas.
 O objetivo deste artigo é mostrar como paravirtualizar uma VM com SO Linux, neste caso foi usado o Centos 5.7, rodando no XenServer.
 O primeiro passo é instalar o módulo do xen no guest
# apt-get install kernel-xen
As entradas referentes ao novo kernel serão adicionadas ao grub.
Após completar a instalação reinicie o servidor. É necessário gerar um novo initrd para o boot sem suporte a drivers SCSI que causam problemas com discos virtuais no XenServer:
# cd /boot
# mkinitrd --omit-scsi-modules --with=xennet --with=xenblk --preload=xenblk \
initrd-$(uname -r)xen-no-scsi.img $(uname -r)xen

Nota: Neste momento sugiro que seja criado um snapshot da VM para restauração caso haja algum problema no processo.

No arquivo /etc/grub/grub.conf, faça as seguintes alterações:

  • Exclua a entrada do kernel com ‘gz’ no nome;
  • Renomeie a primeira entrada module para kernel;
  • Renomeie a segunda entrada module para initrd;
  • Altere o ponteiro initrd*.img para o nome correto do arquivo gerado no passo anterior;
  • Edite a entrada ‘default=’ para o número correspondente à entrada do xenkernel. No nosso exemplo 0.
    Nota:  A contagem é baseada na posição do kernel e iniciada no número 0.

    O novo arquivo deve ficar como o da imagem:
     

Desligue a VM, não reinicie.

# Halt

No xen, é necessário alterar alguns parâmetros no registro da VM para converter para o modo boot PV. Nosso exemplo a VM é chamada ‘novavm’. No console do XenServer, execute os seguintes comandos:

# xe vm-list name-label=novavm params=uuid (retorna o UUID da vm)

# xe vm-param-set uuid=<vm-uuid> HVM-boot-policy=”" (Limpa HVM boot mode)

# xe vm-param-set uuid=<vm-uuid> PV-bootloader=pygrub (define pygrub como boot loader)

# xe vm-param-set uuid=<vm-uuid> PV-args=”console=hvc0 xencons=hvc” (define o tipo de console da vm)

# xe vm-disk-list uuid=<vm uuid> (retorna o UUID da interface do disco virtual)

# xe vbd-param-set uuid=<vbd uuid> bootable=true (define o disco como bootável)

Neste ponto a VM já pode ser iniciada. Ao completar a inicialização será necessário reconfigurar a interface de rede. Caso o console no XenCenter não funcione corretamente, feche o aplicativo e abra novamente.

Comandos executados no Xen

Para completar o processo é necessário instalar na VM o “XenServer Tools”.

No XenCenter:

  • Selecione a aba ‘Console’ da VM no XenCenter;
  • No DVD drive selecione ‘xs-tools.iso’;

Na VM, monte o drive habilitado e instale os pacotes:

# mount /dev/xvdd/media
# cd /mnt/media/Linux
# ./install.sh

Responda ‘y’ para confirmar a instalação. Após concluída a instalação, desabilitar a imagem do xentools no drive de DVD e reiniciar a VM.

Ao iniciar a VM, o ‘Virtualization Status’ na aba ‘General’ deve mostrar ‘Optimized’.

Fontes:

SQStat – Monitorando acessos no Squid em tempo real

O Squid Status (SQStat) é uma ferramenta desenvolvida em PHP que permite verificar, em tempo real, todo o tráfego existente no servidor Proxy . Com isso é possível monitorar o consumo de banda, bem como links acessados por usuários ou hosts na rede.
Para obter as informações de acesso, a ferramente utiliza o protocolo cachemgr, como pré-requisitos só são necessários um servidor web (Apache2 no caso), PHP (4 ou superior) e o Squid funcionando. Mais simples que a explicação só mesmo a instalação.

O primeiro passo é baixar a ferramenta, na raiz do servidor web (/var/www/) execute o comando:

# wget -c http://samm.kiev.ua/sqstat/sqstat-1.20.tar.gz

Agora, escompacte o arquivo:

# tar -zxvf sqstat-1.20.tar.gz

Acesse o diretório criado:

# cd sqstat

Renomeie o arquivo config.inc.php.defaults para config.inc.php

# mv  config.inc.php.defaults config.inc.php

Edite o arquivo:

# vim config.inc.php

Altere os sequintes parâmetros

    • $squidhost[0]=”” : IP do servidor Proxy;
    • $squidport[0]=”” : Porta do Proxy;
    • $resolveip[0]=” ”: se a opção for TRUE, o SQStat utiliza nomes das máquinas ao invés do IP;
    • $group_by[0]=””: os acessos podem ser agrupados por máquina (host) ou nome de usuário (username).

Nota: A opção username só funciona na versão 2.6 ou superior do Squid e para proxies com autenticação.

Feito isso, vamos ajustar as permissões do Squid para leitura do cache. Edite o arquivo de configuração:
# vim /etc/squid/squid.conf
Adicione as seguintes linhas:
acl manager proto cache_object 
acl webserver src 10.0.0.1/255.255.255.255 
http_access allow manager webserver 
http_access deny manager

Nota: O IP na ACL webserver deve ser o mesmo indicado no parâmetro squidhost no arquivo do SQStat.

Feito isso é necessário reiniciar o Squid para que as altereções sejam aplicadas, o SQStat pode ser  acessado através do endereço:

http://ip-do-servidor/sqstat/sqstat.php
Site oficial da ferramenta: http://samm.kiev.ua/sqstat/
CategoriasSquid Tags:,
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Join 41 other followers

%d bloggers like this: