Linuxes, parceiros ate no ssh :)

Sempre esqueço esse procedimento. Então vou colocar aqui para nunca mais esquecer 😛

Segue o ambiente proposto.ssh_semsenha

O servidor A ira conectar no servidor B sem senha. Então  vamos ao procedimento correto.

Antes vamos tentar o acesso

serverA:~# ssh suporte@192.168.0.11
The authenticity of host ‘192.168.0.11 (192.168.0.11)’ can’t be established.
RSA key fingerprint is 64:52:f0:f2:54:6d:c1:f7:37:24:a7:a7:48:7b:39:4d.
Are you sure you want to continue connecting (yes/no)?
serverA:~#

Procedimento Servidor A.

Quando rodar o comando ele vai pedir uma senha, apenas digite enter para a senha e confirmação.

serverA:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
e4:92:34:95:79:ad:16:d0:f9:bc:c5:f7:5f:70:5b:45 root@serverA
serverA:~#

Agora vamos copiar a chave publica para o servidor B.

serverA:~# scp /root/.ssh/id_rsa.pub suporte@192.168.0.11:/tmp/

Procedimento Servidor B

Agora no servidor B copiamos a chave pública e colocamos no diretorio oculto .ssh dentro do diretorio pessoal do usuário em questão como “authorized_keys2”

serverB:~# cp /tmp/id_rsa.pub ~/.ssh/authorized_keys2

Agora no servidor A fazemos o teste de conexão 🙂

serverA:~# ssh suporte@192.168.0.11

Detalhe isso so funcionara por usuário.

Att.

Advertisements
Categories: Linux

Linux sempre disponivel para atende-lo, senhor :)

December 6, 2012 1 comment

O título do post tenta ser bem objetivo, iremos configurar alta disponibilidade em um ambiente Linux, utilizando duas máquinas com iguais configurações em que se uma cair a outra assume, no caso o serviço que iremos deixar disponivel será o firewall netfilter/iptables e squid. Usaremos sincronização das configurações utilizando o DRBD. O nosso ambiente será como abaixo já com os respectivos endereços IP’s. Uma observação na interface eth0 o qual foi designada para ser a interface externa não teremos IP, somente o endereço ip virtual na interface alias eth1:0, o heartbeat será na interface interna, no nosso exemplo a interface eth0, com o endereço ip virtual na interface eth0:0.

heartbeat

Para construir nosso ambiente precisamos do DRBD e Heartbeat, o DRBD é uma tecnologia para o sincronismo das configurações e o heartbeat para fazer a checagem do master e slave e ativar os serviços no slave quando o master ficar indisponível. O primeiro passo e instalar o heartbeat, não vou explicar aqui como faz isso, porque existe várias maneiras de se fazer isso. Eu por exemplo utilizei o ubuntu e ele ja tem o pacote no repositorios de pacotes, no CentOS, fedora também tem o pacote no repositorio, ou ainda se preferir você tem a opção de compilar a partir do código fonte. Fica a gosto do frequês.

O diretório de trabalho do heartbeat fica em /etc/ha.d, existe 3 arquivos que precisaremos configurar, são eles:

  • haresources: define quais recursos estarão em alta disponibilidade, tais como o nosso squid e iptables, além de montagem de partições sincronizadas com drbd, etc.
  • authkeys: arquivo contendo a autenticação dos nós do nosso cluster de alta disponibilidade
  • ha.cf: Configurações globais do heartbeat como tempo de dead, warning, arquivos de logs, etc.

Antes de prosseguirmos, precisamos definir quais os nomes dos nossos master e slave.

  • master: srvfw01
  • slave: srvfw02

Depois configurar a resolução de nomes no arquivo /etc/hosts

192.168.0.1       srvfw01

192.168.0.2      srvfw02

Depois de instalado o heartbeat vamos configurar o a interface eth1 mesma interface da rede interna para o heartbeat segue abaixo arquivo de configuração.

ha.cf

#Arquivo de debug
debugfile /var/log/ha-debug
# Arquivo de log
logfile /var/log/ha-log
logfacility     local0
# frequência em segundos de checagem do master
keepalive 2
# Tempo mínimo em segundos para declarar o master morto ou inativo
deadtime 30
# quanto tempo o heartbeat deve esperar por bits atrasados
warntime 10
# tempo maximo para declarar o master morto ou inativo
initdead 120
# porta de comunicação para o heartbeat
udpport 694
# interface que será utilizada para comunicação do heartbeat utilizando endereço multicast
mcast eth0 239.0.0.43 694 1 0
# qual interface ou interfaces serão utilizadas para a comunicação do heartbeat
bcast eth0
# definindo se o servico deve voltar para o master caso ele volte a responder o heartbeat
auto_failback on
# nós ou hosts que irão compor o cluster
node srvfw01
node srvfw02

authkeys

auth 1
1 crc

Esse arquivo é o arquivo que faz a autenticação dos nós ou hosts que compõem o cluster. Existem outros métodos além do crc, tais como sha1, md5, o qual você pode-se utilizar uma senha.

Vou deixar para explicar o arquivo haresources depois que mexermos no drbd para o melhor entendimento.

A tecnologia DRBD trabalha com dispositivo em rede tipo uma partição de um disco, etc. Vejamos a figura abaixo retirado do site drbd mostra bem esse conceito.

Então a idéia e criar um dispositivo tal como o dispositivo /dev/drbd0 em comum entre os dois hosts que fazem parte do cluster de alta disponibilidade e associar ele a um disco fisico em cada host, tipo /dev/sdb como no nosso laboratorio que iremos fazer. Precisamos associar o dispositivo /dev/drbd0 com o /dev/sdb1 por exemplo, teremos que fazer isso em ambos os hosts.Obs: Precisamos ter uma partição EXCLUSIVA para isso.

Então para a instalação do drbd, proceda como na instalação do heartbeat, procure no repositorio de pacotes da tua distro ou compile 🙂

Depois de instalado o drbd normalmente já carrega o módulo do kernel drbd, mas se precisar utilize o comando modprobe(modprobe drbd). O arquivo de configuração do drbd é /etc/drbd.conf. Segue abaixo o arquivo que utilizei.
Não vou comentar todos os parametros do arquivo de configuração, por ser extenso e caso precise de algo mais especifico as páginas man são suas confidentes 🙂 Alguns paramêtros que o drbd utiliza para subir são obrigatorios, tais como:

  • global:
  • common:
  • resource:

Iremos configurar apenas o recurso ou resource:

drbd.conf

resource srvfw {
     protocol C;
     disk {
          on-io-error detach;
     }
     net {
          timeout 60;
          connect-int 10;
          ping-int 10;
     }
    syncer {
          rate 100M;
    }
    on srvfw01 {
          device /dev/drbd0;
          disk /dev/sdb1;
          address 192.168.0.1:7788;
          meta-disk internal;
    }
    on srvfw02 {
          device /dev/drbd0;
          disk /dev/sdb1;
          address 192.168.0.2:7788;
          meta-disk internal;
    }
}

 

Explicando alguns paramêtros mais importantes.

  • device: Dispositivo virtual o que será utilizado nos dois hosts.
  • disk: disco físico que será mapeado pelo dispositivo virtual.
  • address: Endereço IP e porta do host.
  • meta-disk: onde será colocado o meta-disk do drbd, meta-data são informações de replicação.

Não coloquei as configurações de global e common utilizei o padrão do ubuntu que veio auto-configurado no pacote.

include “drbd.d/global_common.conf”;

Vamos colocar o drbd para funcionar, primeiro vamos definir um diretório em comum em ambos hosts, escolhi o diretório /srvfw

host srvfw01 e srvfw02

mkdir /srvfw

Particione o disco /dev/sdb para /dev/sdb1.

zerar a partição com o comando:

dd if=/dev/zero of=/dev/sdb1 bs=1M count=128

Depois iremos criar o dispositivo drbd

drbdadm create-md recurso

ou seja, para nosso exemplo rodar o comando nos dois hosts

drbdadm create-md srvfw

Atachar o disco nos dois hosts

drbdadm attach srvfw

sincronizar

drbdadm syncer srvfw

Iniciar a replicação apenas no master, ou srvfw01

drbdadm — –overwrite-data-of-peer primary srvfw

Reinicie o serviço drbd nos dois hosts

/etc/init.d/drbd restart

Verifique se a sincronização ocorreu

root@srvfw01:~# cat /proc/drbd
version: 8.3.11 (api:88/proto:86-96)
srcversion: 71955441799F513ACA6DA60
0: cs:Connected ro:Secondary/Secondary ds:UpToDate/UpToDate C r—–
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
root@srvfw01:~# 15:48:26

Definindo quem é primario e secundario

srvfw01

drbdadm primary all

srvfw02

drbdadm secondary all

Agora vamos formatar o dispositivo /dev/drbd0 com o sistema de arquivo de sua preferência. Primeiro execute no master como ele sendo o drbd primario, depois promova o master como secundario no drbd e formate o dispositivo /dev/drbd0 no slave.

mkfs.reiserfs /dev/drbd0

Depois de formatado o dispositivo nos dois hosts podemos monta-ló e testa-ló. Neste ponto reinicie o serviço drbd0. obs: Estou montando depois de formatar o dispositivo /dev/drbd0 nos dois hosts e estou no master(srvfw01)

mount -t reiserfs /dev/drbd0 /srvfw

Crie um arquivo para teste

touch /srvfw/arquivo.txt

Agora desmonte o /srvfw e promova o master(srvfw01) à secundario no drbd e o slave(srvfw02) à primario.

srvfw01

drbdadm secondary all

srvfw02

drbdadm primary all

Monte novamente o /dev/drbd0 mas agora no slave(srvfw02)

mount -t reiserfs /dev/drbd0 /srvfw

Liste o conteudo do ponto de montagem e veja que o arquivo criado “arquivo.txt” estará lá. Estamos com o drbd funcionando e replicando. A idéia aqui e colocar as configurações do iptables e squid dentro do diretório ou ponto de montagem /srvfw.

Editar o arquivo /etc/fstab para montagem automática.

/dev/drbd0 /srvfw reiserfs noauto 0 0

Agora vamos configurar o ultimo item o arquivo haresources.

haresources

srvfw01 IPaddr::192.168.0.10/24/eth0/192.168.0.255 drbddisk::srvfw Filesystem::/dev/drbd0::/srvfw::reiserfs
srvfw01 IPaddr::172.31.1.151/24/eth1/172.31.1.255 gateway::172.31.1.150 iptables squid

Vamos lá este útimo item e minucioso e cheio de detalhes e esses detalhes são essenciais para o entendimento. Para o start do serviço no slave ou no master é necessário existir um script que inicie o serviço em questão o heartbeat já vem com um conjunto default de script de inicialização de serviços que ficam em /etc/ha.d/resource.d. Cada script dentro deste diretório inicializa e interrompe serviços. Não temos script para inicialização do iptables e nem para o squid então vamos criar um shellscript simples para fazer isso. Vamos entendendo linha a linha.

  • srvfw01: Nome do host que é definido como master
  • IPaddr::192.168.0.10/24/eth0/192.168.0.255: Aqui ele vai chamar o script que inicializa um serviço. O script IPaddr vai configurar um endereço IP 192.168.1.10 com mascara de rede /24 na interface eth0 com endereço de broadcast 192.168.0.255.
  • drbddisk::srvfw: Este script vai iniciar o recurso drbd(aquele mesmo recurso configurado no /etc/drbd.conf) host em questão como primario do drbd
  • Filesystem::/dev/drbd0::/srvfw::reiserfs: Script para fazer a montagem do dispositivo /dev/drbd0 no ponto de montagem /srvfw utilizando sistema de arquivo reiserfs. Simples não

Repare que eu passo paramêtros para o script atráves da sintaxe “::”, ou seja, por exemplo o comando ou shellscript “Filesystem” se fosse executar na linha de comando seria o mesmo que

./Filesystem /dev/drdb0 /srvfw reiserfs start

Simples não. Um detalhe que se você procurar no diretório /etc/ha.d/resource.d você encontra-rá o script Filesystem la dentro.

Próxima linha, na linha acima configuramos o endereço IP virtual da interface LAN e montamos a partição drbd e agora iremos explicar a linha que inicializa o endereço ip virtual da interface WAN

  • srvfw01: Nome do host que é definido como master
  • IPaddr::172.31.1.151/24/eth1/172.31.1.255: Aqui ele vai chamar o script que inicializa um serviço. O script IPaddr vai configurar um endereço IP 172.31.1.151 com mascara de rede /24 na interface eth1 com endereço de broadcast 172.31.1.255.
  • gateway::172.31.1.150:  Script que configura o gateway default.
  • iptables: script que carrega as regras de firewall
  • squid: script que inicializa o squid

O script “iptables” e “squid”, foram criado pela minha pessoa os scripts que eu criei ficaram um pouco complexo. Então nesse post vou diminuir a complexidade deixado eles bem simples para ficar didático

script iptables

#!/bin/bash

IPT=$(which iptables)

usage() {
echo “Uso: $0 {start|stop}”
exit 1
}

case $1 in
start)
/srvfw/config/iptables/firewall
;;
stop)
$IPT -t filter -F
$IPT -t nat -F
$IPT -t mangle -F

$IPT -t filter -X
$IPT -t nat -X
$IPT -t mangle -X

$IPT -t filter -P INPUT ACCEPT
$IPT -t filter -P FORWARD ACCEPT
$IPT -t filter -P OUTPUT ACCEPT
;;
*)    usage
;;
esac

Este script inicializa ou interrompe um firewall a sintaxe para iniciar e interromper seguem abaixo respectivamente.

./iptables start
./iptables stop

No script do squid como estamos utilizando o ubuntu, sendo assim resolvi somente alterar a varíavel que indica o arquivo de configuração do script que inicia e interrompe o squid nativo no caso do ubuntu ele utiliza o sistema de inicialização upstart. Então somente alterar a variavel “CONFIG” no arquivo /etc/init/squid3.conf, para /srvfw/config/squid/squid.conf, depois podemos utilizar o script de inicialização nativo do ubuntu.

#!/bin/bash
#
#
case $1 in
start)
/etc/init.d/squid3 start
;;
stop)
/etc/init.d/squid3 stop
;;
*)    usage
;;
esac

Facil né. Bom depois e somente testar, simular quedas no master e ver o slave assumindo qualquer dúvida mailme.

Att.

Categories: Uncategorized

Firefox me bloqueando???

November 14, 2012 Leave a comment

Ola pessoal, esses dias estava configurando o varnish acelerador web e coloquei ele para funcionar na porta 79, uma antes da 80 :P. Ao terminar de configurar fui testar o acesso e olha o que o firefox me disse.

Sim senhores o firefox tem uma proteção por porta, mas fique tranquilo e fácil resolver isso, vamos lá:

Acesse o “painel de configuração” do firefox.

  • Abrir uma nova aba e digitar about:config
  • Uma mensagem será exibida, clique em “Serei cuidadoso, eu prometo!”
  • Clique com o botão direito em qualquer área dentro das configurações exibidas.
  • No menu de contexto aberto selecione Nova preferência > String.
  • Digite: network.security.ports.banned.override e clique em OK
  • Ele solicitara o valor, digite o número da porta que esta tentando acessar e depois tente o acesso.

t+

pisando no freio do kernel

November 7, 2012 1 comment

Ola pessoal, nessa semana recebi a tarefa, de instalar um servidor bacula em um servidor HP ML330. Instalei o ubuntu normalmente, mas na hora de inicializar surgia o seguinte erro.

Starting up…
Loading, please wait…
Gave up waiting for root device. Common problems:
-Boot args (cat /proc/cmdline)
-Check root delay = (did the system wait long enough?)
-Check root=(did the system wait for the right device?)
-Missing modules (cat /proc/modules; ls /dev)

ALERT! /dev/disk/by-uuid/aa10r6jd-2r58-75dy-j7op-3gh56kl98nb does not exist. Dropping to a shell!

BusyBox v1.13.3 (Ubuntu 1:1.13.3-1ubuntu11) built-in shell (ash)
Enter ‘help’ for a list of built-in commands.

(initramfs)

Após isso não inicializava o kernel e ficava no prompt, quando entrei no prompt do busybox(para quem não sabe busybox, é o conjunto de utilitários do linux customizados em que o objetivo é ser pequeno, para ser executados em dispositivos embarcados como celular, flash, etc), e listei o diretório /dev/, ele exibia os device da controladora. O hardware era uma controladora SCSI Compaq. Após analisar desconfiei que poderia o kernel estar sendo muito mais rápido que a controladora, então pesquisando encontrei o parametro “rootdelay” que retarda a inicialização. Então na inicialização do grub apertei a tecla “e”, e editei o grub em tempo de execução, e adicionei a seguinte linha no kernel

linux /boot/vmlinuz-3.2.0-23-generic root=UUID=4cb78f3e-a217-4b05-883c-443fc67ca52f ro rootdelay=140 vga=normal

Apos iniciar o kernel e aparecer o prompt de login, faça o login normalmente e edit o arquivo /etc/default/grub e adicione os parametros.

GRUB_CMDLINE_LINUX_DEFAULT=”rootdelay=60 vga=normal “

Depois execute:

sudo update-grub

Com isso o kernel retarda a inicialização e a controladora SCSI fica pronta e entrega os devices para o kernel.

🙂

o poder das 2 patas do pinguins

September 17, 2012 5 comments

Não sei se tem alguém que lé estes posts eu coloco mais para não esquecer porque eu tenho uma memória volátil 🙂 . Mas a primeira coisa que me veio a cabeça quando comecei a escrever este post o personagem de mortal kombat goro.

goro

Porque goro? pelos 2 braços a mais, e mais ou menos isso que teremos com a criação de um etherchannel iremos aumentar os braços do nosso servidor 😀

Enfim vamos ao que interessa o que eu quero falar e sobre etherchannel, bonding(não e bonde do tigrão), team(em windows), trata-se de uma tecnologia que visa unir 2 interfaces de rede ou mais para trabalhar de forma unica, veja a nossa topologia abaixo.

Temos um servidor com 2 placas de redes conectadas em um switch e estes 2 canais de comunicação irão trabalhar como 1 só. Claro necessitamos de duas configurações no servidor e no switch. Antes de partimos para a configuração vamos entender o etherchannel.

EtherChannel é uma tecnologia de agregação de link usada inicialmente em switches Cisco. Ele permite o agrupamento de várias interfaces de redes Ethernet para criar um link Ethernet lógico com a finalidade de fornecer links de tolerância a falhas e de alta velocidade entre switches, roteadores e servidores. Um EtherChannel pode ser criado entre dois a oito interfaces fastethernet, Gigabit ou portas 10-Gigabit Ethernet, com um adicional de oito portas inativas (failover) que se tornam ativas quando as portas ativos falharem.

O EtherChannel foi criado por Kalpana no início de 1990. Foi mais tarde adquirida pela Cisco Systems em 1994. Em 2000, o IEEE criou o padrão 802.3ad que passou a ser a versão de padrão aberto da tecnologia EtherChannel.

Com etherchannel e possivel ter o máximo de 8 portas ativas com os totais de 800 Mbit/s, 8 Gbit/s ou 80 Gbit/s dependendo da tecnoligia da interface. Diz a lenda que é possível utilizar tecnologia de interfaces com par trançado, fibra multimodo, etc.
Quando um EtherChannel é configurado em todas as interfaces que fazem parte do canal compartilham a mesma camada 2 ou mesmo endereço de camada 2(MAC).

Etherchannels também pode ser configurada em portas trunks VLAN. Se um EtherChannel é configurado como um trunk de VLAN, o EtherChannel inteiro vai agir como um trunk de VLAN. Cisco ISL, VTP e IEEE 802.1Q são compatíveis com EtherChannel.

A limitação do EtherChannel é que todas as interfaces no grupo de agregação deve residir no mesmo switch exceto em caso de pilha de switch.

Vamos por a mão na massa, iremos utilizar um linux RedHat com 2 interfaces de rede e 1 switch Cisco 3750 layer 3 mas nosso etherChannel será layer 2.

No linux o suporte a EtherChannel e obtida pelo módulo do kernel bonding. O comportamento da interface bond o qual é o agrupamento logico depende do modo de operação configurado. Os valores para o modo de operação são:

 

  • balance-rr or 0

Round-robin: Transmite os pacotes numa ordem sequencial a partir do primeiro disponivel passando pelas interfaces disponiveis 1 a 1. balanceamento circular.

  • active-backup or 1

Active-backup: Somente uma porta no bond está ativo. O slave se torna ativo Se, e somente Se, a porta ativa falhar.

  • balance-xor or 2

XOR: Transmitir com base na política de transmissão selecionadas de hash ou pelo uso do algoritmo xor.

  • broadcast or 3

Broadcast: transmite tudo em todas as interfaces disponiveis. Este modo fornece tolerância a falhas.

  • 802.3ad or 4

IEEE 802.3ad Dynamic link aggregation. Cria grupos de agregação que compartilham a mesma velocidade e configurações. Utiliza todos as portas de acordo com a especificação 802.3ad.

  • balance-tlb or 5

Adaptive transmit load balancing: O bonding de canais não requer nenhum especial suporte no switch. A saida de trafego e distribuida de acordo com a carga(computada baseado na velocidade da interface) em cada membro. A entrada de trafego é recebida pela porta tida como master.

  • balance-alb or 6

Adaptive load balancing: Inclui o algoritmo balance-tlb plus recebe load balancing (rlb) trafego IPV4 traffic, e não requer suporte adicional no switch.

O módulo bonding foi escrito por Donald Becker’s.

As configurações de interfaces de rede

ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
ETHTOOL_OPTS=”speed 1000 duplex full autoneg off”

ifcfg-eth1

DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
ETHTOOL_OPTS=”speed 1000 duplex full autoneg off”

ifcfg-bond0

DEVICE=bond0
IPADDR=172.16.2.41
NETMASK=255.255.255.0
GATEWAY=172.16.2.1
BOOTPROTO=static
ONBOOT=yes

bondind.conf

alias bond0 bonding
options bond0 mode=4 miimon=5 arp_interval=5

Outra dica importante é a diferença entre etherchannel layer 3 e layer 2. Se você cria uma definição port-channel primeiro ele é layer 3 e você pode atribuir um endereço ip. Se você adicionar a sintaxe “channel-group” antes na configuração de interface ele é layer 2 e é usada para trunks entres switches.

A configuração do switch no nosso caso ficou nas portas GigabitEthernet 1/0/1 e 1/0/2

interface GigaEthernet1/0/1
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 1 mode active

interface GigaEthernet1/0/2
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 1 mode active

As partes que dizem que é etherChannel são os comandos “channel-group” que aceitam também configuração de modo de operação:

Modo “active”: Força a negociação. O EtherChannel será formado se a outra extremidade está em execução no LACP ativo ou modo passivo.
Modo “passive”: O EtherChannel ocorre se a negociação obtiver successo.

Existem outros modos que envolvem PAgP(Port Aggregation Protocol) o qual é encontrado em equipamentos Ciscos

Depois de configurado você pode verificar se deu certo através dos comandos

cat /proc/net/bonding/bond0

Bom qualquer dúvida ou se falei bobeira me corrijam. Att.

Categories: Uncategorized

Meu IOS morreu

September 17, 2012 2 comments

Bom estou arrumando tempo para postar estou evoluindo. Neste post vou colocar um problema que tive nesses últimos dias atualizar ou recuperar um switch com IOS corrompida. O switch um 2960 não inicia e gera os seguintes erros:

Error loading “flash:c2950-i6q4l2-mz.121-12c.EA1.bin”

Error loading “flash:c2950-i6q4l2-mz.121-12c.EA1.bin”
Interrupt within 5 seconds to abort boot process.
Loading “flash:/c2950-i6q4l2-mz.121-13.EA1.bin”…######
########################################################
Error loading “flash:c2950-i6q4l2-mz.121-12c.EA1.bin”
Interrupt within 5 seconds to abort boot process.
Boot process failed…

Esse procedimento de recover em roteadores e firewalls da cisco e bem simples, utiliza-se o modo rommon, mas em switch é um parto, teoricamente.
Vamos la o procedimento e simples iremos utilizar um cliente que utilize o protocolo xmodem além de cabo serial na console do switch. Para cliente xmodem vamos utilizar o securert. Provavelmente você irá cair num prompt “switch:” ou se quiser entrar no modo “recover” desligue o switch e religue ele pressionando o botão “mode”, após 3 segundos solte ele entrará nesse modo. Ele exibira algumas informações

The system has been interrupted prior to initializing the
flash filesystem. The following commands will initialize
the flash filesystem, and finish loading the operating
system software:
flash_init
load_helper
boot
switch:

Pronto, agora e necessário executar os comandos “flash_init” para inicializar a flash e load_helper para carregar o imagens auxiliares, mas em alguns modelos de switch somente o “flash_init” já é suficiente. Com a flash inicializada e possivel verificar o conteúdo da mesma.

Se a flash estiver inicializada você verá algo como:

switch: flash_init
Initializing Flash…
…The flash is already initialized.
switch:

Se a flash não estiver inicializada, você verá isso:

switch: flash_init
Initializing Flash…
flashfs[0]: 21 files, 2 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 7741440
flashfs[0]: Bytes used: 4499456
flashfs[0]: Bytes available: 3241984
flashfs[0]: flashfs fsck took 7 seconds.
…done initializing flash.
Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4

Execute o comando load_helper para carregar todas as imagens auxiliares de inicialização:

switch: load_helper
switch:

Execute o comando “dir flash:” para visualizar o conteúdo da flash.

Visualize se existe alguma imagem IOS ou diretórios de imagem. A imagem do IOS são arquivos bin, e ou diretórios de imagem, que são nomeados com o nome do arquivo da imagem, excluindo a extensão. Bin. Se não existir nenhuma imagem IOS ou diretórios, a saída do comando “dir flash:”, será parecida com a saída abaixo, caso contrário existira a imagem IOS corrompida, se você estiver com uma imagem corrompida será necessário excluíla e copiar a imagem nova utilize o comando “delete”, por exemplo “switch: delete flash:c2950-i6q4l2-mz.121-12c.EA1.bin” uma dica, SEMPRE, tudo que você for fazer utilize o caminho completo, esse modo não e o mesmo modo dos switches e roteadores que entendem ou completam comandos.

switch: dir flash:
Directory of flash:/
2 -rwx 5 private-config.text
3 -rwx 110 info
4 -rwx 976 vlan.dat
6 -rwx 286 env_vars
26 -rwx 1592 config.text
8 drwx 1088 html
19 -rwx 110 info.ver
4393472 bytes available (3347968 bytes used)
switch:

Para atualizar o switch ou recuperar utilize o comando “copy” outra dica esse procedimento, NÃO FUNCIONA TFTP. eu quebrei a cabeça tentando fazer ftp, mas não vai somente via xmodem ou seja a copia do IOS será via serial.
Como a serial costuma ser lento, vamos aumentar os bauds para ser mais rapido senão essa transferência vai levar umas 8horas

switch: set BAUD 115200

Agora e somente copiar, lembrando caminho completo

copy xmodem: flash:c3750-ipservicesk9-mz.122-55.SE1.bin

Você deve ver uma mensagem como abaixo:

Begin the Xmodem or Xmodem-1K transfer now…
CCC

Nesse instante você precisa informar o arquivo e enviar e extranho, mas se estiver utilizando o SecureRt vá no menu “transfer” e click em “sen xmodem”, e deixe transferir. Quando terminar somente executar “boot flash:c3750-ipservicesk9-mz.122-55.SE1.bin” e pronto switch recuperado. ufa. Não esqueçam de executar “unset BAUD” para voltar a velocidade padrão.

Categories: Uncategorized

Medidas e conversoes :D

Colocar no meu blog algo anormal, uma tabela com valores de medidas de massa, área, volume, temperatura. Apenas disseminando o conhecimento.

Massa
1 Quilograma(Kg) 1000 g
1 Tonelada(T) 1000 Kg
1 Quilate 0.205 g
1 Onça(oz) 28,352 g
1 Libra (lb) 16 oz
1 Libra (lb) 453,6g
1 arroba 32,38 lb
1 arroba 14,687 Kg
Medidas
1 metro 100 cm
1 quilometro (Km) 1000 m
1 polegada 2,54 cm
1 pé 30,48 cm
1 jarda 0,914 m
1 milha 1,6093 Km
1 milha maritima 1,853 Km
1 braça 2,2 m
1 légua 6,6 Km
Área
1 m² 10000 cm²
1 cm² 100mm²
1 Are(A) 100m²
1 hectare(HA) 100A
1 hectare(HA) 10000 m²
1 acre 4064 m²
1 alqueire paulista 24200 m²
1 alqueire paulista 2,42 (ha)
1 alqueire mineiro 48400 m²
Volume
1 m³ 1000000 cm³
1 cm³ 1000 mm³
1 litro(L) 1 dm³
1 litro(L) 1000 cm³
1 hectolitro(HL) 100L
1 cm³(H²O) 1 g
1 galao americano 3,785 L
1 galao imperial 4,55L

Temperatura
Celsius Para converter fahrenheit em celsius: subtrair 32 do valor em fahrenheit,multiplicar por 5 e dividir o resultado obtido por 9

Fahrenheit Para converter celsius em fahrenheit: multiplicar por 9 o valor em celsius, dividir o resultado obtido por 5 e acrescentar 32

Att. 😀

Categories: Uncategorized