Servidor DHCP CentOS

0

Boas Users!

Vou mostrar como configurar um servidor DHCP, no CentOS 7.

 

Comandos:

# su -

su –= ativa o super usuário “root”

# yum update

yum= é uma ferramenta utilizada para gerenciar a instalação e remoção de pacotes em distribuições Linux, que utilizam o sistema RPM.

update= Atualiza o sistema de arquivos.

# yum install dhcpd

install= Instala

# systemctl enable dhcpd

systemctl= Ferramenta para gerenciar serviços

enable= Habilita

# systemctl start dhcpd

start= inicia

# ifconfig

ifconfig= é usado para atribuir um endereço para uma interface e/ou configurar parâmetros de interface de rede

# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

vi= Editor de texto

OBS: Lembrando que “enp0s3” é a placa de rede gerada “virtualbox”, substitua pela placa de rede do seu computador.

DEVICE=enp0s3
BOOTPROTO=static
BROADCAST=192.168.1.255
IPDDR=192.168.1.128
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
NETWORK=192.168.1.0
ONBOOT=yes
TYPE=Ethernet
PEERDNS=no

DEVICE= Identificação da placa de rede “nome”

BOOTPROTO= static “ip fixo” ou Dynamic “ip recebido pelo servidor DHCP”

IPADDR= Aqui colocamos o “IP”

NETMASK= Mascara da rede

GATEWAY= é uma máquina intermediária geralmente destinada a interligar redes, separar domínios de colisão, ou mesmo traduzir protocolos.

NETWORK= Faixa de IP`s

ONBOOT= yes > ativa placa de rede, no > não ativa a placa de rede no boot

PEERDNS= responsável por gerar o DNS no arquivo “/etc/resolv.conf”

# vi /etc/sysconfig/network-scripts/ifcfg-enp0s8

enp0s8= Placa de rede, que vai distribuir internet.

# service network restart

Reiniciando a rede

DEVICE=enp0s8
BOOTPROTO=static
BROADCAST=10.0.0.255
IPADDR=10.0.0.1
NETMASK=255.0.0.0
NETWORK=10.0.0.0
GATEWAY=10.0.0.1
ONBOOT=yes
# vi /etc/resolv.conf

aqui configuramos o DNS:

nameserver 192.168.1.1

OBS: pode ser o seu DNS preferido, ex: 8.8.8.8 ou 8.8.4.4, que são os DNS do google.

# vi /etc/dhcpd/dhcpd.conf

Configuração do arquivo DHCP:

default-lease-time 600;
max-lease-time 7200;
authoritative;

subnet 10.0.0.0 netmask 255.0.0.0 {
range dynamic-bootp 10.0.0.100 10.0.0.200;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option broadcast-address 10.0.0.255;
option routers 10.0.0.1;
}

default-lease-time = Controla o tempo de renovação dos endereços de IP´s

max-lease-time = determina o tempo máximo que uma estação pode usar um determinado IP.

authoritative= Terminais mesmo que estes possuam, configurações erradas de rede, ou possuam IPs que não sejam da subnet configurada no servidor.

subnet= classe de ip

range dynamic-bootp= IP’s que seraão liberados

option domain-name-servers=  É um computador com uma espécie de banco de dados que relaciona o endereço “nominal” de um site como www.uol.com.br com o endereço real onde está a página na rede, para poder acessá-la.

option domain-broadcast-adrress=

option routers= rota do tráfego

Agora vamos criar um script do roteamento, para liberar internet.

# vi /usr/bin/firewall

OBS: pode criar com o nome de sua preferência, no meu caso criei “firewall”.

#!/bin/bash
iptables -F 
iptables -t filter -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -s 10.0.0.0/255.0.0.0 -o enp0s3 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -s 10.0.0.0/12 -j ACCEPT
iptables -A FORWARD -d 10.0.0.0/12 -j ACCEPT

iptables= é o nome da ferramenta do espaço do usuário que permite a criação de regras de firewall e NATs.

-F= apaga todas as regras

-t= parâmetro tabela

-P= define uma regra padrão

-A=acrescenta uma nova regra às existentes

-s= especifica a origem do pacote. Origem que pode ser informada como

-o= identifica a interface de saída do pacote, com a mesma sintaxe descrita acima em -i

FORWARD= consultado para dados que são redirecionados para outra interface de rede ou outra máquina

POSTROUTING= consultado para os dados que precisam ser modificados logo que chegam (DNAT e redirecionamento de portas)

ACCEPT= O pacote é ACEITO e o processamento das regras daquele chains é concluído

filter= nome da tabela

# chmod +x /usr/bin/firewall

chmod= é um utilitário via linha de comando usado nos sistemas Linux/Unix/Unix-like para mudar as permissões de um arquivo ou diretório.

+= adiciona

x= execução

# vi /etc/rc.d/rc.local

Agora vamos adicionar na ultima linha, do arquivo “rc.local” para iniciar o script “firewall” no boot.

 

 

[ x ]
 

bash /usr/bin/firewall

salve e assim, estará rodando o seu servidor. Boa Sorte!

Download dos arquivos de configurações do CentOS aqui.

em relação ao editor de texto “vi”, quem não está familiarizado, consulte aqui.

 

By user777

 

 

 

Microcontroladores 101. O inicio de uma grande jornada

1

Olá pessoal!

Nem todo mundo está familiarizado com o que é um microcontrolador.Do que se trata? Quais são seus componentes? e aonde é usado?.

Previsão do tempo utilizando o Curl Kali Linux

0

Boas Users!

A nível de curiosidade, irei demonstrar como saber a previsão do tempo no kali linux, bem vamos lá!

 

 

Comandos utilizados:

# curl wttr.in/:help
# curl wttr.in/saopaulo
# curl wttr.in/recife
# curl wttr.in/moon

 

Bem é isso pessoal!

 

By user777

Usando o AVRDUDE.

0

Olá amigos meu nome é Filipe e hoje irei apresentar um amigo antigo o AVRDUDE.

O AVRDUDE é um utilitário para realizar download/upload/manipular a memória FLASH e EEPROM de microcontroladores AVR ou seja será ele que usaremos para gravar nossos programas nos chips.

Analisando o avr-gcc

0
http://savannah.nongnu.org/
http://savannah.nongnu.org/

Olá pessoal hoje, juntos, iremos estudar um pouco mais sobre o avr-gcc.

Um dos motivos de minha pessoa gostar da marca atmel se chama avr-gcc. Não é difícil de virar fã quando algum hardware ou linguagem é suportado pela GNU Compiler Collection.

É fácil encontrar IDEs que contem o mesmo, como o codeblocks:

S2 codeblocks
S2 codeblocks

Pois é pessoal, uma IDE prontinha para ser usada para programar AVR, grátis, open e linda.

Porem iremos dar uma olhada mais de perto.Porem infelizmente contemplando só os argumentos principais pois um artigo mais detalhado seria inviável pois o manual do GCC possui mais de 20000 linhas!

No Linux é fácil ter acesso ao manual do GCC:

man gcc

O interessante é que o que vos fala perdeu um tempo considerável procurando pelo manual do avr-gcc porem esta tudo incluído no manual do GCC.

No meu primeiro artigo utilizamos o seguinte comando para compilar o código fonte em C:

avr-gcc -Os -mmcu=atmega328p blink.c -o blink.out

O “avr-gcc” o herói da historia é o programa que ira ler nosso fonte e traduzi-lo para um arquivo objeto.

A flag “-Os” significa “optimization for size”, força o compilador a reduzir o máximo o tamanho do código gerado bem como deixa-lo mais rápido.
A flag é importante para a compilação de programas que usam a biblioteca delay.h pois sem a flag as funções contidas na lib irão apresentar comportamento errático então deixe a flag como está e se esquecer da mesma e tiver usando a delay.h ira receber a seguinte saida:

# warning "Compiler optimizations disabled; functions from won't work as designed"

Outras opções de otimização bem como a descrição das mesmas estão aqui Optimize-Options

avr-gcc -Os -mmcu=atmega328p blink.c -o blink.out

A terceira flag “-mmcu” está no manual como um item de uma lista chamada AVR Options.

AVR Options:
-mmcu=mcu
-maccumulate-args
-mbranch-cost=cost
-mcall-prologues
-mint8
-mn_flash=size
-mno-interrupts
-mrelax
-mrmw
-mstrict-X
-mtiny-stack
-nodevicelib
-Waddr-space-convert

-mmcu=mcu

Nessa opção iremos especificar qual microcontrolador iremos utilizar. Nessa caso o ATMEGA328p que equipa os arduinos UNO r3. mas podemos ter outros exemplos como:

avr-gcc -Os -mmcu=attiny85 blink.c -o blink.out
avr-gcc -Os -mmcu=atmega2560 blink.c -o blink.out

Para a lista completa dos dispositivos suportados: avr-lib:manual do usuário

As outras opções são para um uso mais avançado e especifico portanto deixaremos as mesmas para uma próxima abordagem.

-o file : O avr-gcc salvara sua saída em um arquivo file que o usuário especificar. No nosso caso o blink.out. Se nada for especificado a saída será salva automaticamente em um arquivo de nome “a.out”.

-v : Printa no terminal os comandos e erros durante o processo do avr-gcc.

Bom e para concluir minha experiência: O GCC é enorme, poderoso e complexo, não tendo como simplificar os seus atributos em um único artigo. Então iremos seguir em frente, sempre explorando o que podemos daqui para frente.

Obrigado pessoal

Fontes:
http://www.atmel.com/webdoc/AVRLibcReferenceManual/using_tools_1using_avr_gcc_mach_opt.html
https://gcc.gnu.org/
http://www.nongnu.org/avr-libc/

Criando Servidor IRC no Kali Linux “InspiRCD”

0

Boas Users!

Vamos instalar o InspIRCd no kali

1- Basta abrir o terminal e inserir o seguinte comando;

#apt-get install inspircd

2-  Agora à configuração. Para tal vamos abrir o ficheiro /etc/inspircd/inspircd.conf onde devem realizar as seguintes configurações:

OBS: usarei o editor de texto “vi”, você poderá usar o editor de texto de seu gosto.

#vi /etc/inspircd/inspircd.conf

Ao nível do servidor, devem alterar os seguintes dados:

Server name
Description
Network

Configure de acordo com suas informações.

Captura de tela de 2016-07-21 00-25-10
3- Ao nível da administração,  devem  alterar os seguintes dados de acordo com a conta que pretendam criar.
Admin
Nick
Email
Captura de tela de 2016-07-21 00-25-30
4- Em termos de servidor, devem também indicar a partir de qual endereço é que o mesmo está disponível. No exemplo da imagem seguinte, consideramos o endereço 177.154.11.100 e porta 6667.
Captura de tela de 2016-07-21 00-25-50
5- O próximo passo é definir uma password  necessária para parar ou reiniciar o serviço.
Captura de tela de 2016-07-21 00-26-19
6- Vamos agora criar um conta de operador. Para tal basta procurarem pela linha que começa por <oper name=…, dentro do ficheiro de configuração.
Captura de tela de 2016-07-21 00-26-46
7- salve o arquivo e iniciei o serviço usando o comando
#service inspircd start

Estas são as configurações mínimas para que o InspIRCd funcione. No entanto há muitos outros parâmetros que podem ser consultados aqui.

Instalando a Toolchain para AVR no Debian

1

Ola pessoal!

Meu nome é Filipe e hoje irei mostrar como preparar um ambiente basico para programação de microcontroladores atmel AVR-8bits.