Category: Aprendendo

Ago 16 2009

Instalar Placa de video (Nvidia) no Ubuntu

Boa noite,

Hoje vou mostrar para você como instalar sua placa de video da NVidia com driver proprietario. Primeiramente, se você utiliza alguma versão instala pelo seu sistema operacional, não se esqueça de desabilita-la. No Ubuntu você deve proceder da seguinte maneira: System – Administratation – Hardware Drivers. Então desabilite-o.

Para verificar as últimas versões acesse:
http://www.nvnews.net/vbulletin/showthread.php?t=122606

1. Faça o download da versão que você deseja instalar.

2. Acesse o console pressionando ctrl+alt+f1. (Não faça isso agora, se não você não poderá continuar lendo.)

3. $ cd /local/do/download

4. Feche o GDM (Gnome Desktop Manager) com $ sudo /etc/init.d/gdm stop

5. Rode o instalador: $ sudo sh ./Nxxx.run

6. Durante a instalação escolha a opção para atualizar o xorg.conf automaticamente.

7. Reinicie seu computador $ sudo reboot

Se ocorrer algum problema desinstale o driver da seguinte maneira: $ sudo nvidia-uninstall

PS: Este novos driver são para versões maiores que 6xxx.

Isto é praticamente uma tradução de http://ubuntuforums.org/showthread.php?t=990978 mesmo assim espero que seja de grande utilidade.

Matheus

Jul 04 2009

Instalar Apache2, PHP5, PHPmyAdmin, mySQL

Boa tarde,

Esse post é mais uma dica do que um artigo, já que não entra em detalhes da configuração do mesmo e na verdade utiliza as opções padrões do Ubuntu. Está instalação foi realizada com sucesso no Ubuntu 9.04 desktop.

Instalar o apache com:
$ sudo apt-get install apache2

Instalar o PHP com:
$ sudo apt-get install php5 php5-common php5-cli

Instalar o MySQL com:
$ sudo apt-get install mysql-client mysql-server

(Durante a instalação será perguntada a senha que deseja para o usuário root)

Instalar PHPmyAdmin:
$ sudo apt-get install phpmyadmin

(Será perguntado a senha do MySQL e do usuário do PHPmyAdmin)

Está configuração padrão deve ser suficiente para usuários comuns que não possuem uma necessidade mais específica com relação a módulos.

Att,
Matheus

Jun 15 2009

Atualizar End Point, TunnelBroker.

Bom dia!

Estou utilizando IPv6 aqui na minha rede local, porém sempre que eu iniciava o servidor tinha que acessar o site tunnelbroker e atualizar o End Point, então tive a idéia de fazer um script que atualizasse sozinho. Enviei um e-mail para o suporte deles e recebi a seguinte url como resposta: http://ipv4.tunnelbroker.net/ipv4_end.php

ipv4b = Novo endereço de IP
pass = md5 da sua senha (http://hash-it.net/)
user_id = O “UserID” da página principal no tunnelbroker (não é seu usuário)
tunnel_id = O “Global Tunnel ID” da página de detalhes do tunnel

Adicionei o seguinte comando no /etc/rc.local para pegar o IP atual da interface eth0 (externa):

IP=`ifconfig eth0 | grep “inet addr” | cut -d : -f 2 | cut -d B -f 1 | sed ‘s/^ *//;s/ *$//’`

Após isso adicionei a seguinte linha para fazer a requisição e atualizar o End Point:

wget https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=$IP&pass=senha&user_id=USERID&tunnel_id=TUNNELID

Abraço,
Matheus

Jun 07 2009

Liberando ping no servidor.

Boa noite,

Na publicação anterior comentei sobre a liberação do “ping” (ICMP) de tal local para seu servidor. Caso você utilizesse Iptables e por padrão DROP em todas as “regras”, você poderá liberar pings apenas de determinado ip da seguinte maneira:

$ sudo iptables -A INPUT -p icmp -s 150.162.60.37 -j ACCEPT

Lembrando que você deve olhar a ordem das regras, pois isto importa em iptables.

Matheus Bratfisch

Jun 06 2009

Utilizar IPv6 em toda a sua rede.

Boa noite,

Como você deve saber o número de IPS na internet estão acabando, as previsões indicam que eles devem se esgotar até 2011. E como ficaremos? Calma, não se assuste! Já foi inventada a alguns anos a tecnologia que está substituindo os IPv4, são os chamados IPv6. (Que eu publiquei o link pro curso da CGI.BR lembra?). Então, hoje em dia já existem serviços destinados ao IPv6. Para fazer o uso do IPv6 existem alguns métodos e vou demonstrar como fiz na minha rede para conseguir IPv6 para os computadores. Lembrando que a minha rede possui um “Ubuntu Server” para receber e compartilhar a internet.

Inicialmente crie um cadastro em http://www.tunnelbroker.net. Após o cadastro realizado e confirmado acesse o menu “Create Regular Tunnel” e coloque o IP da sua residencia, o ponto final do tunnel, escolha o servidor mais perto de você e pronto. (Você não deve bloquear pings (ICMP) do servidor, se não ele não permitira que o tunnel seja criado).

Pressione o link ao lado direito de “Routed /48:”, assim ele lhe dará uma “classe” de ip para você utilizar em sua rede caseira.

Após feito isso, acesse seu servidor e crie o tunnel para ele da seguinte maneira:

# IPV6 da sua placa de rede INTERNA
sudo ifconfig eth1 inet6 add 2001:470:d8dd:1::1/64
# Levanta interface sit0
sudo ifconfig sit0 up
# Cria um tunnel para o IP do seu servidor (Substituia o IP_DO_SERVIDOR pelo valor do “Server IPv4 address”)
# MANTENHA OS “::”
sudo ifconfig sit0 inet6 tunnel ::IP_DO_SERVIDOR
# Levanta interface sit1
sudo ifconfig sit1 up
# Adiciona o IPv6 a interface sit1 (Substitua ROUTED pelo valor “Routed /48″)
sudo ifconfig sit1 inet6 add ROUTED
# Redireciona os tráfegos IPv6 para sit1
sudo route -A inet6 add ::/0 dev sit1
# Habilita IPv6 Forwarding.
sysctl net.ipv6.conf.all.forwarding=1

Teste se você está utilizando IPv6 da seguinte maneira:
$ ping6 ipv6.google.com

Nas demais máquinas das redes deve ser feito o seguinte:

$ sudo ifconfig eth1 inet6 add IPv6_DA_SUA_MAQUINA
$ sudo ip route add ::/0 via IPv6_DO_SERVIDOR

Caso você não queira configurar manualmente você pode utilizar o RaDVD que é um “router advertisement daemon”.

Vamos supor que seu Routed/48 é 2001:530:d822::/48 o IP da placa de rede do seu servidor conectada a rede local poderia ser: 2001:530:d822:1::1/64. Então o IP da sua máquina seria 2001:530:d822:1::2/64.

Agora de sua máquina tente pingar com ping6 o seu servidor e ipv6.google.com. Se obter resposta está tudo certo. (é claro ¬¬’)

Espero que seja de utilidade a você,
Matheus

PS: Caso você deseje utilizar IPv6 somente em uma máquina conectada diretamente na internet cadastre-se no mesmo site, crie seu tunnel e siga as instruções no final da página do tunnel.

Jun 06 2009

Instalar e Configurar servidor DHCP.

Boa noite,

Estou pensando em uma estrutura de rede que seja eficiente para a minha casa e no momento resolvi fazer alguns testes com idéias sugeridas pela galera do irc.freenode.net @ #ipv6.br e do meu laboratório e me funcionaram bem até o momento.

Retirei o meu Servidor da porta WAN do meu roteador deixando a rede na seguinte estrutura:

Modem -> (eth0) Ubuntu Server (eth1) -> (LAN PORT) Roteador (LAN PORT) -> Computadores.

Desabilitei o Servidor DHCP do Roteador e criei o meu na mesma faixa de IPS do Roteador no Ubuntu Server para instalar e configurar o mesmo procedi da seguinte maneira:

$ sudo apt-get install dhcp3-server

Após a instalação do mesmo abri o arquivo “/etc/dhcp3/dhcpd.conf” e comentei todas as linhas, após feito isso fiz o seguinte:

INTERFACES=”eth1″; # INTERFACE CONECATADA AO MEU ROTEADOR
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative; # DHCP PRINCIPAL DA REDE

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.150; # FAIXA DE IPS A SER DISTRIBUIDA
option routers 192.168.0.254; # GATEWAY
option domain-name-servers 200.247.141.11; # SERVIDOR DNS
option subnet-mask 255.255.255.0; # MASCARA DE SUBREDE
option broadcast-address 192.168.0.255; # ENDEREÇO DE BROADCAST
default-lease-time 600;
max-lease-time 7200;
}

Lembrando que a faixa de IPs utilizada normalmente por meu roteador era 192.168.0.x mas eu poderia alterar a mesma porém preferi utilizar a default.

Após feita as configurações executei o seguinte comando:

$ sudo /etc/init.d/dhcp3-server restart

O mesmo reiniciou com alguns problemas porque esqueci alguns “;” mas após corrigido os pequenos erros o DHCP Server iniciou normalmente, testado e funcionando.

Espero que seja de utilidade a todos,
Matheus Bratfisch

PS: Lembrando que com a atual estrutura de redes eu posso utilizar filtros por MAC ADDRESS conseguindo assim implementar meu Captive Portal. *espero que nós proximos dias eu consiga implementa-lo*

Referencias:
Google + DHCP SERVER UBUNTU (tantos links que eu tentei que nem sei especificar quais que mais me ajudaram. Agradeço aos que me ajudaram e peço desculpas por não saber referenciar ao certo.)

Jun 02 2009

E-Learning. IPV6 da NIC.BR, CGI.BR

Boa noite,

Ontem recebi um e-mail falando sobre um “curso” que a CGI.BR e NIC.BR estão disponibilizando relacionado a IPV6. No mesmo você consegue muitas informações de como este novo protocolo funciona, porque precisamos do mesmo, cabeçalhos do mesmo, mensanges de erro, informação, segurança entre muitas outras coisas.

Curso E-Learning IPV6 da NIC.BR

Matheus

PS: Estou procurando uma placa wireless que suporte o modo “master” para que eu consiga criar uma rede wireless apartir de um servidor. Já testei 2, mas com elas até o momento não consegui realizar tal feito. Estive meio sumido, pois este projeto tem consumido bastante tempo.

Mai 28 2009

Exercícios, Programação Concorrente.

Boa noite,

Amanhã tenho uma prova de Programação com o conteúdo, “monitores” e “redes de petri”. O professor passou uns exercícios para que fossem resolvidos e entregues, dos 5 resolvi apenas 3 até o momento. A linguagem utilizada para implementação dos mesmos foi Pascal FC (uma linguagem para ensinar “programação concorrente”). Bom, vamos a resolução e enunciados dos mesmos.

1) Pombos correio foram treinados para transportar cartas da cidade
A para a cidade B. Na cidade A existe uma Caixa Postal onde as
pessoas depositam suas cartas para que sejam entregues na cidade
B. Os pombos consultam a Cxpostal e retiram sempre 5 cartas para
transportar na sua viagem. Caso não existam ainda 5 cartas na
caixa, o pombo espera até que esse número seja atingido. Na cidade
B existe uma gaiola onde os pombos depositam suas cartas e ficam
presos até que um processo tratador libere-os. O tratador verifica a
gaiola a cada 20 clocks e libera todos os pombos somente se o
número de pombos for maior ou igual a 2. Os pombos somente
transportam cartas de A para B, na sua volta eles voam vazios.
Construa um monitor para controlar a utilização da Caixa Postal
pelas pessoas (13), pombos (6) e o tratador (1).

Resolução do exercício sobre pombos.

2) Implemente o problema dos fumantes utilizando monitor. Três
fumantes e um agente sentados em uma mesa. Cada fumante
possui dois dos três ingredientes para se fazer um cigarro: fósforo,
fumo e palha. O agente possui os três e aleatoriamente sorteia um
dos ingredientes. O fumante contemplado faz o seu cigarro, fuma e
libera o agente para fazer novo sorteio.

Resolução do exercício sobre mesa de fumantes.

3) Processos produtores e consumidores se sincronizam através de
um buffer circular com 5 posições (um array de 5 posições). Um
produtor gera um número aleatório e coloca no buffer caso exista
uma vaga. Um consumidor retira um número do buffer se houver.
Implemente utilizando monitor.

Resolução do exercício sobre sincronização através de array circular.

4) Suponha um ambiente em que processos compartilham
impressoras. Existem dois tipos de impressora: tipo A e Tipo B.
Existem 3 classes de processos: classe PA que somente utilizam
impressoras do tipo A, classe PB que somente utilizam impressoras
do tipo B e classe PAB que utilizam impressoras de qualquer tipo.
Esses processos, do tipo PAB, têm prioridade sobre os demais
quando não houver impressoras disponíveis. Implemente utilizando
monitor.

Resolução do exercício sobre impressoras.

5) Implemente o problema da ponte utilizando monitor. Uma ponte,
que separa duas cidades A e B, somente permite tráfego em um
sentido de A para B ou de B para A. Se a ponte estiver vazia pode
ser utilizada por carros de A ou de B. Se um carro de A acessou a
ponte, ela é trancada para os carros de B e todos os carros de A que
desejarem podem também acessar. Quando o último carro que sai
de A para B deixar a ponte, ela deve ser liberada.

Resolução do exercício sobre Ponte.

Lista dos 5 exercícios e sua resolução.

UPDATE 1: Exercícios que não estavam resolvidos foram resolvidos e adicionados. Lembro que o professor ainda não entrou uma correção do mesmo, mas testei eles e parece-me tudo ok.Lembrando também que estes exercícios foram disponibilizados aos alunos pelo Professor José Mazzucco Júnior.

Espero que isso seja util a todos,
Matheus

Mai 26 2009

Compartilhar internet com servidor na porta WAN.

Boa tarde,

Os ultimos dias passei instalando o servidor e com uns problemas para configurar o mesmo. Eu sabia como configurar a rede para funcionar da seguinte maneira:

MODEM -> (eth0) Servidor (eth1) -> (Porta lan) Router (Portas lan) -> Computadores

Porém não era essa topologia que eu desejava, pois com está eu perdia a porta WAN do meu roteador. Então decidi fazer a seguinte:

MODEM -> (eth0) Servidor (eth1) -> (Porta WAN) Router (Portas LAN) -> Computadores

Inicialmente, deixei meu servidor ligado somente ao modem e testei se o mesmo conseguia pingar a internet. Até o momento tudo ok.

Acessei o arquivo “/etc/network/interfaces” e configurei a eth1 manualmente da seguinte maneira:

auto eth1
iface eth1 inet static
address 192.168.100.254
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.255

Logo em seguida adicionei as regras de iptables:

sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING –out-interface eth0 -j MASQUERADE
iptables -A FORWARD –in-interface eth0 -j ACCEPT

Teoricamente o compartilhamento de internet já devia estar funcionando. Mas não foi isso que aconteceu. Resolvi acessar o meu Roteador pela Lan e configura-lo manualmente da seguinte maneira:

IP Address : 192.168.100.1
Subnet Mask : 255.255.255.0
ISP Gateway Address : 192.168.100.254
Primary DNS Address : 200.247.141.11 (DNS VIRTUA SC)
Secondary DNS Address : 200.247.141.12 (DNS VIRTUA SC)

Salvei as modificações, esperei o mesmo ser reiniciado e pronto. Conexão funcionando.

Eu sei que isso não ficou como um tutorial, ficou um “relato” mas este relato pode lhe ajudar a configurar se você seguir os mesmos passos que eu. Lembre-se também que as regras de iptables devem ser executadas sempre na inicialização do servidor. Saiba mais sobre Executar scripts ao iniciar computador.

Demorei bastante tempo e testei várias configurações para que conseguisse tudo funcionando mas acredito que o meu maior problema foi ter usado a mesma Classe de IPS para a rede interna (atrás do roteador) e a “externa” (comunicação entre o roteador e servidor).

Qualquer problema com Compartilhamento ou coisas do tipo, não hesite em perguntar.

Espero que este artigo seja de grande ajuda,
Matheus

Agradecimentos ao Ubuntu Forum que me deu uma ajuda.

Mai 24 2009

Instalar Ubuntu pelo Pendrive.

Boa noite,

Neste post só gostaria de recomendar a você o post do Juliano Martins sobre como “Instalar o ubuntu pelo pendrive“. E também de pedir desculpas por não ter publicado nada durante o fim de semana, é que perdi bastante tempo tentando conseguir deixar o pendrive pronto para realizar a instalação apartir do mesmo e quando consegui, descobrir que meu computador velho não tem opção de boot por usb. Gravar o ubuntu server umas 3x com erros. Felizmente hoje consegui um cd-r e consegui gravar o mesmo corretamente. O Ubuntu server já está instalado e logo irei começar a configurar o mesmo. Mantenho você informado sobre o que eu estou fazendo no mesmo.

Update: Gostaria de acrescentar que no ultimos mes fui testar a ferramenta do próprio Ubuntu, a USB Startup Disk Creator e ela funcionou muito bem. Você pode usar uma versão velha para criar o USB Startup Up disk. Quando eu realizei esse processo, utilizei um live cd do Ubuntu 9.04 e criei apartir do mesmo um pendrive bootavel do Ubuntu 9.10 Alpha 4.

Matheus Bratfisch