Páginas

quinta-feira, 30 de dezembro de 2010

FreeBSD: Cópia de arquivos

Monta o disco/cache novo no /mnt

depois:

cd /mnt
dump 0af - /usr/local/thunder/cache | restore -rf

FreeBSD: Atualizar Sistema

Atualizar 8.0 para 8.1

# csup -g -L2 -h cvsup2.freebsd.org /usr/share/examples/etc/stable-supfile

#Make buildkernel
#Make buildworld
#Make kernel
#Make installworld
#Mergemaster -a

segunda-feira, 20 de dezembro de 2010

IP valido no cliente

router-link
lan: 187.86.21.233 netmask 255.255.255.252
rota: ip route 187.86.21.236/30 187.86.21.234

rb450g:
wan (conectada no router): 187.86.21.234 mascara 255.255.255.252 gw 187.86.21.233
lan (para o cliente): 187.86.21.237 mascara 255.255.255.252

la no cliente: 187.86.21.238 mascara 255.255.255.252 gw 187.86.21.237

terça-feira, 7 de dezembro de 2010

CentOS: Instalar repositorio EPEL

EPEL (Extra Packages for Enterprise Linux) é um projeto de esforço voluntário da comunidade Fedora com o intuito de disponibilizar pacotes que complementem distros derivadas à base do Red Hat Enterprise Linux (RHEL). Sua estrutura é semelhante aos outros repositório extras como o rpmforge, por exemplo. Para instalar este repositório em sua máquina, siga os passos.

Faça o download do pacote de instalação RPM e instale.

32 bits:

wget -c http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
rpm -ivh epel-release-5-3.noarch.rpm
rm -f epel-release-5-3.noarch.rpm
64 bits:

wget -c http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm
rpm -ivh epel-release-5-3.noarch.rpm
rm -f epel-release-5-3.noarch.rpm
Para verificar os repositórios instalados:

yum repolist
Deverá aparecer algo como:

repo id repo name status
addons CentOS-5 - Addons enabled : 0
base CentOS-5 - Base enabled : 3272
epel Extra Packages for Enterprise Linux 5 - enabled : 4970
extras CentOS-5 - Extras enabled : 266
updates CentOS-5 - Updates enabled : 212
repolist: 8720
Site do projeto: http://fedoraproject.org/wiki/EPEL

Update: Saiu uma nova versão do pacote epel, disponível para ambas as arquiteturas. Segue o link:

wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm
rpm -ivh epel-release-5-3.noarch.rpm
rm -f epel-release-5-3.noarch.rpm

segunda-feira, 6 de dezembro de 2010

CentOS: Atualizar chave GPG

rpm --import

Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) " from http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

domingo, 5 de dezembro de 2010

Dividir e Juntar arquivos tar.gz

Primeiro, nós precisamos compactar o arquivo com o comando:
tar -cvvzf .tar.gz /caminho/da/pasta
O comando anterior compacta os arquivos da pasta para um arquivo *.tar.gz. Também podemos compactar um único arquivo ao invés de uma pasta inteira. Agora precisamos dividir o arquivo compactado em partes menores:
split -b 1M -d .tar.gz nome-de-prefixo
-b 1M irá dividir o arquivo em partes de 1 Megabyte de tamanho. O nome-de-prefixo será o nome dado a todas as partes do arquivo dividido.
Exemplo:
Tenho aqui uma imagem de uma VirtualMachine que possui cerca de 1.8GB e quero dividi-la em partes menores para sincronizar numa pasta que está sincronizada em um serviço de Cloud Computing.

Vamos compactar o arquivo:
tar -cvvzf imagem.tar.gz imagem.vdi
Após isso, precisamos dividir em partes menores:
split -b 500MB -d imagem.tar.gz img
Quando compactamos criamos um arquivo com o nome imagem.tar.gz com 709M. Após dividi-lo em partes menores foram criados 2 arquivos de 477M e 232M, respectivamente.

Agora, para juntar os arquivos:
cat img* > imagem.tar.gz
E finalmente descompacta-los:
tar -zxvf imagem.tar.gz

segunda-feira, 1 de novembro de 2010

Mikrotik: Hardware Suportado

Lista do hardware suportado.
http://wiki.mikrotik.com/wiki/Supported_Hardware

segunda-feira, 18 de outubro de 2010

Posição DNS

vai um exemplo pratico pra vc entender

suponhamos que vc tenha um bloco de ips /24 uma classe C inteira.

por exemplo.
200.200.200.0/24

pra facilitar o entendimento, vamos subnetar esse bloco em duas subredes

200.200.200.0/25
rede -a 200.200.200.0-127/25
rede -b 200.200.200.128-255/25

ambiente

firewall com 3 interfaces..

Lan Wan e DMZ

interface wan - 200.200.200.2 gw 200.200.200.1

interface DMZ 200.200.200.129 servidores 200.200.200.130-254

lan - 192.168.0.0/24 por exemplo..

sendo assim, vc fica com ips válidos na Wan e na DMZ, roteados pelo firewall
que possui uma interface em cada um. devido a isso vc consegue tratar as
requisições para e da DMZ pelo firewall, criando seus filtros.

quarta-feira, 13 de outubro de 2010

FreeBSD: DMZ NAT

Marcelo Gondim

Olá lista,

Encontro-me com a seguinte dúvida:

Fiz uma configuração assim:


rede interna ----- firewall freebsd ----- Internet
re2 |re1 re0
|
|
servidor Apache

Nessa rede de servidores coloquei um servidor Apache rodando com uma página.
O Servidor Apache tem o IP 192.168.10.3 e para o mundo sai com 187.x.x.182.
De
fora, da Internet, acesso a página normalmente, mas da rede interna não
acesso, porque quando resolve o nome o sistema devolve 187.x.x.182 e aí
cai no Firewall. Quando vem de fora funciona por causa do NAT mas de dentro
não. Meu rc.ipfw com relação ao NAT está assim:

ipfw add divert 8668 all from any to any out via re0
ipfw add divert 8668 all from any to me in recv re0

E abaixo o meu natd.conf:

interface re0
dynamic no
same_ports yes
use_sockets yes
unregistered_only yes

redirect_address 192.168.10.2 187.x.x.179
redirect_address 192.168.10.3 187.x.x.182
redirect_address 192.168.10.4 187.x.x.181

Que regra ou que configuração eu poderia fazer para que quando tentasse
acessar da rede interna o IP 187.x.x.182 eu caísse na máquina 192.168.10.3?

Tentei até com ipfw add fwd mas não funcionou como eu esperava. :)

[]´s


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

Já pensou em usar o bind com views?

na view interna, os clientes resolverão www.dominio.com.br com o IP 192.168.0.3
na view exterma, os clientes resolverão com o IP 187.x.y.182


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


Opa Rodrigo,

Poderia ser uma solução mesmo. :) boa dica. Tentando me virar aqui consegui
resolver mas não sei se teria uma outra maneira mais simples. Fiz o seguinte
que funcionou show de bola: :D

no rc.ipfw ficou:

# DMZ
$fw table 1 add 192.168.10.2
$fw table 1 add 192.168.10.3
$fw table 1 add 192.168.10.4

# DMZ_PUBLIC
$fw table 2 add 187.x.x.179
$fw table 2 add 187.x.x.181
$fw table 2 add 187.x.x.182

$fw add divert 8668 all from any to any out via $ife
$fw add divert 8668 all from any to me in recv $ife

$fw add divert 8669 all from any to "table(2)" in via $ifi
$fw add divert 8669 all from "table(1)" to any out via $ifi

e no natd.conf:

instance default
interface re0
dynamic no
same_ports yes
use_sockets yes
unregistered_only yes

redirect_address 192.168.10.2 187.9.216.179
redirect_address 192.168.10.3 187.9.216.182
redirect_address 192.168.10.4 187.9.216.181

instance servidores
interface re2
dynamic no
same_ports yes
use_sockets yes

redirect_address 192.168.10.2 187.9.216.179
redirect_address 192.168.10.3 187.9.216.182
redirect_address 192.168.10.4 187.9.216.181
port 8669

Se alguém tiver a mesma dúvida fica aqui pelo menos alguma solução :)

[]´s

quarta-feira, 29 de setembro de 2010

PuTTy: Acentuação

Mudar o formato do putty para UTF-8


PuTTy > Window > Translation > UTF8

http://www.chiark.greenend.org.uk/~sgtatham/putty/faq.html#faq-rh8-utf8
http://www.mandrivabrasil.org/site/forum/index.php?topic=1191.0
http://www.vivaolinux.com.br/topico/Perguntas-Frequentes/Ajustando-a-acentuacao-apos-copiar-um-HD

quinta-feira, 23 de setembro de 2010

FreeBSD: Dicas

Partição cheia
du -s /usr/* | sort -n

CentOS: Arquivo named.conf

Para adicionar os arquivos do named instale o pacote de arquivos caching-nameserver

ex: yum install caching-nameserver

quarta-feira, 15 de setembro de 2010

mIRC

alt+b -> highlight
add -> $me

FreeBSD: STABLE

Crie o arquivo

# ee bsd_stable

Ele deve conter as seguintes linhas:

*default host=cvsup5.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_7
*default delete use-rel-suffix
*default compress
src-all

Download e instalação do "csup":

Como root digite os seguintes comandos:

# cd /usr/ports/net/csup
# make install clean
# rehash

Agora executaremos o arquivo criado:

# csup -g -L 2 bsd_stable

Execute os seguintes comandos:

# cd /usr/src/
# make -j4 buildworld
# make buildkernel KERNCONF=GENERIC
# make installkernel KERNCONF=GENERIC
# mergemaster -p
# make .tmpdir=/var/tmp installworld
# mergemaster -Pi
# reboot

Thundercache - estimativa

estimativa de 6:1. Então pra 50 clientes, 600 threads. Mas o correto é dimensionar conforme a P-1 da FAQ em www.thundercache.com.br

sexta-feira, 10 de setembro de 2010

FreeBSD: Script ALTQ provedor

/root/pf.conf

# Options: tune the behavior of pf, default values are given.
set timeout { interval 10, frag 30 }
set timeout { tcp.first 90, tcp.opening 30, tcp.established 86400 }
set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 }
set timeout { udp.first 60, udp.single 30, udp.multiple 60 }
set timeout { icmp.first 60, icmp.error 30 }
set timeout { other.first 60, other.single 30, other.multiple 60 }
set timeout { adaptive.start 0, adaptive.end 0 }
set limit { states 10000, frags 5000 }
set loginterface vr0
set optimization aggressive
set block-policy drop
set require-order yes
set fingerprints "/etc/pf.os"
set skip on lo0

# Scrub para todas as interfaces para pacotes fragmentos perdidos
scrub in all
scrub out all

#Queue Controle de Banda
altq on rl0 bandwidth 1Gb cbq queue { \
defaultrl0, 002u, 002d, proxy }

#Cliente Mané
queue A002d on rl0 bandwidth 256Kb cbq (red)
queue A002u on rl0 bandwidth 256Kb cbq (red)

#Queues do Sistema
queue defaultrl0 on rl0 bandwidth 64Kb cbq (default)
queue proxy on rl0 bandwidth 512Kb cbq (red)

#Cliente Mané
pass out quick on rl0 inet from any to 192.168.10.2 tos 0x60 queue proxy
pass in quick on rl0 inet from 192.168.10.2 to any label A002u queue A002u
pass out quick on rl0 inet from any to 192.168.10.2 label A002d queue A002d

Nat eu faço no ipfw pois os pacotes do natd nao podem criar um estado de
conexao
para que eu possa aplicar a diferença de controle e banda do proxy
Se eu tiver fazendo algo de errado e alguém puder me ajudar eu agradeço
muito mesmo

Muito Obrigado pessoal

VTUND

options {
port 51003;
timeout 60;
ppp /usr/sbin/pppd;
ifconfig /sbin/ifconfig;
route /sbin/route;
firewall /sbin/ipfw;
}
default {
compress lzo:9;
persist yes;
speed 0;
}
cga {
passwd senha;
type tun;
device tun18;
proto tcp;
compress lzo:9;
encrypt yes;
keep-alive yes;

up {
ifconfig "%% 10.100.245.1 10.100.245.2 netmask 255.255.255.252";
route "add -net 10.100.112.0/24 -netmask 255.255.255.0
10.100.245.2";
};

down {
route "delete -net 10.142.100.0/24";
ifconfig "%% down";
};
}

quarta-feira, 1 de setembro de 2010

FreeBSD: DNS Cache

Criando um cache DNS com DJBDNS (FreeBSD)
Publicado em 7/11/2007 na(s) categoria(s) Sorteio Mochila Targus e Todos os Posts. 0 Comentários
Esta contribuição está participando do sorteio da Mochila Targus Matrix. Envie seu texto e participe você também, você contribui com outros usuários e ainda pode faturar uma mochila novinha em folha para o seu laptop. Saiba mais sobre como participar.

Sobre o Autor:

Rafael Bernardes

Fazendo um cache de DNS localmente, sua conexão com a internet fica muito mais rápida! Configurando o FreeBSD para fazer o “trabalho sujo”:

Instalando o DJBDNS via ports:

su-2.05b# whereis djbdns
djbdns: /usr/ports/dns/djbdns
su-2.05b# cd /usr/ports/dns/djbdns && make install clean


Pressione OK para prosseguir.

Configuração:
Estes comandos vão adicionar o grupo nofiles, e os users dnslog and dnscache.

# pw groupadd nofiles -g 800
# pw useradd dnslog -g nofiles -u 810 -d /nonexistent -s /sbin/nologin
# pw useradd dnscache -g nofiles -u 811 -d /nonexistent -s /sbin/nologin

Estes comandos fazem com que ip 127.0.0.1 seja um cache de DNS “apenas” para este computador.

# dnscache-conf dnscache dnslog /etc/dnscache 127.0.0.1
# ln -s /etc/dnscache /var/service
# echo ‘nameserver 127.0.0.1? >/etc/resolv.conf

Para usas o DNS cache na nossa rede, executaremos os seguintes comandos:

# dnscache-conf dnscache dnslog /etc/dnscache 192.168.1.1
# touch /etc/dnscache/root/ip/192.168.1
# ln -s /etc/dnscache /var/service

Agora a configuração do DNS na sua máquina:

No DNS preferencial, digite 192.168.1.1:



Checando se o serviço está rodando…

su-2.05b# ps -ax | grep dns

338 ?? I 0:00.03 supervise dnscache
90515 ?? S 0:03.51 /usr/local/bin/dnscache

… e ele em ação…

su-2.05b# tail -f /etc/dnscache/log/main/current
@4000000046375a22168f3ee4 cached 1 i.gtld-servers.net.
@4000000046375a22168fcf6c cached 1 j.gtld-servers.net.
@4000000046375a2216905ff4 cached 1 k.gtld-servers.net.
@4000000046375a221690ec94 cached 1 l.gtld-servers.net.
@4000000046375a2216917d1c cached 1 m.gtld-servers.net.
@4000000046375a22169209bc cached 1 a.gtld-servers.net.
@4000000046375a221692c154 cached 1 b.gtld-servers.net.
@4000000046375a22169351dc cached 1 c.gtld-servers.net.
@4000000046375a221693de7c cached 1 d.gtld-servers.net.
@4000000046375a2216945794 tx 0 255 mx44.alanistz.com. com. c005061e
c0304f1e c036701e c023331e c037531e c02a5d1e c01a5c1e c0210e1e c029a21e
c00c5e1e c02bac1e c01f501e c034b21e
@4000000046375a222673d964 rr cc4a7021 86400 1 mx74mi.clarmu.info. d035034a
@4000000046375a2226787514 rr cc4a7021 86400 1 mx144pb.clarmu.info. 42212090
@4000000046375a222678889c rr cc4a7021 86400 1 mx174hi.clarmu.info. 42f890ae
@4000000046375a222678983c rr cc4a7021 86400 1 mx187tr.clarmu.info. 416f11bb
@4000000046375a222678abc4 rr cc4a7021 86400 1 mx204pa.clarmu.info. 42217dcc
@4000000046375a222678bb64 rr cc4a7021 86400 ns clarmu.info.
mx74mi.clarmu.info.
@4000000046375a222678ceec rr cc4a7021 86400 ns clarmu.info.
mx204pa.clarmu.info.
@4000000046375a222678de8c rr cc4a7021 86400 ns clarmu.info.
mx187tr.clarmu.info.
@4000000046375a222679059c rr cc4a7021 86400 ns clarmu.info.
mx174hi.clarmu.info.
@4000000046375a222679153c rr cc4a7021 86400 ns clarmu.info.
mx144pb.clarmu.info.
@4000000046375a22267924dc stats 379 144625 13 0
@4000000046375a2226793864 cached 1 mx74mi.clarmu.info.
@4000000046375a2226794804 cached 1 mx204pa.clarmu.info.
@4000000046375a22267957a4 cached 1 mx187tr.clarmu.info.
@4000000046375a2226796744 cached 1 mx174hi.clarmu.info

É isso!

segunda-feira, 30 de agosto de 2010

sexta-feira, 27 de agosto de 2010

IPCALC

Marcelo,

Usei o ipcalc como voc� indicou e funcionou perfeitamente.
Como forma de consulta, vou deixar registrado como procedi.

Linha de comando para o ipcalc:
ipcalc 192.168.26.0/24 -s 6

Address: 192.168.26.0 11000000.10101000.00011010. 00000000
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network: 192.168.26.0/24 11000000.10101000.00011010. 00000000
HostMin: 192.168.26.1 11000000.10101000.00011010. 00000001
HostMax: 192.168.26.254 11000000.10101000.00011010. 11111110
Broadcast: 192.168.26.255 11000000.10101000.00011010. 11111111
Hosts/Net: 254 Class C, Private Internet

1. Requested size: 6 hosts
Netmask: 255.255.255.248 = 29 11111111.11111111.11111111.11111 000
Network: 192.168.26.0/29 11000000.10101000.00011010.00000 000
HostMin: 192.168.26.1 11000000.10101000.00011010.00000 001
HostMax: 192.168.26.6 11000000.10101000.00011010.00000 110
Broadcast: 192.168.26.7 11000000.10101000.00011010.00000 111
Hosts/Net: 6 Class C, Private Internet


E o firewall ficou assim:


#!/bin/sh

ipfw -f flush

ipfw add 01 divert 8668 ip from any to any via sis0
ipfw add 02 deny tcp from any to any 3128 via sis0
ipfw add 101 allow tcp from 192.168.26.0/24 to 192.168.26.254 3128 via
rl0
ipfw add 102 allow tcp from 192.168.26.0/29 to any 80 via rl0 setup
keep-state
ipfw add 103 deny tcp from 192.168.26.0/24 to any 80 via rl0 setup
keep-state
ipfw add 300 allow ip from any to any


Valeu pela ajuda!

Daniel

> ent�o so usando o ipcalc e vendo se tem alguma possibilidade de escrever
> tipo 192.168.26.1/26 , sen�o � regra por regra acho que 1-6 num rola ,
> s� testando pra ver
>
>
>
> On Thu, 2005-03-10 at 13:15, Daniel Angelini Toledo wrote:
> > Desculpe, esqueci de mencionar. � ipfw vers�o 1.
> >
> > > man ipfw
> > >
> > >
> > > If you administer one or more subnets, you can take advantage of the
> > > ipfw2 syntax to specify address sets and or-blocks and write
> > > extremely
> > > compact rulesets which selectively enable services to blocks of
> > > clients,
> > > as below:
> > >
> > > goodguys="{ 10.1.2.0/24{20,35,66,18} or 10.2.3.0/28{6,3,11}
> > > }"
> > > badguys="10.1.2.0/24{8,38,60}"
> > >
> > > ipfw add allow ip from ${goodguys} to any
> > > ipfw add deny ip from ${badguys} to any
> > > ... normal policies ...
> > >
> > > Marcelo
> > >

FreeBSD; IPFW + ALTQ

IPFW com ALTQ
August 18, 2009
O ALTQ (Alternate Queueing) é um sistema de enfileiramento de pacotes amplamente usado para implementação de QoS. Muitos administradores de redes que trabalham com *BSD estão acostumados a com a utilização do PF para implementação do ALTQ. Mas também é possível a utilização dele com o IPFW. Vamos ver:

O primeiro passo é compilar o kernel do seu BSD (FreeBSD no meu caso) com as opções necessárias, precisaremos usar o PF para a configuração inicial do ALTQ (se alguém conhecer uma ferramenta específica para gerenciamento das filas, comentários serão bem vindos). Bem, adicione as seguintes linhas no arquivo de configurações do seu kernel:

#PF
device pf

#ALTQ
options ALTQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_CBQ
options ALTQ_CDNR
options ALTQ_PRIQ
options ALTQ_HFSC
options ALTQ_NOPCC # se você usa sistemas SMP

# IPFIREWALL
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options IPFIREWALL_NAT
options IPFIREWALL_DEFAULT_TO_ACCEPT
options LIBALIAS
options IPSTEALTH
options DUMMYNET
options IPDIVERT

Fiz uma regra de exemplo do ALTQ com subfilas e uso dos algoritmos de detecção e controle de congestionamento para demonstrar que é possível utilizá-lo no IPFW da mesma maneira como seria usado no PF. No seu pf.conf:

altq on nfe0 cbq bandwidth 100Mb queue { http, msn, resto }
. queue http bandwidth 10% cbq(rio,default)
. queue msn bandwidth 10%
. queue resto bandwidth 80% cbq(borrow, red) { smtp, pop }
. queue smtp bandwidth 50%
. queue pop bandwidth 50% cbq(ecn)

Ative o PF e carregue as regras: pfctl -e -f /etc/pf.conf

Para mandar o tráfego do IPFW para o ALTQ, ative-o com o comando: ipfw enable altq

A regra abaixo envia para fila filha smtp todo o tráfego que sai na interface nfe0 pela porta 25:

ipfw add 50 allow altq smtp tcp from any to any 25 via nfe0 out

Você pode verificar o tráfego nas filas com o comando: pfctl -vvsq

FreeBSD: Tunning

Tem, experimente trabalhar com as técnicas de tunning de Matt Dilon.
Exemplo de meu sysctl particular.

# Tunning 1 - Stack TCP/IP & kernel tuning

kern.maxfiles=131392
kern.maxfilesperproc=16424
kern.ipc.somaxconn=8192
kern.ipc.maxsockbuf=8388608

# Ideal, segundo Matt Dillon - man tuning



net.inet.tcp.always_keepalive=1
net.inet.tcp.keepidle=24000
net.inet.tcp.keepintvl=3000
net.inet.tcp.keepinit=70000
net.inet.tcp.rfc1323=1
net.inet.tcp.rfc1644=1
net.inet.ip.intr_queue_maxlen=50

# Tuning 2 - Stack TCP/IP - Firewalling

net.inet.ip.fw.enable=1
net.inet.ip.fw.debug=1
net.inet.ip.fw.verbose=1
net.inet.ip.fw.verbose_limit=500
net.inet.ip.fw.dyn_buckets=256
net.inet.ip.fw.dyn_max=3000
net.inet.ip.fw.dyn_ack_lifetime=300
net.inet.ip.fw.dyn_syn_lifetime=20
net.inet.ip.fw.dyn_fin_lifetime=2
net.inet.ip.fw.dyn_rst_lifetime=2
net.inet.ip.fw.dyn_udp_lifetime=10
net.inet.ip.fw.dyn_short_lifetime=5

# Blackhole - define blackhole pra tcp syn em portas sem daemon.
# Dificulta stealth portscans e diminui o impacto de ataques de DoS.

net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1

# ARP Exaustion - 1200 = 20 Minutos. Ideal.
net.link.ether.inet.max_age=1200
net.inet.icmp.bmcastecho=0

# Network Fine Tuning
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=1
net.inet.ip.redirect=0
net.inet6.ip6.redirect=0
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
net.link.ether.inet.max_age=1200
net.inet.icmp.bmcastecho=0
net.inet.ip.fastforwarding=1
net.inet.ip.forwarding=1
net.inet.ip.fw.one_pass=1
net.inet.icmp.maskrepl=0
net.inet.tcp.delayed_ack=0
net.inet.tcp.sendspace=65535
net.inet.tcp.recvspace=65535
net.inet.udp.recvspace=65535
net.inet.udp.maxdgram=57344
net.local.stream.recvspace=65535
net.local.stream.sendspace=65535

# Ideal segundo Marcelo Araujo ;)
# T/TCP -- Tcp extensions for Transactions
net.inet.tcp.rfc1644=1

# Tuning de SOM
hw.snd.pcm0.vchans=4
hw.snd.maxautovchans=4

# Tunning memoria compartilhada para o XFREE
kern.ipc.shmmax=67108864
kern.ipc.shmall=32768

# Calcula o atraso de banda para cada conexao e
# limita a quantidade de dados enfileirados para
# apenas a quantidade requerida
net.inet.tcp.inflight_enable=1

# Prevenindo ataque DOS

net.inet.tcp.msl=7500
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.icmp.icmplin=50
kern.ipc.somaxconn=32768

# Usuarios nao veêm processos de outros usuarios
kern.ps_showallprocs=0

quinta-feira, 19 de agosto de 2010

FreeBSD: Automatizar instalação

http://www.cs.duke.edu/~gallatin/sysinstall.html
http://forums.freebsd.org/showthread.php?p=85274#post85274
http://www.bsdcan.org/2009/schedule/events/126.en.html
http://www.locolomo.org/howto/pxeboot/automatic-installation.html

terça-feira, 17 de agosto de 2010

FreeBSD: IPFW com ALTQ

O ALTQ (Alternate Queueing) é um sistema de enfileiramento de pacotes amplamente usado para implementação de QoS. Muitos administradores de redes que trabalham com *BSD estão acostumados a com a utilização do PF para implementação do ALTQ. Mas também é possível a utilização dele com o IPFW. Vamos ver:

O primeiro passo é compilar o kernel do seu BSD (FreeBSD no meu caso) com as opções necessárias, precisaremos usar o PF para a configuração inicial do ALTQ (se alguém conhecer uma ferramenta específica para gerenciamento das filas, comentários serão bem vindos). Bem, adicione as seguintes linhas no arquivo de configurações do seu kernel:

#PF
device pf

#ALTQ
options ALTQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_CBQ
options ALTQ_CDNR
options ALTQ_PRIQ
options ALTQ_HFSC
options ALTQ_NOPCC # se você usa sistemas SMP

# IPFIREWALL
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options IPFIREWALL_NAT
options IPFIREWALL_DEFAULT_TO_ACCEPT
options LIBALIAS
options IPSTEALTH
options DUMMYNET
options IPDIVERT

Fiz uma regra de exemplo do ALTQ com subfilas e uso dos algoritmos de detecção e controle de congestionamento para demonstrar que é possível utilizá-lo no IPFW da mesma maneira como seria usado no PF. No seu pf.conf:

altq on nfe0 cbq bandwidth 100Mb queue { http, msn, resto }
. queue http bandwidth 10% cbq(rio,default)
. queue msn bandwidth 10%
. queue resto bandwidth 80% cbq(borrow, red) { smtp, pop }
. queue smtp bandwidth 50%
. queue pop bandwidth 50% cbq(ecn)

Ative o PF e carregue as regras: pfctl -e -f /etc/pf.conf

Para mandar o tráfego do IPFW para o ALTQ, ative-o com o comando: ipfw enable altq

A regra abaixo envia para fila filha smtp todo o tráfego que sai na interface nfe0 pela porta 25:

ipfw add 50 allow altq smtp tcp from any to any 25 via nfe0 out

Você pode verificar o tráfego nas filas com o comando: pfctl -vvsq

REFERÊNCIA

Squid: Delay Pools

#Neste tutorial vamos ver como se usa as delay pools.
#Delay pools é uma opção usada no squid para fazer limite de banda,
#neste tutorial vamos nos concentrar apenas em delay pools, delay class, delay access e delay parameters.
#Este tutorial já leva em conta que você já tenha algum conhecimento em squid, sendo porém alusivo também a
#quem está apredendo a usar o squid.

#Este tutorial vamos como exemplo duas delay pools.
#Seguindo assim uma linha muita usada com delay pools, vamos neste tutorial,
#usar as delay pools em nossa rede interna e para internet.

#Leve em conta que temos duas acl's criadas com os nomes de extensoes e interno.
#Essas acl's serão usadas em nosso tutorial.
#################################################################

acl extensoes url_regex -i .*

#está acl que criamos está pegando tudo que é relacionado a ponto ou seja,
#inclusive extensões html, jpeg, jpg, gif, php, png, htm e etc... Que são usadas em paginas de internet.
#se você quer bloquear tudo menos estas extensões faça assim...
acl extensoes url_regex -i .* !.html !.htm !.php !.jpeg !.jpg !.png !.gif e etc.......

#bloqueamos tudo exceto as seguintes extensões. Mas se o seu interesse é bloquear arquivos como mp3, avi, faça o seguinte.
acl extensoes url_regex -i .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov

#você também pode criar-las em um arquivo.
acl extensoes url_regex -i "caminho do arquivo"

#coloque as extensões dentro deste arquivo(mas apenas uma extensão por linha).
acl interno url_regex -i 192.168.1.0
#################################################################

#delay_pools:

#Está opção especifica o número de delay pools que você vai possuir, por exemplo, se você possui 2 delay pools, este número
#deve ser igual a 2, se você tem 3 delay pools, este número deve ser igual a 3, e assim por diante.

#delay_pools (número de delay pools)


delay_pools 2 #isto significa que nós possuimos 2 delay's pools.

#Como dito acima, o número de delay pools que vamos criar.
#################################################################

#delay_class:

#Define a classe de cada delay pool. Deve haver exatamente uma classe de delay para cada delay pool.

#delay_class (número da delay pool) (número da classe da delay poll)

delay_class 1 2 #isto significa que a delay pool 1 é uma delay class 2

delay_class 2 2 #isto significa que a delay pool 2 é uma delay class 2

#Como visto acima, nós temos duas delay pools e duas delay class,
#e também podemos ver que nossas delay class são todas classe 2.
#Não esqueça, o primeiro número é sua delay pool, e o segundo é a sua delay class.
#################################################################

#delay_access:

#Determina em qual delay pool uma requisição será encaixada. A primeira a combinar será utilizada, por isso verifique com #cuidado suas acls.

#delay_access (número da delay poll) allow|deny nome da acl

delay_access 1 allow palavras #estamos direcionando nossa delay pool 1(que é uma classe 2) para a acl palavras.
delay_access 2 allow interno #fazendo o mesmo que acima, porém para a acl interno(que também é uma classe 2).
#################################################################

#delay_parameters:
#Define os parâmetros para uma delay pool. Cada delay pool tem um número de alocação de tráfego associado.

#delay_parameters (número da delay pool) agregado (delay_class 1)

#delay_parameters (número da delay pool) agregado individual (delay_class 2)

#delay_parameters (número da delay pool) agregado network individual (delay_class 3)

#Aqui vou mostrar apenas a saída da delay class 3 pois está engloba todas a opções.

#delay_parameters 1 -1/-1 24000/24000 1000/1000

#vamos ao significado:

#-1/-1:
#Valor AGREGADO:aqui especificamos quanto toda a banda vai utilizar, no caso -1/-1 significa
#valor ilimitado, por isso, se você quer limitar sua banda nunca coloque -1/-1.

#24000/24000:
#Valor NETWORK(REDE):aqui especificamos quanto cada uma de nossas redes irá poder utilizar, no caso algo em torno de 23Kb/s.

#1000/1000:
#Valor INDIVIDUAL:aqui especificamos quanto cada um de nossos usuários poderá utilizar, no caso menos de um 1K/s.

#Cada valor tem duas areás, uma antes da barra e outra depois. Vamos lá.
#RESTORE:O antes da barra.
#Especifica quantos bits poderá ser tráfegado por segundo.

#MAX:E lógico, o depois da barra.
#Especifica quantos bits poderá trafegar no total.

#Delay pools sempre trabalham com bits, não se esqueça.

delay_parameters 1 -1/-1 500/1000 #leia acima para entender.
delay_parameters 2 -1/-1 15000/25000 #leia acima para entender.
#################################################################

#TUDO FICARIA ASSIM.
acl extensoes url_regex -i .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov
acl interno url_regex -i 192.168.1.0

delay_pools 2

delay_class 1 2
delay_parameters 1 -1/-1 500/1000
delay_access 1 allow palavras

delay_class 2 2
delay_parameters 2 -1/-1 15000/25000
delay_access 2 allow interno
################################################################

FreeBSD: Usando PF com FIBs no FreeBSD

Com o advento das múltiplas tabelas de roteamento no FreeBSD (FIB) ficou muito fácil distribuir certos tipos de tráfego por determinados links. Por exemplo, vamos supor que temos 2 links com respectivos gateways 192.168.1.254 e 10.10.1.254, para adicionar as duas rotas como default em 2 tabelas diferentes faça o seguinte:

route add default 192.168.1.254
setfib 1 route add default 10.10.1.254
Agora temos a tabela 0 com a rota default 192.168.1.254 e a tabela 1 com a rota default 10.10.1.254, agora vamos enviar todo tráfego para porta 25 para o segundo link (10.10.1.254) usando o PF:

pass in quick on $int_if from any to port 25 rtable 1
Fonte: Lista do FUG.

FreeBSD: Limite por weight

Imaginem que tenho 2 clientes (10.1.1.2 e 10.1.1.3) que compartilham a
mesma banda de 512Kbps/256Kbps (download e upload) e eu quero dar
prioridade maior para trafego nas portas 25 e 110. Já pesquisei e li
várias mensagens no histórico da lista e cheguei as seguintes regras,
gostaria de saber de vocês se elas realmente fazem o que quero:

# banda de 512/256Kbps compartilhada entre 10.1.1.2 e 10.1.1.3
ipfw pipe 1 config bw 512Kbit/s queue 64Kbytes # IN
ipfw pipe 2 config bw 256Kbit/s queue 32Kbytes # OUT
ipfw queue 1 config weight 20 pipe 1 mask src-port 25,110
ipfw queue 2 config weight 20 pipe 2 mask dst-port 25,110
ipfw queue 3 config weight 10 pipe 1 mask src-ip 0x000000ff
ipfw queue 4 config weight 10 pipe 2 mask dst-ip 0x000000ff

# cliente 1
ipfw add queue 1 tcp from 10.1.1.2/32 to any 25,110 in
ipfw add queue 2 tcp from any 25,110 to 10.1.1.2/32 out
ipfw add queue 3 all from 10.1.1.2/32 to any in
ipfw add queue 4 all from any to 10.1.1.2/32 out

# cliente 2
ipfw add queue 1 tcp from 10.1.1.3/32 to any 25,110 in
ipfw add queue 2 tcp from any 25,110 to 10.1.1.3/32 out
ipfw add queue 3 all from 10.1.1.3/32 to any in
ipfw add queue 4 all from any to 10.1.1.3/32 out

terça-feira, 10 de agosto de 2010

FreeBSD: IPFW com suporte a layer2 (Ether_demux)

sysctl net.link.ether.ipfw=1

FreeBSD: Banda compartilhada

ipfw add pipe 1 all from any to 192.168.1.1
ipfw add pipe 1 all from 192.168.1.1 to any
ipfw pipe 1 config bw 256Kb/s
aqui se esta compartilhando 256k para upload e download

segunda-feira, 26 de julho de 2010

sexta-feira, 23 de julho de 2010

Apache 2.2.6 com https no FreeBSD 7

Instalação do apache:

Como root execute o seguinte comnado:

#pkg_add -v ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/ \
7.0-RELEASE/packages/All/apache-2.2.6_2.tbz

Esse comando instala o pacote compilado direto do repositório do FreeBSD.

Sera criado dois diretórios:

/usr/local/www/data ( local aonde ficam as páginas)
/usr/local/etc/apache22/ ( local aonde ficam os arquivos de configuração )

Edite o arquivo /usr/local/etc/apache22/http.conf e descomente a seguinte linha:

# Secure (SSL/TLS) connections
Include etc/apache22/extra/httpd-ssl.conf

Salve o arquivo e saia.

Edite o arquivo /usr/local/etc/apache22/extra/http-ssl.conf:

SSLCertificateFile"/usr/local/etc/apache22/extra/server.crt"
SSLCertificateKeyFile"/usr/local/etc/apache22/extra/server.key"

O arquivo server.crt e server.key deverão ser criados com o openssl:

#openssl genrsa -out server.key 1024
#openssl req -new -key server.key -out server.csr
#openssl x509 -req -days 3650 -in server.csr -signkey
server.key -out server.crt
( OBS:todo comando na mesma linha )

Feito isso, restarte o servidor apache:

#apachectl restart

Abra um browser e digite "https://localhost"

quarta-feira, 21 de julho de 2010

Mandamentos da Configuração do Firewall

1. Firewalls bloqueiam tudo que não esteja explicitamente liberado nas regras. (Portanto…)
2. Não adicione uma regra se você não sabe o que está fazendo.
3. Adicione apenas as regras estritamente necessárias.
4. Faça backup de suas regras e configuração antes de qualquer mudança.
5. Documente tudo, o tempo todo.
6. Insira descrição nas suas regras (facilite a sua vida e a de seu sucessor!)
7. As regras devem ser inseridas sempre na interface de origem do pacote.

terça-feira, 20 de julho de 2010

Processador 64bits VS Arquiteturas FreeBSD.

Utilizo Linux e estou tentando migrar alguns servidores para Unix. Estou testando o FreeBSD e espero gostar dele, mais já cai em um problema, Baixei a versão IA64 no site e meu processador é o intel 64 bits, li em alguns lugarem que devo baixar o amd64 e em outros que eu deveria instalar o i386 e depois mudar pra 64.

O que é realmente verdade?

Como devo proceder?

Essas dúvidas são bastante comuns dadas as miríades de processados disponíveis no mercado hoje. Os processadores Intel de 32 bits (arquitetura IA32) devem ser utilizados com FreeBSD/i386. Os processados IA64 são os de família Itanium. Normalmente alguns Xeon são Itanium, mas a afirmação que se lê em alguns fóruns de hardware que todo Xeon de 64 bits é Itanium é falsa. Você deve consultar o site da Intel para observar se a sua marca e modelo de processaro realmente é Itanium ou Itanium 2. Deve ficar bem claro que ser Intel de 64 bits não é sinônimo de ser Itanium.

Finalmente, a Intel possui processados com extensões 64 bits com instruções EMT64. Essas instruções são as mesmas utilizadas nos processadores 64 bits da AMD e portanto, todo processador com instruções EMT64 deve ser utilizado com FreeBSD/amd64. Todavia, esses processadores também funcionam apenas com instruções IA32 (portanto como arquitetura i386), mas seu uso não é considerado otimizado.

A única situação que justifica utilizar um processador com instruções EMT64 com i386, seja este Intel ou AMD, é se a aplicação que você for utilizar tiver problemas com 64bits. Algumas o tem, por exemplo, Snort Inline, entre outros. Quanto ao FreeBSD não há, jamais, com o que se preocupar. Mas como as aplicações são mantidas por projetos independentes e as vezes por um desenvolvedor apenas, a garantia de qualidade que o FreeBSD tem em 64 bits pode não se extender a aplicação, seja sob base operacional FreeBSD, outro BSD, Linux ou OpenSolaris por exemplo.

quinta-feira, 15 de julho de 2010

FreeBSD: Criar comando service

#!/bin/sh

LOCAL_SC='/usr/local/etc/rc.d/'
SYS_SC='/etc/rc.d/'


if [ $# -lt 2 ]
then
echo "USE:"
echo "$0 servicename start|restart|stop"
exit 3
fi

#Most of start/stop commands I issued are in LOCAL_SC
if [ -x $LOCAL_SC$1 ]
then
$LOCAL_SC$1 $2
exit 0
else
#Look in the system scripts
if [ -x $SYS_SC$1 ]
then
$SYS_SC$1 $2
exit 0
fi
fi

echo "$1 - not found"
exit 3

em /usr/local/sbin/service

quarta-feira, 14 de julho de 2010

MySQL: Conectar a mysql

mysql -h 200.156.12.2 -D LOJA -u ze -p

FreeBSD: MySQL

Atualizar o ports antes de começar a instalar os pacotes:

# portsnap fetch
# portsnap extract
# portsnap update

Ter muita paciência, pois o processo demora, mas vale a pena.

Instalar pacote mc ou seu editor shell preferido, comando abaixo:

# pkg_add -r mc

Banco de dados o MySQL50-server:

# cd /usr/ports/databases/mysql50-server
# make install clean
# mysql_install_db
# chown -R mysql:mysql /var/db/mysql

Ativando no boot adicione no arquivo /etc/rc.conf:

mysql_enable="YES"

Ative manualmente:

# mysqld_safe --user=mysql&

OBS: Lembrando que deixamos o banco com acesso total sem senha, depois coloque uma senha para acessar o banco de dados para sua segurança.

segunda-feira, 5 de julho de 2010

FreeBSD: Script - Balanceamento de links

#!/bin/sh
# Variaveis
fw="/sbin/ipfw"
ext_if1="ste0"
ext_if2="ste1"
int_if="vr0"
rede_local="192.168.1.0/24"

# Limpa Regras
$fw -f flush

setfib 1 route add default 192.168.254.254

$fw add prob 0.5 setfib 1 all from $rede_local to any keep-state

$fw add nat 1 all from $rede_local to any out via $ext_if1
$fw add nat 1 all from any to me recv $ext_if1
$fw nat 1 config if ste0
$fw add nat 2 all from $rede_local to any out via $ext_if2
$fw add nat 2 all from any to me recv $ext_if2
$fw nat 2 config if ste1

sábado, 3 de julho de 2010

FreeBSD: Dica Rápida

Quer saber todos os arquivos que um dado port instalou? Use pkg_info -L . Quer reler a mensagem de pós-instalação de um port já instalado? Use pkg_info -D . Quer consultar informações de um port sem precisar mencionar seu nome e versão exatamente como registrados? Use pkg_info -x , por exemplo, pkg_info -L -x perl

terça-feira, 22 de junho de 2010

FreeBSD: Firewall separado de proxy

<-------------- No GATEWAY (192.168.0.254) --------------------->
# sysctl -a | grep ip.redirect
net.inet.ip.redirect: 0

pf.conf on gateway (192.168.0.254):
pass in quick on $int_if route-to ($int_if 192.168.0.250) proto tcp from
! 192.168.0.250 to any port 80
<-------------- FIM GATEWAY (192.168.0.254) --------------------->


<-------------- NO PROXY SERVER (192.168.0.250) --------------------->
# sysctl -a | grep ip.redirect
net.inet.ip.redirect: 0

pf.conf (Proxy Server 192.168.0.250):
rdr inet proto tcp from ! 192.168.0.250 to any port www -> 192.168.0.250
port 8080
<-------------- FIM PROXY SERVER (192.168.0.250) --------------------->

terça-feira, 15 de junho de 2010

FreeBSD: Shell

set prompt = '[%B%m%b] %B%~%b%# '
set prompt = '%m %# '
set prompt = '%n@%m%# '
set prompt = '%n@%m:%/%# '
set prompt = '%n@%m:%~%# '

sexta-feira, 11 de junho de 2010

FreeBSD: Liberando consulta ao servidor dns

ipfw -q add 0200 allow tcp from any to ip-do-servidor-dns 53 in via
interface-externa setup keep-state
ipfw -q add 0200 allow tcp from any to ip-do-servidor-dns 53 in via
interface-externa setup keep-state

domingo, 6 de junho de 2010

FreeBSD: Redirecionar trafego do firewall para servidor proxy

No gateway:
IF_LAN = "ste0"
REDE = "192.168.1.0/24"
EXT_LAN = "ste1"
PROXY = "192.168.1.10"

pass in quick on $if_lan route-to ($if_lan) proto tcp from $REDE to any port 80

No proxy:

rdr pass on $if_lan proto tcp from $rede to $if_lan port 80 -> localhost port 3128



No gw
ipfw add fwd 192.168.1.10 tcp from 192.168.1.0/24 to not me 80

No proxy
ipfw add fwd localhost,3128 tcp from 192.168.1.0/24 to not me 80

sábado, 29 de maio de 2010

ESTABLISHED, RELATED

Qual o motivo de existir essa regra de estado (–state ESTABLISHED,RELATED) ?
Essa regra garante que os pacotes das conexões abertas a partir do servidor, conseguirão voltar para ele.

Por exemplo, quando o servidor faz uma consulta DNS, o pedido vai sair pelo OUTPUT do iptables (que deixamos liberado) e quando voltar, vai bater no INPUT. Se não tiver essa regra, o firewall iria descartar o pacote com as informações de DNS retornando.

terça-feira, 25 de maio de 2010

FreeBSD - Comandos disco

gstat(8), systat(1), geom(4), iostat(8), vmstat(8)

domingo, 23 de maio de 2010

Mikrotik: User manager + hotspot

Olá pessoal, mais uma vez venho, de acordo com algumas dúvidas de amigos, trazer mais um material sobre o MikroTik.
O User Mananger, para quem não sabe, é uma forma de suprir a falta de um servidor radius externo*. Também é uma maneira de gerenciar sytemas como:
•HotSpot users;
•PPP (PPtP/PPPoE) users;
•DHCP users;
•Wireless users;
•RouterOS users.
Bem, eu vou mostrar apenas com fazê-lo rodar e acessar a web interface, agora add clientes, créditos entre outro é com vocês.


Vamos dá início a nosso material.

Materiais que eu usei:

1.Duas interfaces de redes
•wlan1 - wireless, na qual recebo sinal.
•ether1 - ethernet, na qual repasso o sinal.
•mikrotik 2.9.50, podendo ser em qualquer outra versão.

Passo 1 - Como de costume, eu renomeio as interfaces:

/interface set wlan1 name=internet
/interface set ether1 name=network

Passo 2 - Configurar os ips:

/ip add add address=192.168.5.3/24 interface=internet
/ip add add address=192.168.1.1/24 interface=network


Passo 3 - Configurar o route:

/ip route add gateway=192.168.5.1


Passo 4 - Configurar o dns:

/ip dns set primary-dns="seu dns"
/ip dns static add name="mikrotik-ba.net" address=192.168.1.1


Passo 5 - Compartilhar conexão:

/ip firewall nat add chain=srcnat src-address=192.168.1.0/24 out-interface=internet action=masquerade comment="compartilhamento" disabled=no


Passo 6 - Configurar servidor hotspot:

/ip hotspot profile add name=server-pro dns-name=mikrotik-ba.net use-radius=yes hotspot-address=192.168.1.1

Note: Não adicione usuários ao servidor hotspot ao menos que queira usar.


Passo 7 - Configurando o radius:

/radius add service=hotspot address=192.168.1.1 secret=123456

Note: A senha(sercret) deve ser a mesma para o router que será criado no user manager, bem como o endereço. Caso o endereço do user manager seje de outra maquina, basta informar.


Passo 8 - Configurando o user manager:

1. Criar um administrador para o sistema, que usará a web interface:

/tool user-manager customer add login="Mr. RG" password="12345" permissions=owner

2. Criar uma lista de assinantes(assinatura):

/tool user-manager router add subscriber="MikroTik" ip-address=192.168.1.1 shared-secret=123456

Passo 9 - Criar um usuário de teste, o que, no caso, não terá nenhum limite:

/tool user-manager user add username=demo password=demo subscriber=MikroTik

Passo 10 - O truque para entrar na web interface:

/ip service set www port=8008

Note: Isto aqui não irá interferir no uso da internet.

Passo 11 - Acessar a web interface e configurar o user manager ao seu dispor:

http://192.168.1.1:8008/userman


É isto aí, dúvidas e sugestões serão bem-vindas.

Façam bom uso do user manager e não esqueçam de postar as experiencias, será de grande ajuda.

http://under-linux.org/f143/user-manager-hotspot-artigo-112221/

segunda-feira, 17 de maio de 2010

Subredes

Tabela sub-rede IPv4
Notação CIDR Máscara Nº IPs
-------------- ----------------- -------------
/0 0.0.0.0 4.294.967.296

--------------------------------------------------------------------------------

endereço de classe A -----------

/8 255.0.0.0 16.777.216 (começa com 8 bits 1)

--------------------------------------------------------------------------------

endereços de classe B -----------

/16 255.255.0.0 65.536 (começa com 16 bits 1)
/20 255.255.240.0 4096 (começa com 20 bits 1)
/21 255.255.248.0 2048 ...
/22 255.255.252.0 1024 ...
/23 255.255.254.0 512 (começa com 23 bits 1)

--------------------------------------------------------------------------------

endereços de classe C -----------

/24 255.255.255.0 256 (e assim por diante...)
/25 255.255.255.128 128
/26 255.255.255.192 64
/27 255.255.255.224 32
/28 255.255.255.240 16
/29 255.255.255.248 8
/30 255.255.255.252 4
/31 255.255.255.254 2
/32 255.255.255.255 1

FreeBSD: Verificar os 10 maiores arquivos em disco

# Exemplo: cd /var ; du | sort -rn | head

COMANDO: du | sort -rn | head

sexta-feira, 14 de maio de 2010

Windows 7: Ativar Telnet Client

Vá ao executar e digite o comando " optionalfeatures " sem aspas ...

E marque o check box " Cliente Telnet" clique ok e seja feliz ...
Imaginemos que na máquina A você tenha os IP's reais, por exemplo uma
/28 (200.200.100.0/28) e vc quer distribuir esses IP's para seus
clientes

Por exemplo: vc quer entregar o IP 200.200.100.2 para o cliente D, que
tem o ip falso 192.168.7.10, mas pra chegar nele você tem que passar
por 2 máquinas: B (192.168.7.5) e C (192.168.7.4)

Na máquina A você adiciona a rota...
route add 200.200.100.2 192.168.7.5

Na máquina B (192.168.7.5) você adiciona a rota
route add 200.200.100.2 192.168.7.4

e na máquina C (192.168.7.4) você adiciona a rota para a máquina D
(192.168.7.10) que é o ponto final; feito isso, na máquina final (D)
vc levanta o IP real 200.200.100.2

ifconfig xl0 alias 200.200.100.2/32

Tá meio tosca a explicação mas deve funcionar

Qquer coisa envia um mail.

--
Celso Vianna
BSD User: 51318
http://www.bsdcounter.org

63 8404-8559
Palmas/TO

terça-feira, 11 de maio de 2010

FreeBSD: Mudar shell padrão

chpass -s bash root

chpass -s bash

chsh -s /usr/local/bin/bash

segunda-feira, 10 de maio de 2010

Entregar IP valido por rede de IP invalido

route add -host 192.168.2.201 -netmask 255.255.255.255 -gateway 10.155.0.1

quarta-feira, 5 de maio de 2010

Hardware suportado

http://www.freebsd.org/releases/7.2R/hardware.html#PROC-I386

sábado, 1 de maio de 2010

Compilando MSN-Proxy em CentOS/Redhat

Ok, hora de colocar a mão na massa!

Primeiramente é necessário instalar os requisitos de compilação:

# yum install gcc make mysql-devel vim-enhanced

O gerenciador de pacotes Yum se encarrega de instalar as dependências adicionais necessárias a cada um dos programas acima. Obviamente, quem por ventura já tiver esses pacotes instalados, pode ignorar essa etapa.

Em seguida obteremos os pacotes-fonte da Libevent e do MSN-Proxy:

# cd /usr/src
# wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
# wget http://ufpr.dl.sourceforge.net/project/msn-proxy/msn-proxy/msn-proxy-0.7/msn-proxy-0.7.tar.gz

Essas são as últimas versões estáveis disponíveis no momento de escrita desse artigo. Porém, caso algum dos links falhe, ainda pode-se obter os pacotes dos sites oficiais [1][2] de cada um dos programas.

Agora deve-se criar um diretório separado para a Libevent e instalá-la nele (para sistemas x86, basta substituir o subdiretório lib64 por lib em todos os caminhos citados daqui em diante).

# mkdir /usr/local/lib64/libevent-1.4.13
# cd /usr/src
# tar -xzvf libevent-1.4.13-stable.tar.gz
# cd libevent-1.4.13-stable
# ./configure --prefix=/usr/local/lib64/libevent-1.4.13 --exec-prefix=/usr/local/lib64/libevent-1.4.13
# make
# make install

O próximo e mais importante passo é a compilação do MSN-Proxy usando essa versão da Libevent recém-instalada. Para isso, serão necessárias algumas pequenas alterações no arquivo Makefile do programa.

# cd /usr/src
# tar -xzvf msn-proxy-0.7.tar.gz
# cd msn-proxy-0.7
# vim Makefile

O arquivo deve ser editado de modo que seu conteúdo fique da seguinte forma, a partir da linha 7:


# FreeBSD
#MYSQLINC=/usr/local/include
#MYSQLLIB=/usr/local/lib/mysql

# Linux (most)
MYSQLINC=/usr/include/mysql
MYSQLLIB=/usr/lib64/mysql

# Adicionados os caminhos da Libevent mais recente
LIBEVENT14LIB=/usr/local/lib64/libevent-1.4.13/lib
LIBEVENT14INC=/usr/local/lib64/libevent-1.4.13/include

CCFLAGS=-g -Wall -O2 -pipe -I/usr/local/include -I$(MYSQLINC) -I$(LIBEVENT14INC) -fno-builtin-log

LDFLAGS=-L/usr/local/lib -L$(LIBEVENT14LIB) -levent -L$(MYSQLLIB) -lmysqlclient

Note que as variáveis MYSQLINC, MYSQLLIB, CCFLAGS e LDFLAGS devem ser alteradas, e as variáveis LIBEVENT14LIB e LIBEVENT14INC adicionadas. Isso indica explicitamente ao compilador o caminho (de binários e cabeçalhos) da Libevent mais atual, para que o MSN-Proxy use essa versão ao invés da padrão do sistema. Os caminhos referentes à biblioteca de cliente MySQL são padrão da distribuição, mas podem ser conferidos explicitamente através do comando "mysql_config --libs --include".

Após editar e salvar o arquivo, basta compilar o programa normalmente:

# make
# make install

O último passo é criar links simbólicos para os binários dessa versão da Libevent nos locais corretos, de modo que o programa os encontre ao executar.

# ln -s /usr/local/lib64/libevent-1.4.13/lib/libevent-1.4.so.2.1.3 /usr/lib64/libevent-1.4.so.2
# ln -s /usr/local/lib64/libevent-1.4.13/lib/libevent_core-1.4.so.2.1.3 /usr/lib64/libevent_core-1.4.so.2.1.3
# ln -s /usr/local/lib64/libevent-1.4.13/lib/libevent_extra-1.4.so.2.1.3 /usr/lib64/libevent_extra-1.4.so.2.1.3

Pronto, o MSN-Proxy funcionará normalmente e as etapas adicionais para configuração dele podem ser realizadas como de costume.

Obs.: Lembre-se substituir os caminhos e nomes de arquivo caso esteja usando versões diferentes dos programas.


Referências
[1] http://www.monkey.org/~provos/libevent/
[2] http://sourceforge.net/projects/msn-proxy/

quarta-feira, 28 de abril de 2010

FreeBSD: named[6107]: the working directory is not writable

To fix this error, edit the following file:

/etc/mtree/BIND.chroot.dist

and change:

/set type=dir uname=root gname=wheel mode=0755

into:

/set type=dir uname=bind gname=wheel mode=0755

and then restart service:

# /etc/rc.d/named restart

From: http://www.howgeek.com/2009/12/02/bind-on-freebsd-7-2-error-named1531-the-working-directory-is-not-writable/

Mudar uname=root para uname=bind

segunda-feira, 26 de abril de 2010

Mapear unidade windows em linux

mount -t cifs //192.168.0.22/Backup_System /compartilhamento -o username=usuariobkp,password=bkp@123

192.168.0.22 = IP do servidor de arquivos
/compartilhamento = Diretorio do servidor de arquivos
usuariobkp = Usuário de backup
bkp@123 = Senha do usuário de backup

FreeBSD SSH Lento

Para evitar lentidão no ssh do FreeBSD muda a opção UseDNS yes para UseDNS no em /etc/ssh/sshd_config depois reinicie o serviço /etc/rc.d/sshd restart

Att

sexta-feira, 23 de abril de 2010

Sparkweb

Amigo tenho o Openfire instalado aqui na empresa, voce ja ativou os plugins Fastpath Service e Fastpath Webchat e lembrando ative "Servidor -> Configurações do Servidor -> HTTP Binding".

HTTP binding permite que os clients se conectem ao Openfire utilizando protocolo HTTP.

*Habilitado - Os Clientes podem se conectar a este servidor através de HTTP binding.
Porta: 7070
Porta Segura: 7443

Verifica ai se vai da certo, qualquer coisa me manda um email para poder te ajudar ok.

Att, Thiago Passamani.

segunda-feira, 19 de abril de 2010

alias

You can use aliases to decrease the amount of typing you need to do to get
commands you commonly use. Examples of fairly popular aliases include (in
Bourne shell style, as in /bin/sh, bash, ksh, and zsh):

alias lf="ls -FA"
alias ll="ls -lA"
alias su="su -m"

In csh or tcsh, these would be

alias lf ls -FA
alias ll ls -lA
alias su su -m

To remove an alias, you can usually use 'unalias aliasname'. To list all
aliases, you can usually type just 'alias'.

sexta-feira, 16 de abril de 2010

Banda full e banda compartilhada

Em algum forum.

Essa sua informação esta errada! não importa o meio ou a tecnologia os bits são um só o mesmo Mb de ADSL e o mesmo Mb de dedicado, apenas o que diferencia é a qualidade, se o seu adsl é estável vai fazer down nas mesma taxas que um dedicado.

Bit
Simplificação para dígito binário, “BInary digiT” em inglês, é a menor unidade de medida de transmissão de dados usada na Computação. Um bit tem um único valor, 0 ou 1, verdadeiro ou falso.
Ele é representado pela letra (b), assim como kilobit (kb), megabit (Mb), gigabit (Gb),… Repare sempre representado com b minúsculo.
Para se referir a uma conexão com a internet, por exemplo, utilizamos a medida bit por segundo (bps) que expressa que em 1 segundo trafegou 1 bit. Ou seja, em uma conexão de 1Mbps significa dizer que a cada segundo está trafegando pela rede 1Mb (megabit).
Byte
É utilizado com frequência para especificar o tamanho ou quantidade de memória ou da capacidade de armazenamento de um computador, 1 byte é constituído de 8 bits.
O byte é representado pela letra (B), assim como kilobyte (kB), megabyte (MB), gigabyte (GB),… E sempre representado com B maiúsculo.
A matemática é simples, uma simples regra de três pode resolver todas as dúvidas, 1 byte está para 8 bits, assim como x kilobytes está para 300 kilobits. Ou seja, se dividir 300 por 8 terá exatamente 37,5, traduzindo 300kbps é exatamente a mesma coisa que 37,5 kBps.

quinta-feira, 25 de março de 2010

memoria freebsd

cat /var/run/dmesg.boot |grep memory

segunda-feira, 15 de março de 2010

BIND Exemplo de named.conf para zonas externas

BIND Exemplo de named.conf para zonas externas
named.cond para o servidor master

o que esta conf faz?

atende domínios sobre sua autoridade

para resolver nome para outro dominios ela faze forward para outro DNS server atender, caso ele não consiga responder a requisição o bind local tenta resolver.

aqui especificamos também quais redem podem fazer pesquisa recursiva em nosso bind!
//
// configuracoes globais
//

options {
directory "/var/named";
allow-query { any; };
allow-recursion { 127.0.0.1/8 200.102.xx.xx/29; };
listen-on { 127.0.0.1/32; 200.102.xx.xx/32; };
forwarders { 201.xx.128.xx; 201.xx.1.xx; };
forward first;
allow-transfer { none; };
notify no;
};

//
// zona de cache e localhost
//

zone "." {
type hint;
file "named.ca";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};

//
// zonas externas
//

zone "empresa.com.br" {
type master;
allow-transfer { 200.102.82.52; };
file "db.intranet.zone";
};

zone "xx-xx.82.102.200.in-addr.arpa" {
type master;
allow-transfer { 200.102.xx.xx; };
file "db.xx-xx.82.102.200.zone";
};
named.conf para servidores slave
//
// configuracoes globais
//

options {
directory "/var/named";
allow-query { any; };
allow-recursion { 200.102.xx.48/xx; };
listen-on { 127.0.0.1/32; 200.102.82.xx/xx; };
forwarders { 201.10.xxx.xx; 201.10.xx.x; };
forward first;
allow-transfer { none; };
notify no;
};

//
// zona de cache e localhost
//

zone "." {
type hint;
file "named.ca";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};

//
// zonas externas
//

zone "empresa.com.br" {
type slave;
masters { 200.102.82.51; };
file "db.intranet.zone";
};

zone "xx-xx.82.102.200.in-addr.arpa" {
type slave;
masters { 200.102.xx.xx; };
file "db.xx-xx.82.102.200.zone";
};

domingo, 14 de março de 2010

Controle de Banda (FreeBSD)

Controle de banda para IP individual e mantendo o controle do resto da rede

ipfw disable one_pass
ipfw add 5000 skipto 6000 all from 192.168.0.50 to any
ipfw add 5000 skipto 6000 all from any to 192.168.0.50
ipfw pipe 1 config mask src-ip 0x000000ff bw 128Kbit/s queue 18Kbytes
ipfw pipe 2 config mask dst-ip 0x000000ff bw 128Kbit/s queue 18Kbytes
ipfw pipe 3 config bw 256kbit/s queue 40Kbytes
ipfw add 5010 pipe 1 ip from 192.168.0.0/24 to any out
ipfw add 5020 pipe 2 ip from any to 192.168.0.0/24 in
ipfw add 6000 pipe 3 ip from 192.168.0.50 to any
ipfw add 6000 pipe 3 ip from any to 192.168.0.50
ipfw add 6500 divert natd all from any to any via vr1

sexta-feira, 12 de março de 2010

NAT FreeBSD

#!/bin/sh
interface nfe0
dynamic yes
same_ports yes
use_sockets yes

# NAT Terminal Remoto Windows Server 2003
redirect_port tcp 10.155.146.12:3389 3389

# NAT Openfire server
redirect_port tcp 10.155.146.4 5222 ip-publico 5222

quarta-feira, 10 de março de 2010

Empty Zones BIND9

Jul 26 16:25:03 servidor named[5610]: automatic empty zone: 127.IN-ADDR.ARPA
Jul 26 16:25:03 servidor named[5610]: automatic empty zone: 254.169.IN-ADDR.ARPA
Jul 26 16:25:03 servidor named[5610]: automatic empty zone: 2.0.192.IN-ADDR.ARPA
Jul 26 16:25:03 servidor named[5610]: automatic empty zone: 255.255.255.255.IN-ADDR.ARPA
Jul 26 16:25:03 servidor named[5610]: automatic empty zone: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Jul 26 16:25:03 servidor named[5610]: automatic empty zone: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Jul 26 16:25:03 servidor named[5610]: automatic empty zone: D.F.IP6.ARPA
Jul 26 16:25:03 servidor named[5610]: automatic empty zone: 8.E.F.IP6.ARPA
Jul 26 16:25:03 servidor named[5610]: automatic empty zone: 9.E.F.IP6.ARPA
Jul 26 16:25:03 servidor named[5610]: automatic empty zone: A.E.F.IP6.ARPA
Jul 26 16:25:03 servidor named[5610]: automatic empty zone: B.E.F.IP6.ARPA


Até aí tudo bem, pensei que era um "debug" da nova versão do BIND, até que quando configurei o rndc e executei o rndc status e apareceu que eu tinha criado 15 zonas e eu tinha criado apenas 4.

Então de tanto pesquisar "Googlar" encontrei que nas novas versões do BIND foram criadas novas opções, como as opções empty-server, empty-contact, empty-zones-enable e disable-empty-zone

Para resolver esse problema coloque a opção "empty-zones-enable no" dentro da tag options no named.conf,por exemplo:

options {
directory "/var/named/zonas";
pid-file "/var/run/bind/bind.pid";
minimal-responses yes;
empty-zones-enable no;
};


Pronto,desapareceu as mensagens nos logs e o BIND não está criando mais zonas fantasmas.

Network Unreachable no Bind9 (Slack)

network unreachable resolving 'ns2.mozilla.org/A/IN':*
network unreachable resolving 'ns3.mozilla.org/A/IN':*
network unreachable resolving 'ads5.hotword.com.br/A/IN':*

Isso acontece porque no Slackware o módulo IPv6 já vem habilitado por padrão e configura um endereço IPv6 para cada interface de rede, o BIND por sua vez esta ativado para resolver nomes para o protocolo IPv6.

Caso você não utilize o IPv6, poderá remover este módulo adicionando-o na blacklist.

Para desativar o IPV6, execute o seguinte comando: ( Necessário reiniciar o servidor ).

# echo "blacklist ipv6" >> /etc/modprobe.d/blacklist

Após reiniciar o servidor verificando o arquivo de log:

named[25977]: using default UDP/IPv4 port range: [1024, 65535]
named[25977]: listening on IPv4 interface lo, 127.0.0.1#53
named[25977]: listening on IPv4 interface eth0, 10.10.10.254#53

sexta-feira, 5 de março de 2010

PhpMyAdmin (Apache+FreeBSD)

The following line has been added to your /usr/local/etc/php/extensions.ini
configuration file to automatically load the installed extension:

extension=zip.so

****************************************************************************
===> Returning to build of phpMyAdmin-3.2.5
===> Generating temporary packing list
===> Checking if databases/phpmyadmin already installed
===> Creating users and/or groups.
Using existing group `www'.

phpMyAdmin-3.2.5 has been installed into:

/usr/local/www/phpMyAdmin

Please edit config.inc.php to suit your needs.

To make phpMyAdmin available through your web site, I suggest
that you add something like the following to httpd.conf:

Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"


Options none
AllowOverride Limit

Order Deny,Allow
Deny from all
Allow from 127.0.0.1 .example.com

PhpMyAdmin

Faça o download do phpMyAdmin:


# wget http://prdownloads.sourceforge.net/phpmyadmin/\
phpMyAdmin-2.10.0.2-all-languages.tar.gz?download

Descompacte:


# tar -zxvf phpMyAdmin-2.10.0.2-all-languages.tar.gz

Mova para o diretório do Apache:


# mv phpMyAdmin-2.10.0.2-all-languages /var/www/html/phpmyadmin

Vá até a pasta determinada:


# cd /var/www/html/phpmyadmin

Copie o arquivo de configuração:


# cp config.sample.inc.php config.inc.php

Altere o arquivo de configuração:


# vi config.inc.php

E altere as linhas para o usuário cadastrado no item 3:


$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = 'suasenha';

Nesta linha, entre com a frase secreta... pode ser qualquer coisa:


$cfg['blowfish_secret'] = '';

E altere esta linha para http:


$cfg['Servers'][$i]['auth_type'] = 'http';

Ótimo, seu phpMyAdmin está instalado!

Depois de instalado é só entrar e configurar de acordo com seu banco:

http://localhost/phpmyadmin

terça-feira, 2 de março de 2010

MySQL

CREATE USER 'user01'@'localhost' IDENTIFIED BY '***';

GRANT USAGE ON * . * TO 'user01'@'localhost' IDENTIFIED BY '***' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

GRANT ALL PRIVILEGES ON `bancodedados` . * TO 'user01'@'localhost';

Arquivo de hosts (DNS)

$ORIGIN .
$TTL 86400 ; 1 day
linksec.net IN SOA ns01.linksec.net. hostmaster.linksec.net. (
2005027372 ; serial
3600 ; refresh (1 hora)
900 ; retry (15 minutos)
604800 ; expire (1 semana)
3600 ; minimum (1 hora)
)

IN NS ns01.linksec.net.
IN NS ns02.linksec.net.
IN MX 10 linksec.net.

localhost IN A 127.0.0.1
linksec.net. IN A 10.155.146.35
ns01.linksec.net. IN A 10.155.146.35
ns02.linksec.net. IN A 10.155.146.36
www.linksec.net. IN A 10.155.146.35
ftp.linksec.net. IN A 10.155.146.35
mail.linksec.net. IN CNAME linksec.net.
pop.linksec.net. IN CNAME linksec.net.

segunda-feira, 1 de março de 2010

Slackware: MySQL

MySQL

Instalei a versão do cdrom do Slackware 10.1:

# installpkg /mnt/cdrom/slackware/ap/mysql-4.0.23a-i486-1.tgz

MySQL instalado, vamos à configuração dele. Precisamos instalar o database:

# mysql_install_db

Precisamos setar a senha de root, mas para isso teremos que alterar um detalhe. Iniciar o MySQL:

# safe_mysqld &

Vai dar um erro, é normal e necessário para gerar o sock. Agora devemos fazer o seguinte:

# chown -R mysql.mysql /var/lib/mysql

Tentaremos novamente executar o server MySQL:

# mysqld_safe &

MySQL rodando :)

Setar a senha de root:

# mysqladmin -u root password (SUA SENHA AQUI)

Logue-se ao MySQL:

# mysql -u root -p

Se como eu, você acessa o MySQL através de outro micro, as permissões de acesso devem ser alteradas:

mysql> GRANT ALL ON *.* TO root@(IP DA OUTRA MAQUINA) IDENTIFIED BY '(SUA SENHA)';

Bom, acabamos o MySQL :)

sábado, 27 de fevereiro de 2010

Named.conf e Zonas

# NAMED.CONF

root@srv01:/var/named# cat /etc/named.conf
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
listen-on { any; };
// query-source address * port 53;
};

//
// a caching only nameserver config
//
zone "." IN {
type hint;
file "caching-example/named.root";
};

zone "localhost" IN {
type master;
file "caching-example/localhost.zone";
allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "caching-example/named.local";
allow-update { none; };
};


# ZONA

root@srv01:/var/named# cat empresa.com.br.zone
$TTL 86400
@ IN SOA ns01.empresa.com.br. hostmaster.empresa.com.br. (
2004101901 ;Serial de sincronização
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

NS ns01.empresa.com.br.
NS ns02.empresa.com.br.
IN MX 10 empresa.com.br.

localhost IN A 127.0.0.1
empresa.com.br. IN A 192.168.2.202
ns01 IN A 192.168.2.202
ns02 IN A 192.168.2.203
www IN A 192.168.2.202
ftp IN A 192.168.2.202
mail IN CNAME empresa.com.br.
pop IN CNAME empresa.com.br.
router IN A 192.168.2.254
root@srv01:/var/named#


# REVERSO

root@srv01:/var/named# cat empresa.com.br.rev
$TTL 86400
$ORIGIN empresa.com.br.
2.168.192.in-addr.arpa IN SOA ns01.empresa.com.br. hostmaster.empresa.com.br. (
2004101901 ; Serial de sincronização
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

NS ns01.empresa.com.br.

202 IN PTR ns01
202 IN PTR www
203 IN PTR ns02
root@srv01:/var/named#

domingo, 21 de fevereiro de 2010

Compilando o kernel 2.6.x

Este tutorial foi escrito por André Luís Chemet Kanso. Qualquer alteração ou utilização deste materia l, favor mencionar a fonte.

Neste tutorial foram usados a versão 2.6.6 do kernel (podendo ser aplicado às versões 2.6.x) e a distribuicao Slackware 9.1.

É altamente recomendado a configuração do gerenciador de boot do linux com opção para acessar o kernel antigo que já funcionava antes desse processo, para que possam s er corrigidas eventuais falhas.

Fazendo download do codigo fonte do kernel

baixe aqui

Descompactando o código fonte

# cd /usr/src/
# tar xvfj linux-2.6.6.tar.bz2

Criando um link simbólico (muitos programas usam o diretório /usr/src/linux como referência para o diretório fonte do kernel).

# ln -s /usr/src/linux-2.6.6 /usr/src/linux

Configurar o kernel

# cd /usr/src/linux
# make menuconfig

Também podem ser usadas as opções "make oldconfig", "make xconfig" ou "make gconfig" para configurar o kernel.

# make

O comando "make" nas versões 2.6.x compila o kernel, gerando o arquivo "bzImage", além de compilar também os módulos.

Este processo gera o arquivo "bzImage" no diretorio /usr/src/linux/arch/i386/boot/ .

Copiar o arquivo gerado (o kernel) para o diretorio /boot

# cp /usr/src/linux/arch/i386/boot/bzImage /boot

Instalando os módulos

# make modules_install

Após este processo é necessario alterar as configurações do gerenciador de boot usado.

No LILO, edita-se a linha referente à localizacao do kernel

image=/boot/bzImage

Após isto, salva-se o arquivo e roda-se o comando do lilo, como segue:

# lilo

Feito isto, basta reiniciar o sistema com o novo kernel e, na existência de erros, verificar se todos os suportes necessários ao funcionamento do sistema instalado for am corretamente adicionados ao kernel.

FONTE: http://www.slackware-brasil.com.br/web_site/artigos/artigo_completo.php?aid=88

Gerador de letras ASCII

www.network-science.de/ascii

sexta-feira, 19 de fevereiro de 2010

Enviar msg para usuário logado

echo "msg" | wall # Envia um broadcast

echo "msg" >> /dev/pts/0(0,1,2..) # Envia para um terminal definido.

sexta-feira, 12 de fevereiro de 2010

blog

Blog para anotações. Navegando por ae encontrei um blog que é usado para guardar links e materiais interessantes. Gostei da idéia já que sempre acabo perdendo os links que encontro pela Internet.