Páginas

quarta-feira, 20 de março de 2013

SCP


Comando simples - copiando todos os arquivos de "/var/lib/arquivos" do computador local para a home do yoda no computador 192.168.100.1: 

# scp /var/lib/arquivos/* root@192.168.100.1:/home/yoda 

Com uma porta específica (no caso 991): 

# scp -P 991 /var/lib/arquivos/* root@192.168.100.1:/home/yoda 

Reverso - Do computador remoto para o computador local: 

# scp root@192.168.100.1:/home/yoda/* /var/lib/arquivos/ 

FONTE - http://www.vivaolinux.com.br/dica/Usando-o-comando-SCP

Mikrotik - Enviar comando usando SSH


Uma das minhas muitas tarefas diárias é o constante monitoramento, revisão e configuração de equipamentos Mikrotik, apesar de no fim de 2010 ter-me tornado um profissional com certificação Mikrotik, quase não falo isso por aqui.

Aproveito então a chance e compartilho um bash script que criei recentemente. Ele surgiu da necessidade de por vezes ter que fazer a mesma configuração em diversos equipamentos. Se forem poucas as RouterBoards Mikrotik a serem configuradas tal trabalho é simples, poderiamos acessar via Winbox os equipamentos e executar sem problemas os procedimentos necessários. Porém, quando este número aumenta um pouco mais começa a ficar um trabalho massante.

Aproveitei-me então dos recursos que nosso Sistema Operacional preferido fornece juntando um pouco de bash, SSH e expect e montei o script.

Antes de mais nada, no diretório onde iremos criar nosso script, criaremos um arquivo que aqui nomeei de “rbs.txt” com a relação dos IP’s das RouterBoards que desejaremos executar os procedimentos, o formato do arquivo é o mais simples possível: um ip por linha.

Feito isso, criamos um arquivo que podemos nomeá-lo de “enviaSSH.sh“, e nele colocamos o seguinte conteúdo:

#########################################################
# #
# #
# #
#########################################################




#!/bin/bash
 ############################################################################
 # Enviar comando de configuração via SSH
 # para diversas RouterBoards Mikrotik simultaneamente
 # enviaSSH.sh – v.0.1 – 2011/03/01
 #
# <a href="http://blog.ffelix.eti.br/dicas-linux/enviar-comando-via-ssh-para-mikrotik/#" rel="nofollow">Autor</a>: Alexsandro Felix
 # Site: http://blog.ffelix.eti.br
 # E-mail/MSN/GTalk: felix@ffelix.eti.br
 # Este script pode ser copiado e modificado livremente,
 # desde que os devidos créditos sejam concedam ao autor os devidos créditos
 # O script original pode ser encontrado em: http://wp.me/pLEMr-Xt
 ############################################################################

# Fazemos um backup das configurações atuais de nosso terminal
 bkpterminal=`stty -g`

# De modo <a href="http://blog.ffelix.eti.br/dicas-linux/enviar-comando-via-ssh-para-mikrotik/#"
rel="nofollow">interativo</a>, pega informações de login e senha
 # para acessar as RouterBoards
 echo "Digite seu login para as RB’s'"
 read usuario
 export user=$usuario

echo "Digite sua senha das RB’s"
 # Desativa a saída de caracteres no monitor
 # para que outras pessoas não vejam qual sua senha
 stty -echo intr ‘^a’
 read passwd
 export senha=$passwd

# Volta a configuração de terminal previamente salva
 stty $bkpterminal

# Defina qual a porta de conexão que o seu servidor SSH escuta
 # por questões de segurança é recomendável sempre alterar a porta padrão 22
 # para alguma outra de sua preferência que esteja livre
 export porta=00000

# Substitua abaixo o trecho de <a href="http://blog.ffelix.eti.br/dicas-linux/enviar-comando-via-ssh-para-mikrotik/#"
rel="nofollow">código</a> de exemplo:
 # set http-proxy=111.111.111.111:2222
 # pelo IP de seu Proxy e sua respectiva porta
 for i in $(cat rbs.txt); do
 export host=$i
 expect -c ‘
 spawn -noecho ssh $env(user)@$env(host) -p $env(porta)
 /ip hotspot profile set http-proxy=111.111.111.111:2222 numbers=0,1;
 expect "ssword:"
 send $env(senha)r
 interact
 ‘
 done

#########################################################
# #
# #
# #
#########################################################


Uma observação que faço é referente às linhas 33 e 34 do script, que por causa da exibição aqui no blog aparecem desta forma, porém seu conteúdo deve ser digitado em apenas uma linha.

Outro detalhe é que tal script só será útil se todas as RouterBoards Mikrotik estiverem configuradas de modo que permitam a conexão SSH pela mesma porta, usuário e senha.

Neste exemplo de script o comando configura qual o IP do servidor Proxy e sua porta a ser usado pelos hotspots que estiverem configurados na RouterBoard, através do comando:

/ip hotspot profile set http-proxy=111.111.111.111:2222 numbers=0,1;

Porém qualquer outro comando do Mikrotik pode ser executado através deste script, basta saber usá-lo.

Imagino que o código esteja bem comentado e explique os passos que estão sendo realizados, caso tenha alguma dúvida, entre em contato via comentário aqui mesmo neste artigo ou me contate via meu twitter.


FONTE: http://aurelianomartins.wordpress.com/2011/11/20/enviar-comando-via-ssh-para-mikrotik/

Network - Detectando conflitos de IP


Dica rápida e rasteira para quem deseja descobrir problemas de conflito de IP em sua rede. Para isso utilize o comando arping (integrante do pacote iproute) da seguinte maneira:

# arping -D -I -c

A opção ‘-D’ ativa o DAD ‘ duplicate address detection mode’ e este por sua vez, possui código de retorno igual a 0 (zero) caso sua checagem seja bem-sucedida.

Exemplo:

- Checar se o endereço IP 192.168.1.2 está duplicado na rede:

# arping -D -I eth0 -c 2 192.168.1.2 > /dev/null 2>&1 && echo ‘Conflito de IP detectado!’

Mais detalhes? (salve seu dia, consulte as man pages!)

$ man arping

Falou!!!

Previamente publicado em: http://my.opera.com/smarcell/blog – SHELL: Detectando conflitos de IP

Squid - Tunning para alto tráfego

Cenário

No cenário este “tunning” foi um servidor com 4GB de RAM, sendo 3 GB dedicados para o Squid. Dois discos SCSI de 10k com um processador Xeon 2.4 rodando Debian 6.

O mesmo está atendendo em horário de pico, em média de 1000 usuários simultaneamente, efetuando autenticações via winbind em um domínio NT (Active Directory) no Windows Server Enterprise 2008.

Modificando algumas configurações do kernel

Primeiramente vamos alterar alguns valores do kernel padrão, reduzindo o tempo de limpeza da tabela ARP e aumentando o seu tamanho, bem como aumentando o número de conexões simultâneas que o servidor irá atender e reduzir o tempo de espera entre as conexões.

Para isso, vamos alterar o arquivo sysclt.conf:

# vim /etc/sysctl.conf

E no final do arquivo, adicionar as seguintes linhas:

####### TUNNING PARA SQUID ########
# Reduzir o tempo de limpeza da tabela ARP
# Expandir o seu tamanho
net.ipv4.neigh.default.gc_interval = 15
net.ipv4.neigh.default.gc_thresh1 = 4096
net.ipv4.neigh.default.gc_thresh2 = 8192
net.ipv4.neigh.default.gc_thresh3 = 16384# Aumento do numero de conexoes simultaneas
# Reducao do tempo de espera entre as conexoes
net.core.somaxconn = 20480
net.core.netdev_max_backlog = 2048
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_max_syn_backlog = 2048
Após adicionar as linhas e salvar o arquivo, é necessário executar o comando “sysclt -p” para que as alterações sejam importadas pelo kernel.

Modificando os limits de segurança

Uma outra boa prática adotada foi modificar os valores de limits do kernel. Para verificar os limits do seu kernel, basta digitar o comando:

# ulimit -a.

No meu caso, apenas alterei o valor de ‘open files’, que no padrão era 1024 e passei para 16384.

Para fazer esta alteração, basta digitar o seguinte comando na console:

# ulimit -n 16384

Porém, ao reiniciar o servidor, os valores de ‘limits’ irão retornar para o padrão. Para que isso não aconteça, edite o arquivo limits.conf:

# vim /etc/security/limits.conf

No final do arquivo, inclua as seguintes linhas:

#### TUNNING DE LIMITS DE KERNEL #####
root soft nofile 16384
root hard nofile 32768
* soft nofile 16384
* hard nofile 32768
Considerações finais

Modificando configuração padrão do Squid.

Agora vamos alterar o valor padrão de arquivos de descritores abertos pelo Squid. Para isso edite o arquivo /etc/default/squid.

Neste arquivo tem um valor padrão de 1024, altere para 4096.

Pronto, o seu kernel para uso do Squid está ‘tunado’… Uma alteração a gosto, de quem quiser testar, também foi modificar os parâmetros de leitura de cache no “squid.conf”.

Percebi uma melhora significativa na velocidade de acesso ao cache ao usar o método diskd no lugar de aufs.

Em algumas pesquisas na Internet, encontrei registros em que o diskd consegue fazer até 160 requisições por segundo ao cache no disco, sendo que o aufs, gira em torno de 40 requisições por segundo.

Entendido isso, foi alterado o cache para os seguintes parâmetros:

cache_dir diskd /var/spool/squid 20480 64 256 Q1=64 Q2=72
Se pesquisarem sobre este parâmetro, deverão encontrar muita coisa, então não irei abordar o por quê dos por quês…

Feito estas configurações, recomendo reiniciar o servidor e levantar o Squid para ver as melhoras de performance.

No meu caso, a navegação ficou visivelmente mais rápida.

fonte: http://aurelianomartins.wordpress.com/2012/06/16/tunning-squid-para-alto-trafego/

Squid: Aceitar somente firefox


Esta dica é muito útil para você acrescentar em suas políticas de acesso, a padronização de apenas um navegador em toda a rede.

Esta dica foi escrita após um ‘branco’ que eu tive em como fazer isto. Fui ajudado pelo andrecanhadas no tópico Definir Firefox, assim sendo, resolvi escrever esta dica.

O procedimento é simples, dentro de “/etc/squid3/squid.conf”, adicione a seguinte ACL:

acl firefox browser ^Mozilla/5.0 .X11; U;
acl ie browser ^Mozilla/5.0 .compatible; MSIE
http_access deny ie !firefox
Simples, não?

Caso você queira fazer o inverso, basta trocar:

http_access deny ie !firefox
Por:

http_access deny firefox !ie
Quem quiser ver uma lista com as strings para diversos browsers, basta acessar:

User Agent String

FONTE: http://aurelianomartins.wordpress.com/2012/06/02/utilizar-apenas-firefox-no-squid/

Facebook - Bloqueio


Recentemente, precisei bloquear o HTTPS do Facebook, já que pelo HTTPS ele passava no Squid normalmente.

Existem várias de formas de fazer este bloqueio, umas das opções seria usando o firewall IPtables.

A forma que eu vou mostrar a vocês, é por roteamento apenas rejeitando as redes que o Facebook utiliza hoje.

Redes do Facebook:

69.63.176.0/20
69.171.224.0/19
66.220.144.0/20

Faixas utilizadas:

69.63.176.0 – 69.63.191.255
69.171.224.0 – 69.171.255.255
66.220.144.0 – 66.220.159.255
Bloqueando o HTTPS do Facebook

Adicionando as rotas:

# route add -net 69.63.176.0/20 reject
# route add -net 69.171.224.0/19 reject
# route add -net 66.220.144.0/20 reject

fonte: http://aurelianomartins.wordpress.com/2012/07/30/bloqueando-rotas-para-o-facebook/

sexta-feira, 15 de março de 2013

FreeBSD - Diretorio Sysinstall

mount -t cd9660 /dev/cd0 /dist

terça-feira, 5 de março de 2013

MySQL - Trocar/mudar senha usuário do banco

shell# mysql -u root mysql

mysql> update user set password=password('senha_desejada') where user='usuario_desejado';

TAG : senha, password, mysql, alterar, trocar

fonte: http://rfilippus.blogspot.com.br/2009/01/mysql-alterar-trocar-senha-de-usuario.html

Data e Hora

No Linux

# date mmddHHMMccyy 

Isso pode ser visualizado nessa outra dica: Ajustando a data no Linux 

No FreeBSD: 

# date ccyymmddHHMM 

Na prática: 

# date 200912180150
Fri Dec 18 01:50:00 BRST 2009

fonte: http://www.vivaolinux.com.br/dica/Arrumando-as-horas-no-FreeBSD